You are on page 1of 24

AWS Lambda와 Amazon API Gateway로 만드는

Serverless Architecure 구성하기

윤석찬
AWS Korea 테크에반젤리스트
@channyun
클라우드 컴퓨팅 기술의 변화

Weeks Minutes Seconds Milliseconds

Amazon EC2 AWS Lambda


On-Premises Amazon EC2 Containers Services
오토 스케일링을 통한 EC2 인스턴스 효율화
ü CPU 사용률 혹은 네트워크 트래픽에 따라 자동 스케일-인/아웃
ü 수요 곡선에 따라 인스턴스 사용 가능하므로 비용 절감 가능
콘테이너를 통한 EC2 인스턴스 효율화

10% 12%
App 1 App 2

6 5
15% 20% 4 2 3 1
App 3 App 4

Amazon EC2
Container Service
7% 9%
App 5 App 6
Dr. Werner Vogels, Amazon.com CTO
re:Invent 2015 Keynote
Amazon Simple Storage Service(S3)의 장점

단순함 확장성 낮은 비용 신뢰성 빠른 속도

• 2006 AWS 시작시, 가장 범용적인 서비스로 시작


• 무제한 용량의 내구성 높은 객체 스토리지로서 다양한 쓰임새
• 정적 웹호스팅, 이미지/동영상 저장, 로그 저장, VM 이미지 백업 등
인터넷 스케일 애플리케이션 개발 빌딩 블록

STORAGE DATA STORE FUNCTIONS

EMAIL MESSAGING

ENCODING AMAZON
AMAZON S3 SEARCH AWS LAMBDA
DYNAMODB
AWS Lambda란?

서버 없는, 이벤트 처리 방식의 컴퓨팅 서비스


AWS Lambda = 클라우드 함수 기반 마이크로서비스

서버 필요 없이 높은 확장성 및 함수 실행 시
코드만 배포 빠른 서비스 연동 100ms 단위 과금
AWS Lambda : 동작 원리

Bring your own code 단순한 자원 모델


• Node.js, Java, Python • 128MB부터 1.5GB까지 64MB
단위로 메모리 설정
• Java = Scala Clojure 등의
• 할당된 메모리에 비례하여
어떠한 JVM기반 언어.
CPU 및 네트웍 자원 할당
• Bring your own libraries • 실제 사용량 내역 보고

유연한 호출 경로 효과적인 권한 통제
• Event 기반 호출 옵션 (여러 • AWS IAM (Identity and
AWS 서비스들과 통합) Access Management) Role을
• REST API 호출 가능 (Amazon 사용한 실행 권한 설정
API Gateway와 연동) • AWS 이벤트 소스에 대한
자원 정책
AWS Lambda를 통한 서버없는 컴퓨팅 서비스

① 큰 이미지 업로드 ④ 압축 및 크기 변경

⑤ 저장

③ AWS Lambda
② Amazon S3 파일 업로드 코드 실행
Demo: AWS Lambda로 썸네일 만들기
마이크로서비스(Microservices)로의 진화

• 내부 서비스를 작게 분리하여
느슨하게 연결
• 작은 서비스간 인터랙션 결합
제거 (decoupling) 후, API로
통신
• 빠르고 민첩한 개발 및 클라우드
기반 확장 가능
4. API Gateway를 통한 손쉬운 REST 서비스 만들기

API Gateway
cache
AWS Lambda
Mobile functions
apps
API
Gateway
Internet Any other publicly
Websites Endpoints on accessible
Amazon EC2/AWS endpoint
Elastic Beanstalk

Services
Amazon
CloudWatch
monitoring
Amazon API Gateway 소개

버전 관리 및 출시 단계별 관리 가능

개발자를 위한 API 키 발급 및 관리 용이

API 접근 인증을 위한 Signature Ver.4 지원

백엔드 보호를 위한 요청 모니터링 및 제한

AWS Lambda 활용
API Gateway 활용 이점

API 응답을 손쉽게 캐싱해서 제공

Amazon CloudFront를 활용하여 지연 속도 감소 및


DDoS 방어력 향상

iOS, Android 및 JavaScript SDK 자동 제작

Swagger 표준 형식 지원

요청/응답 데이터 변형 가능
Demo: Amazon API Gateway로 API 피드 제공
AWS 기반 Serverless 빌딩 블럭


Amazon API AWS Lambda AWS Services
Gateway

마이크로서비스를 서버 없는 확장성
위한 REST API 처리 높은 컴퓨팅 서비스
Demo: API Gateway와 Lambda 기반
간단한 모바일 백엔드
Serverless Frameworks의 출현

https://github.com/serverless/serverless https://github.com/claudiajs/claudia
결론

AWS Lambda를 통한 서버 관리 없는 클라우드 함수 실행 가능


Amazon API Gateway를 통한 손쉬운 API 관리 가능

AWSLambda + API Gateway + 다른 AWS 관리형 서비스


= Serverless Architecuture 로 진화 가능!
질문을 남겨주세요

강연에 대한 설문조사

발표자료 / 녹화영상
http://bit.ly/awskr-webinar

You might also like