FaaS(Function as a Service)
서버는 있지만 관리할 서버가 없음을 뜻함
코드 또는 함수를 배치하여
직접 서버를 실행하지 않기에 관리할 서버가 없고 프로비저닝한 함수만 실행
제한 시간이 있고 실행 시간이 짧음
on-demand 실행
오토 스케일링으로 프로비저닝하여 함수를 자동으로 늘리고 줄여줌
AWS 다양한 서비스 통합, 함수에 다양한 프로그래밍 언어 지원
함수당 최대 Maximum 10GB 램 프로비저닝 가능
Lambda 실행 횟수, Lambda 실행 시간
프리티어에서 1,000,000 개의 요청, 400,000 GBs 컴퓨팅 시간 제공
1,000,000 건 요청마다 20센트 과금 (건 당 $0.0000002)
1ms 단위로 요금 부과로 600,000 GBs 당 $1
런타임 API 를 구현한 이미지만 람다에서 실행 가능
모든 컨테이너 이미지가 Lambda 에서 실행 가능하지 않음
그러므로 런타임 API 를 구현하지 않은 이미지에 대해서 실행이 필요한 경우
ECS, Fargate 에서 컨테이너를 실행해야 함
1.사용자가 S3 에 썸네일을 생성하기 위해 이미지 객체를 업로드
2.trigger 를 통해 람다 함수가 실행
3.람다에서 이미지 객체를 호출하여 특정 사이즈로 줄이고 이미지의 정보를 생성
4.특정 사이즈의 이미지를 S3, 이미지 정보를 DynamoDB 에 저장
1.예시로 JAVA + Spring 을 이용한 스케쥴러 애플리케이션이 있다고 가정
2.스케쥴링에 적용한 작업 코드를 Lambda Function 에 설정
3.CloudWatch Events EventBridge 를 이용하여 특정 시간마다 트리거를 적용
4.람다는 CloudWatch 알람으로 함수를 실행
5.스케쥴링 서버를 이용하여 나오는 비용을 람다를 사용하여 대폭 줄일 수 있음
람다의 한도는 리전마다 구분됨
CloudFront 에서 지원하는 두 종류의 함수
애플리케이션에서 다른 애플리케이션에 접근하기 전에 엣지에서 로직 실행을 요구
이를 엣지 함수라 부르며 CloudFront 배포에 코드 연결함을 의미함
엣지 함수 사용시 서버 관리가 필요 없고 전역으로 배포됨
사용한 만큼의 비용 지불, 서버리스
웹 보안 및 프라이버시
엣지에서 동적 웹 애플리케이션에 사용
SEO(검색 엔진 최적화)
오리진 및 데이터 센터 간 지능형 경로
봇 완화
실시간 이미지 변환
... 많음