AWS Lambda 개념, 유스케이스
AWS Lambda
람다는 무엇인가?
람다 자체로 이해하기보다는 EC2와 비교해서 보는 것이 더 이해하기 쉽다.
EC2 Computing과 다른 형태의 Computing 자원이다.
EC2는 사용자가 임의로 환경을 커스터마이징하여 Computing서버로서 사용할 수 있다.
Lambda는 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 한다.
개발자 입장에서는 서버 없이 쓸 수 있어서 serverless computing의 대표 사례이다.
람다 특징
Lambda는 필요 시에만 함수를 실행한다.
일일 몇 개의 요청에서
초당 수천 개의 요청까지 자동으로 확장이 가능.
사용한 컴퓨팅 시간만큼만 비용을 지불하고,
코드가 실행되지 않을 때는 요금이 부과되지 않는다.
일일 몇 개의 요청에서
초당 수천 개의 요청까지 자동으로 확장이 가능.
사용한 컴퓨팅 시간만큼만 비용을 지불하고,
코드가 실행되지 않을 때는 요금이 부과되지 않는다.
꽤나 합리적일 것 같지만 트래픽 및 요청이 많은 비즈니스 로직에 람다를 쓰면
요금이 많이 부과될 수 있기에 잘 판단해야한다.
요금이 많이 부과될 수 있기에 잘 판단해야한다.
코드 용량이 최대 250MB 이다.
함수 실행 시간은 최대 15분이다.
첫 함수 호출시 Cold Start로 인한 지연시간이 발생한다.
언제 쓸 것인가
쓰는만큼 비용이 나간다는 양날의 칼을 가지고 있다.때문에 트리거가 자주 일어나는 로직에 람다를 쓰기보다는
특정한 조건에만 실행시키는 경우에 유용하다.
서버 띄우지 않고 간단한 코드를 실행시키고 싶은 경우 -> 배치 작업
특정 주기로 코드를 실행시켜야 하는 경우 -> 스케줄링
트리거가 실행될때만 코드를 실행시키고 싶은 경우 -> 이벤트
특정한 조건에만 실행시키는 경우에 유용하다.
서버 띄우지 않고 간단한 코드를 실행시키고 싶은 경우 -> 배치 작업
특정 주기로 코드를 실행시켜야 하는 경우 -> 스케줄링
트리거가 실행될때만 코드를 실행시키고 싶은 경우 -> 이벤트
람다를 더 잘 활용하려면
아마존에서는 다음과 같은 선수 지식을 요구한다.
Linux OS 및 명령어뿐만 아니라 프로세스, 스레드 및 파일 권한과 같은 개념이 필요
클라우드 개념 및 IP 네트워킹 개념(프라이빗 및 퍼블릭 네트워크용)
IPC(프로세스간 통신)로서
HTTP, 대기열, 메시징, 알림 및 동시성과 같은 분산 컴퓨팅 이해보안 서비스 및 개념에 익숙함
AWS Identity and Access Management(IAM) 및 액세스 제어 원칙,
AWS Key Management Service(AWS KMS) 및 퍼블릭 키 인프라Lambda와 상호 작용하는 다음의 주요 서비스에 익숙함
Amazon API Gateway, Amazon S3,
Amazon Simple Queue Service(Amazon SQS),
DynamoDB.Linux를 사용하여 EC2 인스턴스 구성
참고
aws-customer cases
댓글
댓글 쓰기