# AWS lambda 란?
AWS의 Serverless Computing Service이다.
Server를 Provisioning할 필요 없이 특정 이벤트에 대한 응답으로 코드를 실행할 수 있다.
즉 개발자 입장에서 따로 서버를 관리하지 않고도 비즈니스 로직 작성에만 집중하며, Application을 빌드하고 실행할 수 있도록 하는 Cloud Native 개발 모델이라고 보면 된다.
Lambda 특징
=> 완전 관리형 컴퓨팅 서비스
=> 상태 비저장 코드 실행
=> Node.js, Java, Python, C#, Go, Ruby 등 지원
=> 이벤트가 트리거되면 그에 대한 응답으로 코드를 실행하는 방식
(참조 : https://cumulus.tistory.com/11)
============================================================================================
# lambda 단점
=> Cold Start : lambda에서 처음 함수를 실행시키거나, 실행 간극이 넓어질수록 초기 응답이 늦어지는 이른바 Cold Start 현상이 이러날 수 있다.
=> 주기적으로 람다 함수를 호출하는 이른바 health check를 통해 cold start 현상을 완화시킬 수 있다. 하지만 비용적인 측면에 대한 걱정 및 간헐적 cold start 현상을 완벽하게 방지하지는 못한다.
=> lambda warmer 패키지 등을 통해서 해결하는 방법 고려해볼 수 있다.
(참조 : https://jeonghwan-kim.github.io/dev/2021/04/01/aws-lambda-cold-start.html)
============================================================================================
# AWS lambda와 비슷한 제품
- Google CoLab / Jupyter
=> GoLab은 Colaboratory의 줄임말이며, Google에서 만들었고 Jupyter를 기반으로 만들어진 Web 연구용 서비스 제품
=> Jupyter 또한 Web 기반 서비스이지만, Colab은 구글이 제공하는 서버로 작동이 이루어진다. (Jupyter는 local 서버를 이용하여 작동)
=> lambda와 마찬가지로 개발자는 사용하고자 하는 특정 library를 별도 설치할 필요가 없다.