6. ‘패턴언어(Pattern Language)’는 건축가 Christopher Alexander가 집이나 마을을 설계할 때 반복적으로
활용하면 좋을, 작은 단위의 설계 패턴들을 모아 정리한 것에서 시작되었다.
Monolithic Applications
• 단일, Monolithic App
• 전체 App을 함께 배포해야 함
• 전체 App이 단일 DB 사용
• 기술 계층 중심으로 구성
• 각각의 런타임 인스턴스에 상태를 보관
• 전체 App이 하나의 기술 스택을 채택
• SOAP 사용
Microservices
• 다수의, 더 작아진 최소 기능의 Microservices
• 각 Microservice를 독립적으로 배포
• 각 Microservice는 각자의 데이터 저장소를 가짐
• 비즈니스 기능 중심으로 구성
• 상태는 외부에 보관
• 각 Microservice가 각자의 기술을 선택
• HTTP를 통한 REST, Messaging, 또는 Binary
마이크로 서비스 아키텍처 스타일(Microservice architecture style)"은 독립적으로 배포 가능한
서비스들의 묶음으로 소프트웨어 애플리케이션을 설계하는 방법
8. Micro Services
A collection of smaller applications all working together to deliver
a total experience to the end user.
Increased efficiency
• Splitting your services gives you the ability to scale
only the parts of the site that is slow
• Less wastage of service resource
• More cost efficient
• An individual slow performing service doesn’t slow
all services
• Less user frustration
9. Micro Services
A collection of smaller applications all working together to deliver
a total experience to the end user.
Easier Updates
• Updating a smaller code base is easier
• Less likely to have a regression issue
• Less likely to push a feature that isn’t ready from
another team
• Disable or slowly fail users over to the new version
• You don’t put any other part of the service at risk
• Easier roll back if the update fails
10. Micro Services
A collection of smaller applications all working together to deliver
a total experience to the end user.
Increased stability
• Gracefully fail parts of the site
• If one service fails the rest of the site still operates
• Clever use of JS calls to services can detect failures
and mask it from the end user
• Much better end user experience
11. User Interface
Application
Datastore
Infrastructure
Resulting SoftwareTypical Enterprise Organization Structure
Head of IT
Head of
Operation
Head of DBAs
Head of
Infrastructure
Head of App
Dev
Head of UI
Head of
Development
An Enormous Monolith
Conway’s Law: Software reflects the structure of the
organization that produced it
12. Build small product-focused teams – strict one team
to one microservice mapping
Many Small Microservices
Resulting SoftwareMicroservices Organization Structure
API
Application
Datastore
Infrastructure
API
Application
Datastore
Infrastructure
API
Application
Datastore
Infrastructure
API
Application
Datastore
Infrastructure
Product Lead
Project Manager Sys Admin DBA
JavaScript
Developer
Developer
Developer
Sys Admin
Storage Admin
Graphic ArtistNoSQL Admin
Product Lead
Project Manager Sys Admin DBA
JavaScript
Developer
Developer
Developer
Sys Admin
Storage Admin
Graphic ArtistNoSQL Admin
Product Lead
Project Manager Sys Admin DBA
JavaScript
Developer
Developer
Developer
Sys Admin
Storage Admin
Graphic ArtistNoSQL Admin
Product Lead
Project Manager Sys Admin DBA
JavaScript
Developer
Developer
Developer
Sys Admin
Storage Admin
Graphic ArtistNoSQL Admin
23. An open platform to connect, manage, and secure microservices
Connect: Resiliency, discovery, load balancing
Manage: Traffic control, policy enforcement
Monitor: Metrics, Logging, Tracing
Secure: End-to-end Authentication and
Authorization
Google, IBM, and Lyft
announce first public
release at May, 2017
24. Intelligent Routing and Load Balancing
Control traffic between services with dynamic
route configuration, conduct A/B tests, release
canaries, and gradually upgrade versions using
red/black deployments
Resilience Across Languages and Platforms
Increase reliability by shielding applications from
flaky networks and cascading failures in adverse
conditions
25. Fleet-Wide Policy Enforcement
Apply organizational policy to the interaction
between services, ensure access policies are
enforced and resources are fairly distributed
among consumers
In-Depth Telemetry and Reporting
Understand the dependencies between services,
the nature and flow of traffic between them, and
quickly identify issues with distributed tracing.
30. Core component of Traffic
Management in Istio
Manage & Configure all Envoy Proxy
Routing Rule
Configure Failure Recovery
features (timeouts,retries and
Circuit Breaker)
Canonical Model of all Service Mesh
Mesos, Consul, CF, Eureka…
31. Intermediation Layer btw application
code and infra backends
(access control systems, telemetry capturing
systems, quota enforcement systems, billing
systems)
Precondition Checking
- White list, ACL Check
Quota Management
Telemetry Reporting