aws cloud 2017 - aws 신규 서비스를 통해 본 클라우드의 미래 (김봉환 솔루션즈...
TRANSCRIPT
re:Invent 2016 신규 서비스를 통해 바라본 클라우드의 미래
김봉환 솔루션즈 아키텍트
고객의 변혁을 위한AWS의 3원소
Tr a n s f o r m e r
1. Development 2. Data 3. Compute
Development, Testing & Operations
Transformations
앱의 소형화위기 요소 제거 더빨라지는 배포 반응형 고객 응대 실험의 증가
개발 환경의 변화
고품질테스팅
자유로운자원 접근
빠른시장 진출
높은 생산성향상
획기적비용 개선
민첩한 개발과 테스트를 통한 이점
혁신적인 개발 관리의모범 방안을 가지고 계십니까?
Transformational Development
The Well-Architected Framework
보안성 신뢰성 성능 효율성 다양한 비용 최적성 운영 기술력
The Well-Architected Framework
• 완성도 높은 클라우드 구조설계(Well-Architected) 기반의 모범 사례 및 핵심 전략
• “여러분의 시스템은 어떻게구성 요소 장애에 대비하고있습니까?”
• “어떤 장애 복구 계획을 가지고 계십니까?”
개발 운영 기술 혁신
사전 준비 운영 대응
Prepare Operate Respond
자동화 관리
• 20개의 추가 기능
• 20여회 업데이트
• YAML 지원
• 역할 기반 스택 생성
• 세트 교환 지원
• 스택간 참조 지원
• 진행 장애시 복원
• 자원 스키마
AWS CloudFormation
Prepare
완전 관리형 Chef 서비스
AWS OpsWorksFor Chef Automate
자동화(Automation) 관리
Amazon EC2Systems Manager
관리,자동화를 위한 도구 모음
Prepare
지속적인 배포(CD)의 이점
작은 변경위기와 비용을
최소화
서비스 자동실행신뢰성과 확장성
증대
최소한 기능업데이트 신뢰성
증가
적은 코드보안성향상
Prepare
• 완전 관리형 빌드서비스(컴파일,실행 점검)
• 지속적인 통합/배포(CI/CD)를위해 완전한 자동 소프트웨어배포 워크플로 생성 지원
AWS Code Build(Operate) Operate
AWS Code Build
Source
AW S C o d e C o m m i t
Bui ld
AW S C o d e B u i l d
S t a g i n gP re - p ro d u c t i o n
P ro d u c t i o n
AW S C o d e D e p l o y
AWS Code Pipeline
Operate
• 분산 애플리케이션의 분석 및 디버그
• 마이크로서비스 아키텍처 성능 병목현상 및 오류 식별(AWS Lambda등 )
• 특정 서비스 문제점 감별 및 영향 분석
• 애플리케이션의 서비스 호출 그래프시각화
AWS X-Ray
평가판
Operate
AWS X-Ray
ü 서비스에 걸쳐 움직이는이벤트들을 시각화
ü 마이크로서비스로부터제공된 콜과 시간 추적
ü손쉬운 구성ü Lambda support
coming soon Easy setup
AWSLambda
AmazonS3
AmazonDynamoDB
Operate
AWS X-Ray
• 애플리케이션의 동적 토폴로지 화면 제공
• 마이크로서비스 컴포넌트들 간의 시각화
• 잃어버린 이벤트나 병목의 손쉬운 감지와 분석
Operate
AWS X-Ray
AWS X-Ray
fanout-00002
hello-1.mbfzqxzcpe.us-east-..
hello-2.mbfzqxzcpe.us-east-..
fanout-00005
fanout-00003
throttleDynamoDB
indexDynamoDB
fanout-00004
400 traces/minavg - 0.30 ms
1000 traces /minavg - 0.13 ms 400 traces / min
avg - 0.30 ms
1000 traces / minavg - 0.28 ms
400 traces / minavg - 0.30 ms
850 traces / minavg - 0.16 ms
Client
Cl ient
800 traces / minavg - 0.19 ms
fanout-00001
fanout-00006
560 traces / minavg - 0.19 ms
600 traces / minavg - 0.19 ms
850 traces / minavg - 0.17 ms
Operate
AWS X-Ray
• 비동기 호출시 실제 실행 시간(dwell)과 재시도(retry)를 확인• 다른 AWS 서비스로 연결되는 호출의 성능 프로파일
– 이벤트 처리시 장애 감지– 성능 이슈의 원인을 손쉽게 감지 및 해결
dwelltimes
service call times
retries
Operate
AWS Batch
• 완전 관리형 배치 처리• 애플리케이션 기반 (shell scripts,
Linux executables, Docker images) 자원 요청
• AWS take care of the rest!미리보기
Operate
AWS Batch
Native AWS Platform Integration
Operate
완전관리형 동적프로비저닝및 확장
EC2 스팟플릿비용최적화
우선순위기반큐잉과 스케쥴링
개인별 클라우드 자원 모니터링
대응웹 애플리케이션 방어 서비스
AWS PersonalHealth Dashboard
AWS SHILEDStandard
AWS SHILEDAdvanced
Respond
대응
AWS SH IELD Advanced고수준 웹 애플리케이션 방어 서비스
클라우드와치를이용한 고급 알림 기능
ELB,CF,R53비용 보호
24x7DDoS 대응팀 가동
무료WAF
Respond
MonitorProvisionDeployTestBuildCode
CodeCommit
CodePipeline
CodeDeploy
Cloud Formation
CloudWatchPersonal Health
Dashboard
OpsWorks / Chef Automate
Elastic Beanstalk
CodeBuild
X-RayShield
DevOps를 위한 관리 도구 완성
AWS DevOps 라이프 사이클
Compute
Transformations
다양한 컴퓨팅 특징
Virtual Machines Containers Serverless
Packaging Updates Execution Run time Unit of Cost
VMs AMI PatchingMulti-threaded,
multi-taskHours to months Per VM per hour
Containers Container File VersioningMulti-threaded,
single-taskMinutes to days Per VM per hour
Lambda Code VersioningSingle-threaded,
single-taskMicroseconds to seconds
Per memory/secPer request
다양한 컴퓨팅 특징
컨테이너 운영의 직면 과제
컨테이너관리
파이프라인통합
인프라관리
리소스접근
보안 태스크스케쥴
서비스디스커버리
고가용
Amazon EC2 Container Service(ECS)
클러스터 관리Cluster
Management
컨테이너오케스트레이션
Container Orchestration
AWS 통합Deep AWS Integration
AWS ECS | AWS Platform과 결합
인스턴스오토스케일링
컨테이너오토스케일링
ELB IAM VPC
CloudWatchMetrics
CloudWatchLogs
CloudWatchEvents
CloudTrail X-Ray
AWS ECS | 태스크 할당 엔진
구성 요소 기반의 스케쥴링 정책 지원
AMI ID 가용존인스턴스타입
인스턴스구분
커스터마이징
AWS ECS | 태스크 할당 전략
Beanpacking Spread Affinity Distinct Instance
C o n t a i n e r i n s t a n c e e v e n t s
Ta s k e v e n t s
AWS ECS | 이벤트 스트림
컨테이너 인스턴스 혹은 태스크의 실시간 상태 통지
AWS ECS | 개발자 요청 컨트롤
임의 스케쥴 생성Create custom schedulers
제3의 업체 스케쥴과 연동Instant 3rd party schedulers
현장 개발과테스트
Blox
컨테이너 관리 및 오케스트레이션 오픈소스 프로젝트 모음
두 개의 컨테이어 모듈 출시
cluster-state-service daemon-scheduler
36
ServerlessAWS Lambda
Serverless 플랫폼의 능력
DeveloperEcosystem
Application Modeling Framework
ResponsiveData Sources
CloudLogic Layer
Security andAccess Control
IntegrationsLibrary
GlobalScale
Orchestration andState Management
Reliability and Performance
Node . js ( JavaScr ipt )
Java ( Java 8 compat ib le )
Py thon
Amazon AP I Gateway
AWS CodeCommit
AWS CloudFormat ion
Amazon S imple Not i f i cat ion Ser v ice
Amazon S imple Emai l Ser v ice
Amazon CloudWatch
Amazon K ines i s St reams
Amazon DynamoDB
Amazon RDS
Amazon Aurora
Amazon Cogni to
Amazon S3
AWS Conf ig
AWS Lambda 현황
지원 언어 연동 지원 AWS 서비스
AWS Lambda의 AWS 서비스 통합 현황
AmazonS3
Amazon CloudFront
AmazonDynamoDB
AmazonRDS
Amazon VPC
AWS CodeCommit
AWS CodePipeline
IAM Amazon Kinesis
AWS IoT AmazonCognito
AmazonSNS
AWSMobile Hub
Amazon API Gateway
AmazonSES
AmazonSWF
AWSCloudFormation
Amazon Aurora: SQL triggers
AWS Lambda의 AWS 서비스 통합 현황
AmazonS3
Amazon CloudFront
AmazonDynamoDB
AmazonRDS
Amazon VPC
AWS CodeCommit
AWS CodePipeline
IAM Amazon Kinesis
AWS IoT AmazonCognito
AmazonSNS
AWSMobile Hub
Amazon API Gateway
AmazonSES
AmazonSWF
AWSCloudFormation
API Gateway: Pass-through mode
AWS Lambda의 AWS 서비스 통합 현황
AmazonS3
Amazon CloudFront
AmazonDynamoDB
AmazonRDS
Amazon VPC
AWS CodeCommit
AWS CodePipeline
IAM Amazon Kinesis
AWS IoT AmazonCognito
AmazonSNS
AWSMobile Hub
Amazon API Gateway
AmazonSES
AmazonSWF
AWSCloudFormation
Mobile Hub: Enterprise connectors
AWS Lambda의 AWS 서비스 통합 현황
AmazonS3
Amazon CloudFront
AmazonDynamoDB
AmazonRDS
Amazon VPC
AWS CodeCommit
AWS CodePipeline
IAM Amazon Kinesis
AWS IoT AmazonCognito
AmazonSNS
AWSMobile Hub
Amazon API Gateway
AmazonSES
AmazonSWF
AWSCloudFormation
S3: Per-object CloudTrail events
C# and .NET Core
• C#으로 AWS Lambda 함수 작성
• 아마존 리눅스상에서netcoreapp 1.0 지원
• 로깅 및 메트릭 내장• 공통 AWS 이벤트 타입 지원
(S3, SNS)
AWS Greengrass
• Greengrass는 AWS 처리 방식을Device로 연장 확장
• Low-latency, near-real time• Lambda functions run right on
the device• AWS IoT 서비스를 통한 클라우드
스토리지와 컴퓨팅 사용• BYOH – 1GHz, 128MB, x86 or ARM,
Linux
AWS Snowball Edge
• AWS 클라우드간의 빠르고 단순하며안정적인 데이타 이동 수단 제공
• 100 TB capacity
• Local S3 storage APIs
• Local Lambda functions
• 멀티미디어 트랜스코딩, 실시간 압축,커스텀 오디팅 지원
Sign up to join the preview!
Lambda@Edge
• Low-latency request/response 커스터마이징 지원
• 뷰어와 오리진 이벤트 지원• Node.js only• 50 ms max• Headers only
서버리스 신규 기능 업데이트
47
VPC 지원Node 4.3단순 프록시
API Gateway 바이너리 지원환경 변수 지원서버리스 애플리케이션 모델
AWS 서버리스 애플리케이션 모델 (“SAM”)
• 서버리스 애플리케이션의 항목 구성 언어
• CloudFormation SAM 기본 지원
• AWS Lambda 기반의 애플리케이션의 패키징과 배포를 위한 새로운 클라우드포메이션 툴 지원
• AWS Lambda 콘솔에서 SAM에 기술된 Lambda 블루프린트와 함수 추출 지원
AWS 서버리스 애플리케이션 모델
AWSTemplateFormatVersion: '2010-09-09’Transform: AWS::Serverless-2016-10-31Resources: GetHtmlFunction:
Type: AWS::Serverless::FunctionProperties:
CodeUri: s3://flourish-demo-bucket/todo_list.zipHandler: index.gethtmlRuntime: nodejs4.3Policies: AmazonDynamoDBReadOnlyAccessEvents:
GetHtml: Type: ApiProperties: Path: /{proxy+} Method: ANYListTable: Type: AWS::Serverless::SimpleTable
Functions
APIs
Storage
AWS 서버리스 애플리케이션 모델
50
“새로운 함수의 코디네이트”
함수 호출
함수 순차 실행
데이타베이스
대기열
AWS Step Functions
51
AWS Step Functions시각적 워크플로우를 이용하여분산 애플리케이션들을 조화롭게 배치
AWS Step Functions
52
• 태스크와 상태머쉰 개념을 응용• 비동기 형태로 콜백 함수 추가• 대기 모드 상황 처리 지원• 함수간 순차 실행 지원 (AàBàC)• long-running 워크플로우 지원• AWS Lambda 단계별 흐름 정의• JSON 형식의 ASL 언어 사용• 상태 머쉰의 그래픽 기반 콘솔
Reliably orchestrate multiple Lambda functions
API Gateway 와 AWS Marketplace 연동
• API들의 구성과 운영을 위하여API Gateway 사용
• 마켓 플레이스에서 자신의 APIs 판매• API 소비자들을 위하여 손쉬운 검색
과 구매 지원• 키별, 소비자별 API 사용 추적• AWS를 통한 자동화된 빌링
URL Reputation APIs
Speech understanding APIs
Monetize your microservices!
API Gateway 개발자 포털
• 개발자들로 하여금 당신의 API를 소비할 수 있도록 지원
• API Keys 벤딩• AWS Marketplace 연동• Cognito authN 지원
SAM-based implementation available on GitHub
Recap
§ 개발과 운영에서의 변화와 혁신§ 컨테이너와 마이크로 서비스§ 람다와 서버리스 아키텍쳐 트렌드
55
감사합니다