10. l “ u MI “
z ( GA p H=I
( EUbV Yf A bU MUR IU dYSU
Ue Z EAMI&
=c UZ ( r HYRR
u Xbb 5++ UbV Yf WYbXcR Y +
u m
Xbb 5++bUSXR W UbV Yf S +.,-/+,-+ c SY W) YRR )bgY W) UbV Yf) YT Xb
12. 3 i 1
u UdF a &
n
n &
n u
r 13,4 ( “ , 2/ &
5 Jb W L
S& MU U L WU a( XU Ib g V )
h a U g U b = WY U
http://www.allthingsdistributed.com/2014/11/a
pollo-amazon-deployment-engine.html
16. h l 33 W R Q
(c) Josh Evans, Mastering Chaos A Netflix Guide to Microservices, QCon SF 2016
Netflix DVD Data Center - 2000
Linux Host
Apache
Tomcat
Javaweb
STORE
LoadBalancer
BILLING
HTTP
JDBC
DB Link
HTTP/S
Monolithic code base
Monolithic database
Tightly coupled architecture
17. AN O R …
100s of microservices
1000s of daily production changes
10,000s of instances
100,000s of customer interactions per minute
1,000,000s of customers
1,000,000,000s of metrics
10,000,000,000 hours of streamed
(c) Dave Hahn, A Day in the Life of a Netflix Engineer Using 37% of the Internet, re:Invent 2015
10s of operations engineers
No Datacenter
• 2008 – Datacenter failure
(must be a better way)
• 2009 – Cloud effort starts
• 2010 – The first devices are
talking to Netflix in the cloud
(US-EAST-1)
• 2011 – EU-WEST-1
• 2013 – US-WEST-2
(active/active)
• 2015 – Migration Complete
20. Build
Stage #1 Stage #2 … Stage #N Production
Build Build Build Build
Spring
Developer/
Team
Developer/
Team
Developer/
Team
Developer/
Team
Developer/
Team
tightly coupled
21. Developer
Build
Stage #1 Stage #2 … Stage #N Production
Build Build Build Build
Bug!
Spring
Developer/
Team
Developer/
Team
Developer/
Team
Developer/
Team
tightly coupled
22. Build
Build
Build
Stage #1 Stage #2 … Stage #N Production
Build Build Build Build
Build Build Build Build
Build Build Build Build
Spring
Node.js
Ruby
onRails
Developer/
Team
Developer/
Team
Developer/
Team
Developer/
Team
Developer/
Team
loosely coupled
23. Build
Build
Developer
Build
Stage #1 Stage #2 … Stage #N Production
Build Build Build Build
Bug!
Build Build Build Build
Build Build Build Build
Spring
Node.js
Ruby
onRails
Developer/
Team
Developer/
Team
Developer/
Team
Developer/
Team
loosely coupled
24. Public API
POST /restaurants
GET /restaurants
Application/Logic
(code, libraries, etc)
Data Store
(eg, RDS, DynamoDB
ElastiCache, ElasticSearch)
x s
26. Client Application
Client Library
EVCache Client Service Client
S S S S. . .
DB DB DB DB. . .
. . . . . .
Microservice
(c) Josh Evans, Mastering Chaos A Netflix Guide to Microservices, QCon SF 2016
t—x(
28. i n
• ” & a ZR '
• Y ScYb : U ZU & 5 p
p … Y
ab& ▶ (
• R SZ &5 Y ScYb ×
=fSU bY
• “ &ER W'
• YU b IYTU C T : SU
• & ZNTJ'
• g YS IU dYSU YaS dU g
p+ HYRR ' =c UZ
29. i n
o i
rp
(c) Ruslan Meshenberg, From Asgard to Zuul, re:Invent 2014
30. … & QJ ' r“ v
Chaos Monkey
https://github.com/ne
tflix/chaosmonkey
Instance Fail?
Chaos Gorilla
Zone Fail?
Chaos Kong
Region Fail?
“
p
31. AN O R l
N NWMNWLa
Y ScYb R U ZU a( V R SZa( SX a
IY U S YU ba
=dU bc S aYabU Sg
Dc bY) UWY V Y dU
FLJ N
cb )aS Y W
HUTc T Sg k d YT IG
G bYbY UT e Z Ta
Y c U)T YdU TUaYW
X a c TU T
QJWPN
cb bUT TU YdU g
A bUW bUT SbYSUa
BZPJWRbJ R W $ 5ZLQR NL ZN
I cbY a VY ab( bU aUS T
(c) Josh Evans, Mastering Chaos A Netflix Guide to Microservices, QCon SF 2016
34. 5HF v
Building a Microservices
Gaming Platform for
Turbine Mobile Games
(2016)
From Monolithic to
Microservices Evolving
Architecture Patterns in
the Cloud (2016)
Developing Mobile Apps and
Serverless Microservices for
Enterprises using AWS
(2016)
Pure Play Video OTT- A
Microservices Architecture
(2015)
Nike's Journey into
Microservices (2014)
A Journey to
Microservices (2015)
마t크로dai 기반 모바u
dai 마t그레tg (20#6
마t크로 dai m키텍처로
방h dai 진화 (20#6
cfw자 IBT dai
마t크로dai L축 b례
36. - ) v
S3
CloudFront
RDS
ElastiCache
EC2
Elastic Load
Balancing
EC2
Elastic Load
Balancing
Static
Content
Content
Delivery
API
Layer
Application
Layer
Persistency
Layer
Auto Scaling
Group
Auto Scaling
Group
37. I v 5C= m
GA ? =M O ) I Y W cT Pcc
Xbb 5++e e R a WYbXcR Y + #T+.,-3+,2+-/+ YW bUe g Xb
1,u =C:
38. -- h
I Y W cT DYS IU dYSUa u
Xbb 5++ U T U aZ Ub S +7 6-/34.
39. -- h
• p
• x GA
“ Pcc t 5C= m
•
• EUbV Yf FII“ y
40. . ) z v
S3
CloudFront
RDS
ElastiCache
EC2
Application
Load
Balancing
Static
Content
Content
Delivery
API
Layer
Application
Layer
Persistency
Layer
API
Gateway
EC2 Container
Service
Auto Scaling
Group
41. FJ WP WWNL
CONNECT EVEN MORE WITH
(c) 장수백(삼성전자), Samsung Connect 마이크로서비스 도입 사례, AWS Summit 2016
42. FJ WP WWNL
2,' YS bY Tc Ua
0 TYVVU U b W R bU a
D aaYdU b VVYS
IUSc U( aS R U T U Y R U
QJ NWPN F R W
RLZ NZ RLN 5ZLQR NL ZN W 5HF
D YbXYS b Y U)W Y UT
cb bY T
A TU U TU b TU g U b
= . b Y U a # cb IS Y W
cb ca+ USU b YhUT
(c) 장수백(삼성전자), Samsung Connect 마이크로서비스 도입 사례, AWS Summit 2016
44. = .
G c R Y a X
U b Y S a
D P F E
C F K M @
= C I A C F
: C E A E ?
c b I S Y W
= I a U d Y S U
d Y R Y Y
b g P U
d Y R Y Y
b g P U :
I S U Y +
I S U c b
Y S Y U a
T T + U d U
= I b a Z a
DYS aU dYSU -
DYS aU dYSU .
DYS aU dYSU /
FJ WP WWNL z r“ s
Microservices Architecture - Automatic Service Scaling
(c) 장수백(삼성전자), Samsung Connect 마이크로서비스 도입 사례, AWS Summit 2016
48. = abYS
C T : SU MI F ae Za
eee dY W U Ub
Y- dY W U Ub
= .
: + SXU
= .
= .
v … s
MUR aU dU +
: SZW c T M ZU +
H=I GA +
FHD +
:caY Uaa WYS
UUT
IU SX
T M YbY W
T Y
I
(c) 이상현(빙글), Vingle의 AWS 기반 서버리스 마이크로 서비스 구현 사례
49. API Gateway
Lambda
DynamoDB
(List of spam keywords)
POST /api/validates
Body: {
data: “ABCDEFG”
}
“ )
(c) 이상현(빙글), Vingle의 AWS 기반 서버리스 마이크로 서비스 구현 사례
50. “ ) 2j c
§ EUbV Yf t Ib W U G bbU
SXYbUSbc U
§ “ GA p
( GA “
H=I @ G
§ cTe bSX
§ r U U TU Sg
§
u + +
(c) 이상현(빙글), Vingle의 AWS 기반 서버리스 마이크로 서비스 구현 사례
51. ?N W ?NJZWNM) RLZ NZ RLN RPZJ R W
- h o v “
• p “ × ”
• p z +u
. 6 RWN JRW s
• U N&( = T)G Y b N&( V GAa
• SXU N&( b R aU N&
• UUT F&( E bYVYS bY F&
/ l
• u + GA
• H=I GA Ie WWU
(c) 이상현(빙글), Vingle의 AWS 기반 서버리스 마이크로 서비스 구현 사례
52. - 5HF a) JWJPNM NZ RLN u
• IU SX DYS aU dYSU o C RT ' cTaU SX
• UUT DYS aU dYSU o C RT ' g : ' BY UaYa Ib U
. =WOZJ Z L ZN)J )J) MN &5HF M Z J R W'
• r … ( MI
• MI cT bY +
?N W ?NJZWNM ) M =WOZJ Z L ZN
(c) 이상현(빙글), Vingle의 AWS 기반 서버리스 마이크로 서비스 구현 사례
54. - j
Microservices
작은 서비스 개발
단위로 쪼개 API로
연동하여 개발 민첩성
및 독립적 배포 가능
Two-Pizza Team
서비스 개발 및 배포
운영 등을 모두 맡는
자율적이고 오너쉽을
가진 팀 구성 및 문화
Automation
개별팀이 자신의
서비스 개발 에만
집중할 수 있는
자동화 도구 제공
55. “Any organization that designs a system
will inevitably produce a design whose
structure is a copy of the organization’s
communication structure.”
Melvin E. Conway, 1967
Conway’s Law
56. public API public API
DynamoDB
Micro-service A Micro-service B
. j o s
폴리PT(1BlIglBt 접O 방kr 통한 dai m키텍처 e택
Amazon
Elasticsearch
Service
RDS
Aurora
y A !
59. Xbb a5++ ea h S +Z +R Wa+S cbU+WU U
bU)g c ) e ) Y)W bUe g)TUdU U ) b +
Xbb a5++ ea h S +Z +R Wa+S cbU+ UbYhU)
g c ) Ya)Y ) ea) ZUb SU)caY W) Y)W bUe g+
5C= J N Ja N N NZ C Z J
IU dU Uaa YS bY D TU I D&
5C= WN RbJ R W RW JZTN JLN
MI D ZUb SU GA
p”
1 5C= p
62. 5HF MNF JZ
Source Build Test Production
Third Party
Tooling
AWS 데브옵스를 위한 지속적 통합(CI)
전달(CD) 및 프로젝트 운영
AWS CodeCommit AWS CodeBuild
AWS CodeDeploy
AWS Elastic Beanstalk
AWS CloudFormation
AWS CodePipeline
AWS CodeStar
AWS IAM
Amazon
CloudWathch
3rd Party Extensions
63. d ZNN 5 J RJW =E5 OONZ
First 2,000 CodeStar users to sign up for JIRA Software
through AWS CodeStar - Receive a free 5-person license
of JIRA
First time JIRA ever offers a free version of software
Offer only available for a very limited time
AWS
Only
64. d 5HF MNF JZ 1, ZNMR
AWS
Only
http://bit.ly/awskr-feedback
등록하시면 AWS 50달러 크레딧을 받으실 수 있는 URL을 이메일로 보내드립니다!
65. i .,-3( h MUR IU dYSUa( A S Yba VVY Y bUa YWXba UaU dUT
… s
D$5
8SX gc
SX gR W
SX g S U bY Ub