aws lambda와 api gateway를 통한 serverless architecture 특집 (윤석찬)

24
AWS Lambda와 Amazon API Gateway로 만드는 Serverless Architecure 구성하기 윤석찬 @channyun AWS Korea 테크에반젤리스트

Upload: amazon-web-services-korea

Post on 16-Apr-2017

6.063 views

Category:

Technology


6 download

TRANSCRIPT

AWS Lambda와 Amazon API Gateway로 만드는

Serverless Architecure 구성하기

윤석찬

@channyunAWS Korea 테크에반젤리스트

Weeks

클라우드 컴퓨팅 기술의 변화

Minutes

Amazon EC2

Seconds

Amazon EC2 Containers Services

Milliseconds

AWS LambdaOn-Premises

ü CPU 사용률 혹은 네트워크 트래픽에 따라 자동 스케일-인/아웃ü 수요 곡선에 따라 인스턴스 사용 가능하므로 비용 절감 가능

오토 스케일링을 통한 EC2 인스턴스 효율화

10%

15%

7%

12%

20%

9%

콘테이너를 통한 EC2 인스턴스 효율화

App 1 App 2

App 3 App 4

App 5 App 6

6

12 345

Amazon EC2 Container Service

Dr. Werner Vogels, Amazon.com CTOre:Invent 2015 Keynote

Amazon Simple Storage Service(S3)의 장점

• 2006 AWS 시작시, 가장 범용적인 서비스로 시작• 무제한 용량의 내구성 높은 객체 스토리지로서 다양한 쓰임새• 정적 웹호스팅, 이미지/동영상 저장, 로그 저장, VM 이미지 백업 등

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

인터넷 스케일 애플리케이션 개발 빌딩 블록

EMAIL MESSAGING

SEARCHAMAZON S3

STORAGE

AWS LAMBDA

FUNCTIONS

AMAZON DYNAMODB

DATA STORE

ENCODING

AWS Lambda란?

높은 확장성 및빠른 서비스 연동

서버 필요 없이코드만 배포

함수 실행 시100ms 단위 과금

서버 없는, 이벤트 처리 방식의 컴퓨팅 서비스AWS Lambda = 클라우드 함수 기반 마이크로서비스

AWS Lambda : 동작 원리

Bring your own code• Node.js, Java, Python• Java = Scala Clojure 등의

어떠한 JVM기반 언어.• Bring your own libraries

유연한 호출 경로• Event 기반 호출 옵션 (여러

AWS 서비스들과 통합)• REST API 호출 가능 (Amazon

API Gateway와 연동)

단순한 자원 모델• 128MB부터 1.5GB까지 64MB

단위로 메모리 설정• 할당된 메모리에 비례하여

CPU 및 네트웍 자원 할당• 실제 사용량 내역 보고

효과적인 권한 통제• AWS IAM (Identity and

Access Management) Role을사용한 실행 권한 설정

• AWS 이벤트 소스에 대한자원 정책

AWS Lambda를 통한 서버없는 컴퓨팅 서비스

② Amazon S3 파일 업로드③ AWS Lambda

코드 실행

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

⑤ 저장

Demo: AWS Lambda로 썸네일 만들기

마이크로서비스(Microservices)로의 진화

• 내부 서비스를 작게 분리하여느슨하게 연결

• 작은 서비스간 인터랙션 결합제거 (decoupling) 후, API로통신

• 빠르고 민첩한 개발 및 클라우드기반 확장 가능

4. API Gateway를 통한 손쉬운 REST 서비스 만들기

Internet

Mobile apps

Websites

Services

API Gateway

AWS Lambda functions

API Gateway cache

Endpoints on Amazon EC2/AWS Elastic Beanstalk

Any other publicly accessible endpoint

Amazon CloudWatchmonitoring

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

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

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

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

AWS Lambda 활용

Amazon API Gateway 소개

API Gateway 활용 이점

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

Amazon CloudFront를 활용하여 지연 속도 감소 및DDoS 방어력 향상

iOS, Android 및 JavaScript SDK 자동 제작

Swagger 표준 형식 지원

요청/응답 데이터 변형 가능

Demo: Amazon API Gateway로 API 피드 제공

AWS LambdaAmazon API Gateway

AWS 기반 Serverless 빌딩 블럭

서버 없는 확장성높은 컴퓨팅 서비스

마이크로서비스를위한 REST API 처리

+αAWS Services

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