5. SMALL
Size is not the actual point!
not as big as a server app that
needs to be built and deployed
as a single block
Manageable units of
functionality and deployability
17. And all goes well in the V4
V2
V3
V2
V3
V1
V1
Recommend
18. BENEFITS
• Focus on one thing and do it right
• Organizational alignment
• Release functionality faster
• Independent scaling
• Technology diversity; Adopt technologies faster
• Enable security concern segregation
• Enable resiliency by designing for failure
31. However, there are several potential seams
Calculations Partners
Users &
Authorizations
Customers Business processes
Document
management &
printing
Widgets …
46. microservices
• Are not the goal
• Are about problems at scale
• Are manageable units of functionality and
deployability
• Own the end-to-end
• Require automation and maturity
48. REFERENCES
• Sam Newman (2014) Building Microservices. O’Reilly Media.
• James Lewis, Martin Fowler (2014) Microservices – a definition of this new
architectural term. https://martinfowler.com/articles/microservices.html
• Martin fowler (2015) Microservices trade-offs.
https://martinfowler.com/articles/microservice-trade-offs.html
• Martin Fowler (2014) Bounded context.
https://martinfowler.com/bliki/BoundedContext.html
• Microsoft. Microservices architecture. https://docs.microsoft.com/en-
us/dotnet/standard/microservices-architecture/architect-microservice-
container-applications/microservices-architecture
• Microsoft. Microservices architecture style.
https://docs.microsoft.com/en-us/azure/architecture/guide/architecture-
styles/microservices
49. REFERENCES
• Matt Mclarty, Irakli Nadareishvili (2017) Streamlined Microservice Design
in Practice. In The DZone guide to Micoservices, vol 1.
https://dzone.com/storage/assets/7852543-dzone-microservicesguide-
2017.pdf
• Susan Fowler (2016) Production-ready Microservices. O’Reilly Media.
• IBM. Microservices for fast time to market and improved app quality.
https://www.ibm.com/cloud/garage/architectures/microservices
• IBM. Refactoring application code to microservices.
https://www.ibm.com/cloud/garage/practices/code/refactor-to-
microservices
• Nick Vennaro (2017) How to introduce microservices in a legacy
environment. https://www.infoworld.com/article/3237175/how-to-
introduce-microservices-in-a-legacy-environment.html
Editor's Notes
See also https://www.slideshare.net/masashin/designing-microservices/13
Finding service boundary
• Start with bounded context
• Further breakdown per non-functional requirements
• Vertical decomposition rather than horizontal (layers)
• Also consider
• Rate of change
• Technology used
• Communication overhead
• Splitting data is challenge due to consistency issues
• Refactoring across boundary is an extremely expensive operation
API gateway
handles authentication; inside the microservices zone there is no need for authentication; it is a trusted zone
Logging,
Caching
Throtling
Retry
Circuit breaker/strangler