The document discusses microservices and their advantages over monolithic applications. It defines microservices as small, independent components that are built, deployed, and scaled independently. The document outlines characteristics of microservices like being organized around business capabilities, infrastructure automation, and evolutionary design. It also discusses tools that can help build microservices architectures.
4. www.aurorasolutions.io
Monolith Applications Ailments
❏ Big budgets
❏ Big delays
❏ Long release cycles
❏ Gold plated with many unused features
❏ Expensive to change
❏ Difficult to scale
❏ Slow payback on ROI
❏ Drag on business model innovation
❏ Source of conflict between IT & business
❏ Difficult to understand monolithic executable! (BBOM)
4
6. www.aurorasolutions.io
❏ Partition the application into features organized around business capability
❏ Deliver each feature as separate microservice executable.
The Most Effective Remedy
6
7. www.aurorasolutions.io
❏ Small Budget
❏ Short Delays
❏ Short Release Cycles
❏ Minimum marketable features
❏ Cheap to change / rewrite
❏ Easier to scale
❏ Fast payback on ROI
❏ Fast delivery enables business model innovation
❏ Quickly delivery builds trust between IT & business
❏ Easy to understand small executable
❏ Eliminates any long-term commitment to a technology stack
❏ Improved fault isolation
❏ Each application can be deployed independently of others (hopefully)
Small Applications Benefits
7
8. www.aurorasolutions.io
Microservices Characteristics (MF)
8
9 common characteristics for most of the microservices:
❏ Componentization via Services
❏ Organized around business capabilities
❏ Products not projects
❏ Smart endpoint dumb pipes
❏ Decentralized governance
❏ Decentralized data management
❏ Infrastructure automation
❏ Design for failure
❏ Evolutionary design
9. www.aurorasolutions.io
Microservices Characteristics (MF)
9
9 common characteristics for most of the microservices:
❏ Componentization via Services
❏ Organized around business capabilities
❏ Products not projects
❏ Smart endpoint dumb pipes
❏ Decentralized governance
❏ Decentralized data management
❏ Infrastructure automation
❏ Design for failure
❏ Evolutionary design
11. www.aurorasolutions.io
Microservices Characteristics (MF)
11
9 common characteristics for most of the microservices:
❏ Componentization via Services
❏ Organized around business capabilities
❏ Products not projects
❏ Smart endpoint dumb pipes
❏ Decentralized governance
❏ Decentralized data management
❏ Infrastructure automation
❏ Design for failure
❏ Evolutionary design
13. www.aurorasolutions.io
Microservices Characteristics (MF)
13
9 common characteristics for most of the microservices:
❏ Componentization via Services
❏ Organized around business capabilities
❏ Products not projects
❏ Smart endpoint dumb pipes
❏ Decentralized governance
❏ Decentralized data management
❏ Infrastructure automation
❏ Design for failure
❏ Evolutionary design
15. www.aurorasolutions.io
Microservices Characteristics (MF)
15
9 common characteristics for most of the microservices:
❏ Componentization via Services
❏ Organized around business capabilities
❏ Products not projects
❏ Smart endpoint dumb pipes
❏ Decentralized governance
❏ Decentralized data management
❏ Infrastructure automation
❏ Design for failure
❏ Evolutionary design
17. www.aurorasolutions.io
Microservices Characteristics (MF)
17
9 common characteristics for most of the microservices:
❏ Componentization via Services
❏ Organized around business capabilities
❏ Products not projects
❏ Smart endpoint dumb pipes
❏ Decentralized governance
❏ Decentralized data management
❏ Infrastructure automation
❏ Design for failure
❏ Evolutionary design
19. www.aurorasolutions.io
Microservices Characteristics (MF)
19
9 common characteristics for most of the microservices:
❏ Componentization via Services
❏ Organized around business capabilities
❏ Products not projects
❏ Smart endpoint dumb pipes
❏ Decentralized governance
❏ Decentralized data management
❏ Infrastructure automation
❏ Design for failure
❏ Evolutionary design
21. www.aurorasolutions.io
Loosely coupled service oriented
architecture with bounded contexts
Microservice Definition!
21
If every service has to
be updated at the same
time it’s not loosely
coupled
If you have to know too much about
surrounding services you don’t have a
“bounded context”. See the DDD book
by Eric Evans
22. www.aurorasolutions.io
Microservice Definition!
My definition of Microservice:
★ A well defined small problem domain
★ Built & deployed by itself
★ Runs in its own process
★ Integrates via well-known, well-designed & well-crafted interfaces
★ Owns its own data storage
22
23. www.aurorasolutions.io
Tools for building Microservices
23
❏ Scriptable cloud infrastructure to automate continuous delivery release pipelines
❏ Reliable messaging infrastructure to allow services chirography
❏ Highly productive development framework
❏ Containerless runtime to allow deployment of one executable per service