Microservice Architecture is not a buzz word anymore but a reality in the realm of startups and large enterprises.
These slides are from Dallas Mule Meetup event where Matt McLarty, who is also one of the authors of Microservice Architecture book, talk about the origins and adoption journey of microservices.
The recording of the meetup can be found at: https://www.youtube.com/watch?v=I-5W8SDFOuQ
https://meetups.mulesoft.com/dallas/
6. Microservice Architecture Characteristics
Componentization
via Services
Organized around
Business
Capabilities
Products not
Projects
Smart endpoints
and dumb pipes
Decentralized
Governance
Decentralized Data
Management
Infrastructure
Automation Design for Failure
Evolutionary
Design
7. Componentization via Services
2014
§ Services vs. Libraries
§ Network/process
boundaries
§ Explicit interfaces
§ Independent deployability
“A service may consist of multiple
processes that will always be
developed and deployed together”
2021
§ Kubernetes pods
§ Serverless
§ Inner service boundaries
(Lambda, legacy adapters)
§ Aggregated interfaces
(GraphQL)
§ Monorepo debate
8. Organized around Business Capabilities
2014
§ Business vs. tech function
§ Cross-functional teams
§ Teams aligned to contexts
§ One-to-many contexts to
services
§ Service size tied to team
size
2021
§ DDD resurgence
§ Spotify model
§ Size debate
§ Enterprise struggles
– Business vs. IT split
– Complex business domains
– Cross-reference contexts
9. Products not Projects
2014
§ Long term ownership
§ “You build it, you run it”
§ Ongoing user focus
§ Essence of Agile
2021
§ APIs as products
– Product design thinking
§ Agile increasingly the norm
§ Enterprise struggles
– SAFe vs. Agile principles
– Regulatory constraints
– Budget cycles
10. Smart endpoints and dumb pipes
2014
§ Complex logic inside
service boundaries
§ “Be of the web, not behind
the web”
§ HTTP APIs, lightweight
messaging
§ Anti-ESB
2021
§ Data vs. control plane
– Control plane warrants “pipe
intelligence”
– Security, routing, observability
§ Service mesh obsession
§ Service proxy vs. API
gateway
11. Decentralized Governance
2014
§ Avoid “one size fits all”
§ Right tool for the job
§ Battle-tested standards for
interop concerns
§ In-house open source
§ Evolving contracts
§ Make it easy to do right
2021
§ Focus on incentive-based
governance
§ OpenAPI, GraphQL, gRPC
§ Still plenty of top down,
one size fits all thinking
§ Rapidly evolving technology
landscape, not battle-tested
(service mesh in particular)
12. Decentralized Data Management
2014
§ Split by bounded contexts
§ Polyglot persistence
§ Transactionless
§ Eventual consistency
§ Compensating business
processes
2021
§ Layers of data partitioning
– e.g. Separate schemas, shared DB
§ Saga pattern
§ Event-based choreography
§ Data warehouse -> data
lakes -> data mesh
§ Microservices and data
worlds still converging
13. Infrastructure Automation
2014
§ Cloud tech
§ Continuous delivery
§ Test automation
§ Automated deployment
§ Automated monitoring,
recovery and scaling
2021
§ DevOps a parallel trend to
microservices
§ Increasing cloud agility,
CI/CD
§ More “accidental
complexity” (monster
making)
14. Design for failure
2014
§ Resilience
§ Expect failures
§ MTTR vs. MTBF
§ Semantic monitoring
§ Circuit breaker, bulkhead,
timeouts
§ Synch vs. asynch call chains
2021
§ Overhead of library-based
resilience code
§ Service mesh and API
gateways offload handling
§ Accelerate book validates
importance of resilience
§ Platform layers increase
failure permutations
15. Evolutionary Design
2014
§ Optimize change over time
§ Frequent, fast, well-
controlled changes
§ Design for replacement
§ Coexistence with monoliths
§ Keep things together that
change together
§ Minimize versioning
2021
§ Too much emphasis on
initial microservices build
§ Too many “big bets”
§ Accelerate book validates
value of change frequency
§ “Bimodal IT”
§ Enterprises struggle to
deprecate services
16. Missing?
§ Not much!
§ Security
§ Cross-system capabilities
§ Cross-organization responsibilities
§ Front ends
§ Resource guide: https://martinfowler.com/microservices/
18. In summary…
§ Core characteristics of the Fowler/Lewis post still apply
§ Microservices movement evolved in parallel with Agile and
DevOps especially
§ Some have been explored in depth and revealed new complexity
– Especially tech-focused areas
§ Some have been overlooked or deemphasized
– Design and organizational factors
§ The services are the point!