Serverless
• 서버를 사용자가 관리할 필요가 없다는 의미
• 실제로 서버는 존재하며 서버 인프라 운영은 AWS등의 클라우드 회사에서 담당
• AWS에서 용량조정, 프로비저닝, 패치 등의 인프라를 관리
• 사용자는 필요한 애플리케이션을 구축해서 사용하기만 하면 됨
• 대표적인 AWS 서버리스 서비스
✓ AWS Lambda, AWS Fargate
✓ Amazon S3, DynamoDB, Amazon Aurora Serveless
✓ Amazon SNS , Amazon SQS, API Gateway
Lambda
• 코드를 실행하여 동작하는 서버리스 컴퓨팅
• EC2는 서버를 시작하고, 애플리케이션을 설치하고 서버가 계속 실행되며 사용자가 직접운영 해야함
• Lambda는 AWS에서 서버 운영에 필요한 모든 인프라를 관리
• Lambda 사용자는 코드를 입력하여 실행만 하면 됨
• Lambda 요청할 때에만 시스템을 사용하는 온디맨드 방식의 이벤트 중심의 실행
• Lambda는 사용한 만큼만 비용을 지불 (코드를 실행한 횟수와 실행한 시간으로 과금)
• EC2는 Auto Scaling기능을 사용해 서버를 확장하지만 Lambda는 사용량이 늘어나면 자동으로 용량이 확
장되므로 용량 계획이 필요 없고 확장성이 뛰어남
• 다양한 프로그래밍 언어를 지원 (Node.js, Python, Java, C#, Ruby 등)
• AWS Lambda 함수는 실행당 최대 15분 동안 하도록 구성 (1초에서 15분 사이의 값으로 제한 시간을 설정)
• 동시에 처리가능한 실행 수는 1000건이며 요청을 통해 한도 증가 가능
• Lambda는 독립적으로 사용하지 않고 다른 서비스와 결합하여 사용됨
• 결합서비스: API Gateway, Kinesis, DynamoDB, SNS, SQS, S3, CloudFornt 등