Characteristics of Microservices
Componentization via services
replace independently, upgrade independentlyOrganized around business capabilities
team orgination thingProducts not Projects
- Smart endoints and dumb pipes
pipe just for delivery message
SOA - ESB - route message , translate message
Microservices - pipe must be dumb, endpoint/application must be smart.
- Decentralized Governance
- Decentralized Data Management
no central group, miniimum connectivity
each service gets its own data storage and does not share that data directly with anybody else.
all sharing has to go throught the services that wrap the data
Infrastructure Automation
CI CD.Design for failure
Chaos monkey
handle failure.
- Evolutionary Design
Monolith | Microservice |
---|---|
Simplicity | Partial Deployment |
Consistency | Availability |
Inter-module refactoring | Preserve Modularity |
Multiple Platforms |
Command Query Responsibility Segregation
Event souring