The document discusses the benefits and challenges of moving from monolithic architectures to microservices architectures. It outlines some of the core tenets of microservices including small, independent teams focusing on individual bounded contexts. It also discusses important considerations for microservices like standardizing interfaces, service discovery, monitoring, and automation tools. The conclusion recommends judicious adoption of microservices and emphasizes the importance of architecture maturity, DevOps capabilities, and culture change.
4. § Get awayfrom the “Big Ball of Mud”
§ To go faster
§ Scale Better
§ Infinite scalability (bewarescale envy)
§ Differential scalability
§ Organizing & scaling teams
§ Open up new capabilities
§ Evolutionary architectures
§ Try new ideas
Core Tenets: Culture Architecture Automation
6. § Small Cross-FunctionalTeams – give the team all they need to
deliver business value – two pizza rule
§ Vertical partitioning – partition systems along vertical lines –
eschew the horizontally layered architecture
§ Keep services small – so they fit in your head
§ Self-contained code – “a single unix process” (but containers)
§ Loose coupling – choreography vs orchestration
§ Standardiseat the interfaces – governance only where its
needed
Result:Ownership & Autonomy
7.
8. § Collaboration
§ Shared Responsibility
§ Autonomy
§ Quality
§ Feedback
§ Automation
§ Small Teams
§ Segmented on business domain,not technology
§ Cross-functional
§ Autonomous
§ No hand-offs,no blame-shifting
12. Finance
Sales
Fulfilment
Product
§ Bounded Contexts are areas of
cohesion in your domain model
§ Boundaries appear where domain
concepts “break”
§ Bounded Contexts are the
handle for organizing your
§ Application
§ Teams
§ Runtime services
13. § Understand your application’s Bounded Contexts
§ Carve off a small domain (ideallynon-transactional)
§ Run as microservices
§ Autonomy
§ Choreography with rest of the monolith
§ Automation: CI/CD
§ Iterate
DON’T
§ Still understand your application’s Bounded Contexts
§ But carving up a monolith addscomplexity – Stefan Tilkov
16. § Standardiseall the Interfaces
§ Standard API:REST (ish) or RPC – use a contract!
§ Configuration:Environment Variables
§ Logging:common format to stdout/stderr
§ Monitoring endpoints: /stats or /health
§ Events: publish standard event structures
24. § Microservices architecture adoption is growing
§ Be judicious in deciding if it’s right for you
§ Architecture maturity
§ DevOps and automation
§ Team size
§ Infrastructure will become easier and more common
§ Culture is the harder thing to change
§ Microservices might just be the new de facto cloud-native
architecture ?
§ And what about serverless?