AWS

    [Lambda] AWS Lambda Dependency

    AWS Lambda Dependency Lambda 함수를 생성하면 해당 작업을 수행하기 위해 "Dependency"들(추가 코드 라이브러리)에 의존하는 경우가 있다. 예를 들어 Lambda가 데이터 처리를 해야 한다면 "pandas" 라이브러리를 dependency로 포함할 수 있다. Dependency 관리가 중요한 이유 1. 배포 패키지 크기 - Lambda 배포 패키지(코드 및 모든 dependency를 포함)의 크기는 함수의 시작 시간에 직접적인 영향을 미친다. - 패키지가 클수록 로드하고 초기화하는 데 시간이 더 오래 걸린다. 특히 콜드 스타트 이후에는 더욱 시간 소요가 된다. 2. Dependency 최적화 - dependency 최소화: 기능에 절대적으로 필요한 라이브러리만 포함시키자. 포..

    [Lambda] Lambda 환경의 몇 가지 고유한 특성

    1. 콜드 스타트 (따로 작성 예정) - 람다 함수는 사용하지 않으면 일정 시간 동안 유휴 상태였다가 호출이 발생할 때, 다시 함수의 새 인스턴스를 초기화한다. 이 초기화 과정에서 지연 시간이 발생하는데 이를 "콜드스타트"라고 한다. - 이를 완화하기 위해서는 함수를 주기적으로 호출해서(AWS CloudWatch 이벤트 사용)으로 Warm up할 수 있으며, 이로 콜드스타트의 지연시간을 피할 수 있다. 2. Statelessness 람다 함수는 상태를 저장하지 않는다. 다시 말해, 호출이 독립적이기 때문에 Amazon S3 또는 데이터베이스와 같은 외부 스토리지 서비스에 명시적으로 저장해야 한다. (그렇지 않으면 호출 간에 데이터가 보존 되지 않기 때문) 3. 실행 시간 제한 - 람다 함수에는 15min..