e아마존닷컴은 10년전 (1--5년
웹 서버와 데이터베이스 백엔드를
h지는 모놀리식(Monolithic)
애플리케이션이었습니다.f
A Conversation with Werner Vogels , 2006
http://queue.acm.org/detail.cfm?id=1142065
e5년전(2001년 아마존은 주요한 아키텍쳐 변화h 있었는데
2 티어(tRNr 기반에서 서로 다른 애플리케이션 기능을
제u하는 분산 서비스 플랫폼으로 변화하였습니다g
여러분이 지금 2VJboW.LoV의 첫화면에 들어온다면! 그
페이지를 생성하기 위해 100여개가 넘는 서비스를
호출하여 만들t 있습니다.f
A Conversation with Werner Vogels , 2006
e넷플릭스는 수백l의 마이크로서비스를 2HD 클라우드 기반으로
운영하t 있는 n으로 유명하다. 또한! 인터널 2A:를 기반으로
h벼운 C6DE 프로토콜을 활용하여 서비스 통신을 하t 있으며!
Netflix Internal Web Service Framework(NIWS) 그리t 이러한
다양한 서비스를 발p하기 위한 목록 w리를 위한 6urNTJ!
서비스j 유연한 소통을 위한 CRKKoW 등 클라우드 내 서비스
운영을 위한 수십l의 오픈 소스 프로젝트를
QttY.//WNtOURx.PRtQuK.Ro/ 에 ul하t 있다.f
http://techblog.netflix.com/2013/01/announcing-ribbon-tying-netflix-mid.html
How to DevTeam?
e제품 l발팀을 작o 유지하라 이렇o 하면
프로젝트를 실제로 실행h능하t 측정h능한 단위로
쪼l야만 하o 된다. 아마존의 대부분의 새로운
기능들v 서비스는 두 판의 라지 사이즈 피자로 먹일
수 있는 팀에 의하여 l발되었다.f
제프베조스의 2006년 11월 3usRWNss HNNT 인터뷰
작은 팀과 서비스에게 필요한 개발 도구?
developers delivery pipelineservices
???
• 셀프 서비스 지향
• 기술 독립적
• 베스트 프랙티스 장려
• 단일 목적의 서비스
DevOps 도구의 특징
Amazon 내부 시스템
아폴로- 배포 서비스
파이프라인 c 출시 자동화
• Deployment service
• No downtime deployments
• Health tracking
• Versioned artifacts and rollbacks
• Continuous delivery
• Automated release process
• Faster and more reliable releases
• >90% of teams
마이크로서비스 개발 사이클
developers delivery pipelinesservices
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
Amazon 내부 시스템
e수천명의 아마존 l발자들은 매일 2YoUUo를
사용하여! JJvJ! AatQoW! CuKa 앱을 웹
서비스로 네이티브 코드 서비스로 배포하t
있습니다. 지난 12l월 동안 2YoUUo는
5천만번이 넘는 개발, 테스트 및 정식
서버로 배포가 진행되었습니다. 이는 초당
한번 평균 한번 이상의 배포횟수입니다. e
HNrWNr GoPNUs! EQN Dtora oO 2YoUUo - 2VJboWds 5NYUoaVNWt 6WPRWN! 201)
QttY.//www.JUUtQRWPsMRstrRKutNM.LoV/201)/11/JYoUUo-JVJboW-MNYUoaVNWt-NWPRWN.QtVU
2HD 4oMN5NYUoa
손쉽t 믿을 수 있는 배포 방법
다양한 배포 옵션 제u
2HD 외부 서버 배포도 h능
Test
CodeDeployv1, v2, v3
Production
Dev
application
revisions
deployment groups
AWS CodePipeline
i자의 배포 단s에 맞o 파이프라인 x성 h능
제품 테스트 및 출시 속도 k소
지속적인 배포 상태 확인 h능
Build
1) Build
2) Unit test
1) Deploy
2) UI test
Source Beta Production
1) Deploy
2) Perf test
Gamma
1) Deploy canary
2) Deploy region 1
3) Deploy region 2
1) Pull
AWS CodeCommit
8Rt 코드 저장소 제u
2VJboW D(의 확장성! h용성 및 내x성 제u
tm의 요x에 맞는 암호화 기능 제u
git pull/push CodeCommit
Git objects in
Amazon S3
Git index in
Amazon
DynamoDB
Encryption key
in AWS KMS
SSH or HTTPS
AWS 코드 서비스 기반 DevOps 프로세스
1. 8RtQuK에서 642 인스턴스로 코드 배포하기
2. 4oMN4oVVRt에서 6UJstRL3NJWstJUT으로 코드 배포하기
(. 서드 파티 ENst 단s 추h 및 파이프라인 변r하기
QttYs.//aoutu.KN/v-o(FJO=1QF
AWS Lambda와 Slack을 이용한 Chat 구현
https://aws.amazon.com/ko/blogs/korea/slack-devops-with-aws-lambda-and-eb/
What’s AWS Lambda?
높은 확장성 및
빠른 서비스 연동
서버 필요 없이
코드만 배포
함수 실행 시
100ms 단위 과금
서버 없는! 이벤트 처리 방식의 컴퓨팅 서비스
2HD =JVKMJ / 클라우드 함수 기반 마이크로서비스
AWS Lambda : 동작 원리
Bring your own code
• ?oMN.Ss! JJvJ! AatQoW
• JJvJ / DLJUJ 4UoSurN 등의
어떠한 JGM기반 언어.
• 3rRWP aour owW URKrJrRNs
유연한 호출 경로
• 6vNWt 기반 호출 옵션 (여러
2HD 서비스들v 통합
• C6DE 2A: 호출 h능 (2VJboW
2A: 8JtNwJa와 연동
단순한 자원 모델
• 12,M3부터 1.583까지 6)M3
단위로 메모리 설정
• 할당된 메모리에 비례하여
4AF 및 네트웍 자원 할당
• 실제 사용량 내역 보t
효과적인 권한 통제
• 2HD :2M (:MNWtRta JWM
2LLNss MJWJPNVNWt CoUN을
사용한 실행 z한 설정
• 2HD 이벤트 소스에 대한
자원 정책
MOBILE
CHAT APP
AD DATA ANALYTICS
AND ROUTING
MOBILE APP
ANALYTICS
IMAGE CONTENT
FILTERING
REAL-TIME VIDEO
AD BIDDING
NEWS CONTENT
PROCESSING
GENE SEQUENCE
SEARCH
CLOUD
TELEPHONY
DATA
PROCESSING
WEB
APPLICATIONS
WEB APPLICATIONS
THREAT INTELLIGENCE
AND ANALYTICS
NEWS CONTENT
PROCESSING
GAME METRICS ANALYTICS
EXAMPLES OF AWS LAMBDA
NODE.JS
WEB APP
SERVER-SENT EVENT
STREAMING RESPONSE
QUERY
S3
LAMBDA
CASCADE N
LAMBDA
CASCADE 0
LAMBDA
COUNTING
FUNCTION 0
USER
LAMBDA
COUNTING
FUNCTION 0
LAMBDA
COUNTING
FUNCTION 0
LAMBDA
COUNTING
FUNCTION 0
SERVERLESS DATA PROCESSING
WEB UI CASCADE PROCESS
S3D YN AM OD B
M OBILE AN ALYTIC S
SN S
AM AZON C OGN ITO
API GATEW AY
LAM BD A
LAM BD A
LAM BD A NOTIFICATIONS
MOBILE DEVICE
MOBILE BACKEND
R D S
DATA AND
CONTENT
ANALYTICS
SERVERLESS MOBILEAPPLICATION
5oLT3Rt 서비스를 이용한 Slack 연동
ChatOps driven Continuous Delivery in 3 minutes
QttYs.//vRVNo.LoV/1(-(2(1)1
2UNxJ DTRUU KRtv 2HD =JVKMJ를 이용한
VoiceOps
QttYs.//aoutu.KN/JbKIN):HEx2
Q&A - 여러분의 피드백을 기다립니다!
• 2HD한y 사용자 모임. QttY.//JwsTr.orP
• 2HD u식 블로그. QttY.//Jws.JVJboW.LoV/To/KUoPs/TorNJ
• 2HD u식 소셜 미디어
@AWSKorea
AmazonWebServices
AWSKorea
AWSKorea