KEMBAR78
AWS Lambda와 API Gateway를 통한 Serverless Architecture 특집 (윤석찬) | PDF
AWS Lambda와 Amazon API Gateway로 만드는
Serverless Architecure 구성하기
윤석찬
@channyun
AWS 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 34
5
Amazon EC2
Container Service
Dr. Werner Vogels, Amazon.com CTO
re: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
CloudWatch
monitoring
버전 관리 및 출시 단계별 관리 가능
개발자를 위한 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

AWS Lambda와 API Gateway를 통한 Serverless Architecture 특집 (윤석찬)

  • 1.
    AWS Lambda와 AmazonAPI Gateway로 만드는 Serverless Architecure 구성하기 윤석찬 @channyun AWS Korea 테크에반젤리스트
  • 2.
    Weeks 클라우드 컴퓨팅 기술의변화 Minutes Amazon EC2 Seconds Amazon EC2 Containers Services Milliseconds AWS LambdaOn-Premises
  • 3.
    ü CPU 사용률혹은 네트워크 트래픽에 따라 자동 스케일-인/아웃 ü 수요 곡선에 따라 인스턴스 사용 가능하므로 비용 절감 가능 오토 스케일링을 통한 EC2 인스턴스 효율화
  • 4.
    10% 15% 7% 12% 20% 9% 콘테이너를 통한 EC2인스턴스 효율화 App 1 App 2 App 3 App 4 App 5 App 6 6 12 34 5 Amazon EC2 Container Service
  • 5.
    Dr. Werner Vogels,Amazon.com CTO re:Invent 2015 Keynote
  • 6.
    Amazon Simple StorageService(S3)의 장점 • 2006 AWS 시작시, 가장 범용적인 서비스로 시작 • 무제한 용량의 내구성 높은 객체 스토리지로서 다양한 쓰임새 • 정적 웹호스팅, 이미지/동영상 저장, 로그 저장, VM 이미지 백업 등 단순함 확장성 낮은 비용 신뢰성 빠른 속도
  • 7.
    인터넷 스케일 애플리케이션개발 빌딩 블록 EMAIL MESSAGING SEARCHAMAZON S3 STORAGE AWS LAMBDA FUNCTIONS AMAZON DYNAMODB DATA STORE ENCODING
  • 8.
    AWS Lambda란? 높은 확장성및 빠른 서비스 연동 서버 필요 없이 코드만 배포 함수 실행 시 100ms 단위 과금 서버 없는, 이벤트 처리 방식의 컴퓨팅 서비스 AWS Lambda = 클라우드 함수 기반 마이크로서비스
  • 9.
    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 이벤트 소스에 대한 자원 정책
  • 10.
    AWS Lambda를 통한서버없는 컴퓨팅 서비스 ② Amazon S3 파일 업로드 ③ AWS Lambda 코드 실행 ① 큰 이미지 업로드 ④ 압축 및 크기 변경 ⑤ 저장
  • 11.
    Demo: AWS Lambda로썸네일 만들기
  • 12.
    마이크로서비스(Microservices)로의 진화 • 내부서비스를 작게 분리하여 느슨하게 연결 • 작은 서비스간 인터랙션 결합 제거 (decoupling) 후, API로 통신 • 빠르고 민첩한 개발 및 클라우드 기반 확장 가능
  • 13.
    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 CloudWatch monitoring
  • 14.
    버전 관리 및출시 단계별 관리 가능 개발자를 위한 API 키 발급 및 관리 용이 API 접근 인증을 위한 Signature Ver.4 지원 백엔드 보호를 위한 요청 모니터링 및 제한 AWS Lambda 활용 Amazon API Gateway 소개
  • 15.
    API Gateway 활용이점 API 응답을 손쉽게 캐싱해서 제공 Amazon CloudFront를 활용하여 지연 속도 감소 및 DDoS 방어력 향상 iOS, Android 및 JavaScript SDK 자동 제작 Swagger 표준 형식 지원 요청/응답 데이터 변형 가능
  • 16.
    Demo: Amazon APIGateway로 API 피드 제공
  • 17.
    AWS LambdaAmazon API Gateway AWS기반 Serverless 빌딩 블럭 서버 없는 확장성 높은 컴퓨팅 서비스 마이크로서비스를 위한 REST API 처리 +α AWS Services
  • 21.
    Demo: API Gateway와Lambda 기반 간단한 모바일 백엔드
  • 22.
  • 23.
    결론 AWS Lambda를 통한서버 관리 없는 클라우드 함수 실행 가능 Amazon API Gateway를 통한 손쉬운 API 관리 가능 AWSLambda + API Gateway + 다른 AWS 관리형 서비스 = Serverless Architecuture 로 진화 가능!
  • 24.
    질문을 남겨주세요 강연에 대한설문조사 발표자료 / 녹화영상 http://bit.ly/awskr-webinar