[ Microservice architecture 바로 알기 ]
Slidesahre, Facebook, 각종 블로그, 사이트등을 통해 얻은 다양한 자료를 정리해볼까하며 개인적으로 끄적거리는 중인 자료입니다.
간단한 세미나에서 공유하고 잘 완성해 공유하려다 근래 잉여력이 바닥인지라 ...그냥 투척합니다. 요즘 아몰랑...... 하고 마구 투척하는 것도 유행인듯하니... ㅋㅋ
다양한 클라우드플랫폼, CI/CD의 성숙, DDD, 오픈소스.. 등등등 Micro service architecture를 이야기하기에 기술적인 환경은 어느 정도 준비가 되었다고 봅니다.
여기서는 이러한 부분에 대한 내용을 다루며
조직이나 커뮤니케이션에 대한 부분은 이야기 하지 않습니다 ^^;
저도 답을 찾아 방황하는 중이에요~~~ +_+
2. /114
들어가기 전에..
2
Slidesahre, Facebook, 각종 블로그, 사이트등을 통해 얻은 다양한 자료를 정리해
볼까하며 개인적으로 끄적거리는 중인 자료입니다.
간단한 세미나에서 공유하고 잘 완성해 공유하려다 근래 잉여력이 바닥인지라 ...
그냥 투척합니다. 요즘 아몰랑...... 하고 마구 투척하는 것도 유행인듯하니... ㅋㅋ
다양한 클라우드플랫폼, CI/CD의 성숙, DDD, 오픈소스.. 등등등 Micro service
architecture를 이야기하기에 기술적인 환경은 어느 정도 준비가 되었다고 봅니다.
여기서는 이러한 부분에 대한 내용을 다루며
조직이나 커뮤니케이션에 대한 부분은 이야기 하지 않습니다 ^^;
저도 답을 찾아 방황하는 중이에요~~~ +_+
6. /114
Microservice architecture
MSA는 앞서 연구하여 정의된 아키텍처가 아닌...
문제를 해결하기 위해 결과로서 스스로 정의된
아키텍처 이며...
한가지 일을 잘하는 작은 서비스들로 이루어진...
Vendor가 아닌 개발자 주도의 SOA 사상으로...
그리고 .... Bla bla...
6
23. /114
Key benefits
4)Scailing
Scaling at just
those microservices
that need it
Ref. Building Microservices Designing Fine-Grained Systems / By Sam Newman / O’Reilly Media
필요한 Biz에 선별적 확장 가능
23
31. /114
But
Complexities of distributed systems
Fallacies of distributed computing
The network is reliable.
Latency is zero.
Bandwidth is infinite.
The network is secure.
Transport cost is zero.
...
Ref. http://en.wikipedia.org/wiki/Fallacies_of_distributed_computing31
33. /114
But
Ref. Dante And Virgil In Hell (1850) / by William-Adolphe Bouguereau (1825-1905)
Complexities of distributed systems
준비되지 않았다면
Hell ~~!
33
45. /114
Basic Strategies
2)Scaling Database
Scaling for read
45 Ref. Building Microservices Designing Fine-Grained Systems / By Sam Newman / O’Reilly Media
Sacrificing availability
Sacrificing Consistency - BASE
CP? AP ?
56. /114
Basic Strategies
3)Caching
56
How to hide the origin
Client Cache
Origin
(DB or others)
Sync. Request for cache entry
Async. Event fired in event of cache miss update
Fail fast on cache miss
75. /114
Real World
1)Dynamic Service Registry
75
Client Service
Registry
Service
A
Where is the service A?
Service Service Service
Service Service Service Service
I’m here.
I’m alive!
OK
107. /114
Real World
107
And More ...
Deployment
Continuous delivery
Blue Green deployments
Canary deployments
Ref. https://devcentral.f5.com/articles/programmability-in-the-network-canary-deployments
Ref. http://andreas-simon.blogspot.kr/2014/02/zero-downtime-deployment-for-grails.html
108. /114
Real World
108
And More ...
Security – Trust between services
API Token
Client Certificate
HMAC
(hash message
authentication code)
Ref. http://en.wikipedia.org/wiki/Hash-based_message_authentication_code
109. /114
Real World
109
And More ...
Testing
Ref. http://martinfowler.com/articles/microservice-testing/#conclusion-summary
110. /114
Real World
110
And More ...
Ref. http://www.slideshare.net/saltynut/whitebase
White Base – SK Planet
API Gateway
Easy to instantiate MSs in development env.
Solving resource problems on developer’s PC.
Testing
112. /114
결국... 기술적인 부분도 더 고민해야 할 것이 많다.
112
Scaling
Caching
Service Discovery
(API Gateway)
Monitoring
Asyncronous
Antifragile
Security
Testing
Deployment Maturity bar
Optimizing
Defined
Initial