Successfully reported this slideshow.
Your SlideShare is downloading. ×

마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)

마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)

Download to read offline

마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례에 대해 Netflix를 비롯하여 SK Planet, 배달의 민족, 삼성전자 등 다양한 국내 사례를 모아서 알려드립니다.

마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례에 대해 Netflix를 비롯하여 SK Planet, 배달의 민족, 삼성전자 등 다양한 국내 사례를 모아서 알려드립니다.

More Related Content

Slideshows for you

Similar to 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)

More from Amazon Web Services Korea

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)

  1. 1. i .,-3( h MUR IU dYSUa( A S Yba VVY Y bUa YWXba UaU dUT … s 8SX gc
  2. 2. v j • EY U0c u F • c UdU U a E C R& • u MI • 8SX gc SX gR W SX g S U bY Ub
  3. 3. - ▶ . MI / u
  4. 4. - ▶
  5. 5. “ D YbX DYS aU dYSUa c SbY a ▶ r“ i
  6. 6. " “ g "GQN O ZN R J ZNJMa QNZN e R S W NZa N NW a MR ZR NM g “ w
  7. 7. U U aUbUabRcY T uu IX UT YR YUa IX UT T b f W R Q g j
  8. 8. “Monolith ” 장기 개발 사이클 (다수개발자 공동 참여) 운영의 어려움 (특정 모듈 장애시) 애플리케이션 확장성 애로 l규 출시o 몇 St 걸림 l규 기R 추Jo n려p m키텍처 유y 진화s n려p 혁신 저해 고객 불만족 민첩성 저해
  9. 9. !
  10. 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
  11. 11. 5 Jb W L “
  12. 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
  13. 13. k & J ' • ) © • c “ ( ( y -,, u u “ u © • u GA • • • c w GA c ( GA © p7 • GA i c GAa5 b P ) GA DUUbc .,-0 https://www.slideshare.net/Channy/daum-ap-is-in-api-meetup-2014
  14. 14. SOA (Interface) DevOps(Culture) k
  15. 15. ) ” https://www.youtube.com/watch?v=OczG5FQIcXwhttps://www.youtube.com/watch?v=-mL3zT1iIKw s !
  16. 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. 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
  18. 18. “service-oriented architecture composed of loosely coupled elements that have bounded contexts” Adrian Cockcroft (VP of Cloud Architecture @ AWS, former Cloud Architect at Netflix) 4
  19. 19. © ( GA “ ( “ “service-oriented architecture composed of loosely coupled elements that have bounded contexts” Adrian Cockcroft (VP of Cloud Architecture @ AWS, former Cloud Architect at Netflix)
  20. 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. 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. 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. 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. 24. Public API POST /restaurants GET /restaurants Application/Logic (code, libraries, etc) Data Store (eg, RDS, DynamoDB ElastiCache, ElasticSearch) x s
  25. 25. —j s Drivers micro-services Payments micro-service Location micro-services Ordering micro-services Restaurant micro-service
  26. 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(
  27. 27. Edge ELB Zuul NCCP API Middle Tier & Platform Product • Bucket testing • Subscriber • Recommendations Platform • Routing • Configuration • Crypto Persistence • Cache • Database (c) Josh Evans, Mastering Chaos A Netflix Guide to Microservices, QCon SF 2016
  28. 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. 29. i n o i rp (c) Ruslan Meshenberg, From Asgard to Zuul, re:Invent 2014
  30. 30. … & QJ ' r“ v Chaos Monkey https://github.com/ne tflix/chaosmonkey Instance Fail? Chaos Gorilla Zone Fail? Chaos Kong Region Fail? “ p
  31. 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
  32. 32. netflix.github.io
  33. 33. . MI
  34. 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례
  35. 35. Clients HTTP REST EC2 Instances 5HF v Elastic Load Balancing EC2 Instances Amazon ECS Amazon API Gateway AWS Lambda
  36. 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. 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. 38. -- h I Y W cT DYS IU dYSUa u Xbb 5++ U T U aZ Ub S +7 6-/34.
  39. 39. -- h • p • x GA “ Pcc t 5C= m • • EUbV Yf FII“ y
  40. 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. 41. FJ WP WWNL CONNECT EVEN MORE WITH (c) 장수백(삼성전자), Samsung Connect 마이크로서비스 도입 사례, AWS Summit 2016
  42. 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
  43. 43. Microservices Architecture of Samsung Connect IoT Connected Devices Event Pipeline Amazon ECS S3 Galaxy Devices Microservice Microservice Microservice IoT Protocol Endpoint ELB/ALB DynamoDB & Aurora Manufacturers Developers KMS CloudHSM Lambda/ API GW 3rd Party Cloud Admin CloudWatch Scale-in/out Policy ….. Microservice FJ WP WWNL (c) 장수백(삼성전자), Samsung Connect 마이크로서비스 도입 사례, AWS Summit 2016
  44. 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
  45. 45. FJ WP WWNL j s DBwAlBad ACC )Deate image fDBm DBckeDfile 1GEh tB E)2 2egiEteD TaEk defiAitiBA JeAkiAE / E)2 AccBGAt #2 AccBGAt #3 Gitla6 / E)2 AccBGAt ## A/( 1BlicI AccBGAt #A TeDDafBDm IAfDaEtDGctGDe aE a cBde E)3 03 (iAE//i6E (iAE//i6E ACC2ACC# E)3 03 (iAE//i6E (iAE//i6E ACC2ACC# /Bcal JeAkiAE Amazon ECR Development Test/Build Production (c) 송주영(삼성전자), Samsung Knox 및 Connnect의 AWS 기반 콘테이너 활용 사례, AWS Summit 2016
  46. 46. / ) “ v S3 CloudFront Static Content Content Delivery API Layer Application Layer Persistency Layer API Gateway DynamoDBAWS Lambda
  47. 47. “ s (c) 이상현(빙글), Vingle의 AWS 기반 서버리스 마이크로 서비스 구현 사례
  48. 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. 49. API Gateway Lambda DynamoDB (List of spam keywords) POST /api/validates Body: { data: “ABCDEFG” } “ ) (c) 이상현(빙글), Vingle의 AWS 기반 서버리스 마이크로 서비스 구현 사례
  50. 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. 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. 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 기반 서버리스 마이크로 서비스 구현 사례
  53. 53. / j ­
  54. 54. - j Microservices 작은 서비스 개발 단위로 쪼개 API로 연동하여 개발 민첩성 및 독립적 배포 가능 Two-Pizza Team 서비스 개발 및 배포 운영 등을 모두 맡는 자율적이고 오너쉽을 가진 팀 구성 및 문화 Automation 개별팀이 자신의 서비스 개발 에만 집중할 수 있는 자동화 도구 제공
  55. 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. 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 !
  57. 57. / s j • GA • C bU Sg( HGI( = bU • GA • cTM bSX( FI( YS bY • MI © • cTM bSX cTM bSXC Wa
  58. 58. 0 Chalice Framework Serverless Java Container 5 u
  59. 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
  60. 60. h z j h p” ” p p” u v
  61. 61. BWN ZN QRWPc
  62. 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. 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. 64. d 5HF MNF JZ 1, ZNMR AWS Only http://bit.ly/awskr-feedback 등록하시면 AWS 50달러 크레딧을 받으실 수 있는 URL을 이메일로 보내드립니다!
  65. 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

×