인파

You Can Become A

늦게 시작해도 누구든지 노력하면 개발자가 될수 있어요 !

공부한 내용을 정리합니다
Amazon Cloud/Lambda

[AWS] 📚 람다 /tmp 임시 스토리지 사용 방법

람다 /tmp 임시 파일 추출, 변환, 로드 작업과 PDF 파일 생성 또는 미디어 처리와 같은 데이터 집약적인 애플리케이션일 경우, 대용량 데이터를 잠시 어딘가에 저장해야 할 필요가 생긴다. 단순하게 람다 자체 내에서 변수로 저장하게 되면 안그래도 적은 람다 메모리를 코드 실행이 아닌 데이터 저장에 성능을 뺏겨버릴수가 있다. 그래서 Lambda 에서는 /tmp 임시 공간을 무료로 제공해준다. /tmp 영역은 말 그대로 람다에서 파일을 저장할 수 있는 로컬 스토리지 영역이다. 람다에서 이곳에 파일을 저장하고 저장된 파일을 꺼내 쓸 수 있다. /tmp 영역은 람다의 실행 환경의 수명 동안 보존되며, 호출 사이의 데이터에 대한 임시 캐시를 제공한다. 따라서 람다 컨테이너가 종료 되고 새 실행 환경이 생성될 때..

category_image
인파_
2022.08.25
(0)
Amazon Cloud/Lambda

[AWS] 📚 람다 - 이미지 리사이징 서비스 (S3 / API Gateway) 구현하기

이미지 리사이징 작업 같은 경우 CPU와 메모리를 많이 사용하기 때문에 로컬 서버에서 작업을 돌려버리면 다른 사용자의 요청을 못받는 현상이 생길수 있다. 특히나 싱글 스레드 기반으로 돌아가는 노드 서버일 겨우 성능 감소의 큰 원인이 된다. 노드는 비동기 프로그래밍 기반으로 I/O작업에 유리하고 CPU 작업에 불리하기 때문이다. 그렇다고 따로 이미지 리사이징 전용 로컬 서버를 만들어 올린다 해도, 모든 사용자가 항상 이미지 리사이징 작업 기능을 이용하는 것도 아니기에 서버를 계속 돌린다는 것은 자원 낭비일수 있다. 바로 이러한 상황에서 서버리스의 서비스는 힘을 발휘한다. 람다는 특정한 동작을 수행하는 로직을 저장하고 요청이 들어올 때 로직을 실행하는 서비스다. 마치 함수처럼 호출할 때 실행하여 FaaS라고..

category_image
인파_
2022.08.19
(0)
Amazon Cloud/Lambda

[AWS] 📚 람다 Provisioned Concurrency(프로비저닝된 동시성) 설정 방법

AWS Lambda 즉, 서버리스 에는 Cold Start 라는 개념이 존재한다. 사용자로부터 요청을 받으면 함수를 실행할 수 있는 런타임 환경을 준비한 뒤 함수를 실행하게 되는데, 이러한 런타임 환경 준비 기간동안 코드 실행 지연이 불가피하게 생기게 되며, 또한 함수를 지속적으로 사용하지 않아 런타임이 꺼지거나 함수를 새롭게 업데이트 했다면, Lambda 는 또 새로운 런타임 환경을 준비하는 시간을 갖게 되어 결국 서비스 이용에 지연이 생기게 된다. 따라서 이러한 고질적인 문제를 해결하기 위해 생성된 기능이 Provisioned Concurrency(미리 준비된 동시성) 이며, Provisioned Concurrency 는 Lambda 함수를 지속적으로 초기화하며 런타임 환경을 준비함으로써, 사용자의 ..

category_image
인파_
2022.08.18
(0)
Amazon Cloud/Lambda

[AWS] 📚 람다 성능 개선 (Cold Start 해결) 전략 4가지

알다시피, 람다함수가 들어있는 서버리스의 항상 활성화 되어 있지 않다. 그래서 사용자의 요청이 들어왔을때 람다함수를 실행하기 위한 부수적인 준비 세팅이 필요하고 이로인해 대략 수초~수십초 정도 코드 딜레이가 발생되게 된다. 바로 이 상태를 Cold Start 라고 불리우며, 이 때문에 람다의 최대 단점인 상대적으로 느린 response를 제공받게 되는 것이다. 그럼 이 콜드 스타트를 최소화하고 어떤 방식으로 함수 로직을 구현해야 빠르고 최적화된 코드실행을 할수 있을까? 지금 부터 람다 성능을 높이는 전략에 대해 알아보자. Lambda 메모리 늘리기 Lambda의 사양을 올리는 가장 확실하면서 간단한 방법은 해당 Lambda에 적용되는 메모리의 양을 늘리는 것이다. 메모리를 올리면 인스턴스의 사양이 올라가..

category_image
인파_
2022.08.17
(0)
Amazon Cloud/Lambda

[AWS] 📚 람다 - 함수 버전(version) & 별칭(alias) 기능

서버리스라고 해서 간편하게 함수에 코딩만 하고 트리거로 AWS 서비스와 연동한뒤 배포만 하면 될 줄 알았더니, 람다 함수 버전이라던가 별칭이라는 생소한 요소에 당황하였을 테지만, 람다의 버저닝과 별칭은 전혀 새로운 개념이 아니다. 람다는 EC2 같이 컴퓨팅이 아니라 코드 베이스 단이다. 즉, 언제어디서 소스 코드(함수)를 업데이트 할 수 있으며, 업데이트된 함수 서비스를 소비자에게 제공하게 된다. 그러다 업데이트된 함수 코드에 문제가 생기면 롤백을 하던지, 버그 수정을 하고 다시 새로 배포하던지..등, 람다 함수를 보다 체계적인 관리를 해야하는 형상 관리가 필요해지게 된다. 형상 관리라고 하니 개발자이신 독자분의 머릿속엔 한가지 단어가 떠올랐을 것이다. 그렇다 GIT 이다. 람다의 버저닝은 GIT의 버저..

category_image
인파_
2022.08.16
(0)
Amazon Cloud/Lambda

[AWS] 📚 람다 코드 에디터 색상 바꾸기

람다 코드 에디터 커스텀 기본으로 설정되어 있는 람다 코드 부분의 에디터는 가독성이 그렇게 좋지 않다. 하지만 코드 소스 설정 부분에 꽤 다양한 커스텀 theme을 지원하니 트라이 해보는 것도 나쁘지 않다.

category_image
인파_
2022.07.23
(0)
Amazon Cloud/Lambda

[AWS] 📚 람다(Lambda) 요금 정책 & 계산법

Lambda 요금 정책 구분 FreeTier 해당건수 요청건수 월별 무료 요청 1백만 건 컴퓨팅 시간 월별 400,000GB-초 컴퓨팅 시간 Lambda 함수는 함수를 실행하는 데 걸리는 시간 동안만 비용을 청구한다. 그리고 해당 시간은 실행을 시작할 때부터 리턴되거나 종료 될 때까지 계산된다. 또한 계산된 시간은 100ms 단위로 올림처리된다. AWS는 실행 완료 후에도 Lambda 함수로 컨테이너를 유지할 수 있지만, 이를 청구하지는 않는다. Lambda는 매우 관대한 프리티어를 제공하여 사실상 프리티어 유저는 람다를 거의 공짜로 쓸수 있는 수준이다. Lambda 프리 티어에는 한 달에 백만회의 의 무료 요청과 한 달에 400,000GB-초의 컴퓨팅 시간이 포함된다. 단, 이 기간이 지나면 100만 ..

category_image
인파_
2022.07.09
(0)
Amazon Cloud/Lambda

[AWS] 📚 람다(Lambda) 트리거 기본 사용법 (S3 / API Gateway)

Lambda 트리거 기능 람다 트리거란, 람다 함수를 실행할 수 있는 이벤트를 일컫는다. 간단하게 예를 들면, S3에 파일이 적재되면 이를 이벤트로 받아 람다 함수를 실행 할 수도 있고, 브라우저에 url을 치면 rest api로서 람다 함수를 실행 할 수도 있다. 이처럼 람다는 다른 AWS 서비스와 유기적으로 연동될 수 있다는 점에서 굉장히 파워풀 하다고 볼 수 있다. 람다 함수를 테스트할때 눌렀던 테스트 버튼 역시 람다 트리거의 일종이라고 볼 수 있다. 람다 트리거는 다음과 같이 변화나 호출 같은 이벤트가 발생할 경우 함수 코드가 돌아가게 하여 값을 반환하게 할 수 있다. 데이터변화 : DB 데이터가 바뀌면 람다 함수 실행 API Endpoint와 결합을 시켜서 직접 또는 Endpoint로 호출 리소..

category_image
인파_
2022.05.13
(0)
Amazon Cloud/Lambda

[AWS] 📚 람다(Lambda) 개념 & 사용법 💯 총정리

AWS Lambda AWS 람다(Lambda)는 서버리스 컴퓨팅 FaaS 상품이다. 서버리스란 개발자가 서버를 관리할 필요 없이 애플리케이션을 빌드하고 실행할 수 있도록 하는 클라우드 네이티브 개발 모델이다. 즉, 클라우드 제공업체가 서버 인프라에 대한 프로비저닝, 유지 관리 등을 대신 처리해주기 때문에, 개발자는 조금 더 비즈니스 로직 작성에만 집중할 수 있게 된다. [WEB] 🌐 서버리스(ServerLess) 개념 💯 정리 (BaaS / FaaS) 서버리스 아키텍쳐(Serverless) 란? 서버리스(Serverless)는 직역하면 "서버가 없다"라는 뜻이 된다. 하지만 정말로 서버가 없는 것을 뜻하는게 아니다. 서비스를 하는데 있어 어찌되었든 저장소는 필 inpa.tistory.com 다시 본론으로..

category_image
인파_
2022.05.13
(0)