Microservices:
Architecture for Agile
Software Development
Eberhard Wolff
Fellow, innoQ
@ewolff
http://microservices-buch.de/
Code
Microservice
Definition
Server
 Server
Microservices:
Definition
>  Small
>  Independent deployment units
>  Any technology
>  Any infrastructure
>  UI + Logic
Micro
Service
Micro
Service
Components Collaborate
Micro
Service
Micro
Service
Link
Data Replication
REST
Messaging
Online Shop
Order
Catalog
Search
Billing
Customer
HTML /
HTTP
Online Shop
Elasticsearch
Spring Batch
Oracle
Spring MVC
MongoDB
Order
Catalog
Search
Billing
Agility
Agile Manifesto
>  Individuals and Interaction
>  Over processes and tools
>  Working Software
>  Over comprehensive documentation
>  Customer Collaboration
>  Over contract negotation
>  Responding to change
>  Over following a plan
Agile Manifesto:
Individuals and
Interactions
Software Architecture
& Individuals
Software Architecture
& Individuals
Unrelated?
Does Your
Architecture Take
Individuals Into
Account?
Conway‘s Law
Architecture
copies
communication structures
of the organization
Conway‘s Law: Impact
Architecture
and
communication structures
in the organization
are the same thing.
Conway’s Law as a
Limit
>  Organization drives architecture
>  I.e. GUI, logic & database team
>  Three technical artifacts
GUI
Logic
DB
E Commerce
Shop
Change
Order
Process!
time
DB
Team Sprint
Logic
Team Sprint
GUI
Team Sprint
3 sprints
Deployment Monolith
Deployment Monolith
Stories
Technical Coordination
Coordinating Releases
Order
 Billing
 Search
Order
 Search
Billing
Team for each business feature
Let architecture drive the organization
Deployment Monolith
+ Conway’s Law
Deployment Monolith
Stories
Technical Coordination
Coordinating Releases
StoriesStories
Order Billing Search
Microservices +
Conway’s Law
>  Let architecture drive the organization
>  Team for each Microservice
>  Team responsible for business features
>  Ideal: Independent features
Order
 Billing
 Search
Order
 Search
Billing
Team can deploy without integration
Changes can be deployed independently & quickly
Strong & enforced modularization 
Technology stack per Microservice
One or many Microservices per Team
Synergy Microservices / Conway’s Law
Microservices
Microservice
Stories
Technical
Coordination
Microservice
Stories
Technical
Coordination
Microservice
Stories
Technical
Coordination
Order Billing Search
Release Release Release
How to scale agile?
Use a process to scale
agile?
Individuals & interaction
over
processes and tools
Define architecture
to limit
communication
needs
One team can build and
deploy features
independently!
Team must be responsible
for a sensible set of
functionality
Less Technical
Coordination
Agile Manifesto:
Working Software
Scrum
>  PSI
>  Potentially shippable increment
>  Why?
Principles behind the
Agile Manifesto
Our highest priority is
to satisfy the customer
through early and
continuous delivery
of valuable software.
Potentially
Shippable
Increment
Continuous
Delivery
Monolith
ECommerce
System
3rd party
systems
Database
Continuous Delivery:
Build Pipeline
Commit
Stage
Automated
Acceptance
Testing
Automated
Capacity
Testing
Manual
Explorative
Testing
Release
ECommerce
System
Build Pipeline:
Complex Infrastructure
>  Huge database
>  3rd party integration
Build Pipeline:
Slow Feedback
>  Slow feedback
>  Test everything for each commit
>  Huge deployment unit
>  Deployment slow
Monolith:
Deployment
>  Huge deployment
>  Risky
>  Hard to mitigate risk
>  Blue / Green: Create a separate
environment
>  Canary: Deploy to one server first
Microservices
ECommerce
System
3rd party
systems
Database
Order
Catalog
Billing
Search
Commit
Stage
Automated
Acceptance
Testing
Automated
Capacity
Testing
Manual
Explorative
Testing
Release
Commit
Stage
Automated
Acceptance
Testing
Automated
Capacity
Testing
Manual
Explorative
Testing
Release
Commit
Stage
Automated
Acceptance
Testing
Automated
Capacity
Testing
Manual
Explorative
Testing
Release
Order
Billing
Customer
Build Pipeline for
Microservices
>  Independent deployment
>  Build pipeline per Microservice
>  Small
>  Easier to set up
>  Less features (3rd party systems)
>  Faster Feedback: Less tests
Microservice:
Deployment
>  Small deployment
>  Less risky
>  Other Microservices resilient to failing
microservice
>  Easy to create new environments
>  E.g. for Blue / Green or Canary
Quick Deployments
Time
Size & Risk
Manual
Deployment
Pipeline
Continuous
Delivery
Pipeline
Monolith
Microservices
Potentially shippable
increment?
SHIP!!!
Agile Manifesto:
Customer
Collaboration
Customer
Collaboration &
Architecture?
Customer
Collaboration &
Architecture?
Not sure.
Microservices &
Departments
StoriesStories Stories
Customer Billing
Order
Process
Product
Owner
Product
Owner
Product
Owner
Department Department Department
Microservices &
Departments
>  Ideal: One team per department
>  Ideal: Change local to one team /
Microservice
>  Otherwise: Coordination needed
Customer should own
Microservice
Agile Manifesto:
Responding to change
Monoliths
>  Architecture rot
>  …not maintainable any more
>  …and can’t be rewritten / replaced
Deployment Monolith
>  Cyclic dependency
>  …because the IDE suggested some class
>  Might not even be noticed
Module
Class
Module
Class
Class Class
Microservices
>  Need to use the API
>  Different team
>  More effort - will think about it
>  Rot less likely
Microservice
Class
Microservice
Class
Class Class
Global Refactorings?
>  Move code from service to service
>  Might be a port to a different language
>  Separate in a new service
>  Harder than in a Deployment Monolith
Microservices
>  Small
>  Easy to change
>  Architectural problems in Microservice unlikely
>  Can be replaced
Microservice
Class
Class
Microservices
– Easy to Recylce
Conclusion
Conclusion:
Microservices & Agility
>  Individuals over tools
>  Architecture drives organization
>  Scale by architecture not process
>  Working software
>  Actually ship software
>  Continuous Delivery
Conclusion:
Microservices & Agility
>  Customer collaboration
>  Customer should own services
>  i.e. organization beyond the project =
architecture
Conclusion:
Microservices & Agility
>  Responding to change
>  Individual Microservices small
>  Easy to change
>  …and replace
>  Unwanted dependencies won’t sneak in
>  But: Global refactoring hard, too
Meta-Conclusion
How To Think About
Architecture
>  Process has an impact on architecture
>  Software architecture & organization are the
same
>  Build recyclable software!
Microservice > Agile
Achitecture
Strong Modularization
Scaled Agile Architecture
Sustainable development
speed
 Replaceable Services
Continuous Delivery
Choose best technology
for job!
Handle Legacy more efficient
Independent Scaling
Robustness
Microservice Training
>  Stefan Tilkov / Eberhard Wolff
>  Frankfurt / Main
>  26.-27.10.2015
>  https://www.innoq.com/de/trainings/
microservices-training/

More Related Content

PDF
The Frontiers of Continuous Delivery
PDF
Beyond Microservices
PDF
Architectures and Alternatives
PDF
Software Architecture for Innovation
PDF
How to Split Your System into Microservices
PDF
Microservices: Redundancy=Maintainability
PDF
Continuous Delivery, DevOps, Cloud - New Requirements for New Architectures
PDF
Top Legacy Sins
The Frontiers of Continuous Delivery
Beyond Microservices
Architectures and Alternatives
Software Architecture for Innovation
How to Split Your System into Microservices
Microservices: Redundancy=Maintainability
Continuous Delivery, DevOps, Cloud - New Requirements for New Architectures
Top Legacy Sins

What's hot (20)

PDF
Microservices Technology Stack
PDF
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
PPTX
Introduction to microservices
PPTX
Introduction To Microservices
PDF
#JaxLondon keynote: Developing applications with a microservice architecture
PDF
Deployment - Done Right!
PDF
Microservices: an introduction
PPTX
The DevOps Journey
PDF
Microservices architecture overview v3
PDF
Microservices Architecture
PPTX
Azure servicefabric
PPTX
Microservices with Azure Service Fabric
PPTX
Microservices with .Net - NDC Sydney, 2016
PPTX
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
PDF
[WSO2Con EU 2017] Resilience Patterns with Ballerina
PPTX
Software Architectures, Week 3 - Microservice-based Architectures
PDF
Microservice Architecture Patterns, by Richard Langlois P. Eng.
PPTX
Building microservices sample application
PPTX
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...
PPTX
Azure Service Fabric
Microservices Technology Stack
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
Introduction to microservices
Introduction To Microservices
#JaxLondon keynote: Developing applications with a microservice architecture
Deployment - Done Right!
Microservices: an introduction
The DevOps Journey
Microservices architecture overview v3
Microservices Architecture
Azure servicefabric
Microservices with Azure Service Fabric
Microservices with .Net - NDC Sydney, 2016
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
[WSO2Con EU 2017] Resilience Patterns with Ballerina
Software Architectures, Week 3 - Microservice-based Architectures
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Building microservices sample application
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...
Azure Service Fabric
Ad

Similar to Microservices: Architecture for Agile Software Development (20)

PDF
Microservices: Architecture to Support Agile
PDF
Microservices and Self-contained System to Scale Agile
PPTX
Twelve factor-app
PDF
Microservices, DevOps, Continuous Delivery – More Than Three Buzzwords
PDF
Dev ops and safety critical systems
PPT
A journey from monolith to micro services
PDF
Cloud continuous integration- A distributed approach using distinct services
PPTX
Over view of software artitecture
PPTX
Modern Microservices Architecture with Docker
PDF
The Reality of Managing Microservices in Your CD Pipeline
PDF
Microservices Interview Questions and Answers PDF By ScholarHat
PPTX
Think Small To Go Big - Introduction To Microservices
PPTX
Keys to continuous testing for faster delivery euro star webinar
PDF
Automating Applications with Habitat - Sydney Cloud Native Meetup
PDF
Microservices
PPTX
Microservices
PPTX
#MicrosoftGraph Community call - automating your digital workplace provisioni...
PDF
Microservices: Architecture to scale Agile
PDF
Designing loosely coupled services
PPTX
Ncrafts.io - Refactor your software architecture
Microservices: Architecture to Support Agile
Microservices and Self-contained System to Scale Agile
Twelve factor-app
Microservices, DevOps, Continuous Delivery – More Than Three Buzzwords
Dev ops and safety critical systems
A journey from monolith to micro services
Cloud continuous integration- A distributed approach using distinct services
Over view of software artitecture
Modern Microservices Architecture with Docker
The Reality of Managing Microservices in Your CD Pipeline
Microservices Interview Questions and Answers PDF By ScholarHat
Think Small To Go Big - Introduction To Microservices
Keys to continuous testing for faster delivery euro star webinar
Automating Applications with Habitat - Sydney Cloud Native Meetup
Microservices
Microservices
#MicrosoftGraph Community call - automating your digital workplace provisioni...
Microservices: Architecture to scale Agile
Designing loosely coupled services
Ncrafts.io - Refactor your software architecture
Ad

More from Eberhard Wolff (15)

PDF
Four Times Microservices - REST, Kubernetes, UI Integration, Async
PDF
Microservices - not just with Java
PDF
Data Architecture not Just for Microservices
PDF
How Small Can Java Microservices Be?
PDF
Data Architecturen Not Just for Microservices
PDF
Self-contained Systems: A Different Approach to Microservices
PDF
Five (easy?) Steps Towards Continuous Delivery
PDF
Nanoservices and Microservices with Java
PDF
REST vs. Messaging For Microservices
PDF
Microservices with Java, Spring Boot and Spring Cloud
PDF
Microservice - All is Small, All is Well?
PDF
Legacy Sins
PDF
Microservice With Spring Boot and Spring Cloud
PDF
NoSQL Riak MongoDB Elasticsearch - All The Same?
PDF
Micro Service – The New Architecture Paradigm
Four Times Microservices - REST, Kubernetes, UI Integration, Async
Microservices - not just with Java
Data Architecture not Just for Microservices
How Small Can Java Microservices Be?
Data Architecturen Not Just for Microservices
Self-contained Systems: A Different Approach to Microservices
Five (easy?) Steps Towards Continuous Delivery
Nanoservices and Microservices with Java
REST vs. Messaging For Microservices
Microservices with Java, Spring Boot and Spring Cloud
Microservice - All is Small, All is Well?
Legacy Sins
Microservice With Spring Boot and Spring Cloud
NoSQL Riak MongoDB Elasticsearch - All The Same?
Micro Service – The New Architecture Paradigm

Recently uploaded (20)

PDF
Data Virtualization in Action: Scaling APIs and Apps with FME
PDF
Co-training pseudo-labeling for text classification with support vector machi...
PDF
The AI Revolution in Customer Service - 2025
PDF
Rapid Prototyping: A lecture on prototyping techniques for interface design
PDF
Ensemble model-based arrhythmia classification with local interpretable model...
PPTX
Presentation - Principles of Instructional Design.pptx
PDF
substrate PowerPoint Presentation basic one
PDF
Human Computer Interaction Miterm Lesson
PDF
giants, standing on the shoulders of - by Daniel Stenberg
PDF
Advancing precision in air quality forecasting through machine learning integ...
PDF
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
PDF
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
PDF
Lung cancer patients survival prediction using outlier detection and optimize...
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
PDF
Early detection and classification of bone marrow changes in lumbar vertebrae...
PDF
LMS bot: enhanced learning management systems for improved student learning e...
PPTX
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
PDF
Auditboard EB SOX Playbook 2023 edition.
PDF
“The Future of Visual AI: Efficient Multimodal Intelligence,” a Keynote Prese...
Data Virtualization in Action: Scaling APIs and Apps with FME
Co-training pseudo-labeling for text classification with support vector machi...
The AI Revolution in Customer Service - 2025
Rapid Prototyping: A lecture on prototyping techniques for interface design
Ensemble model-based arrhythmia classification with local interpretable model...
Presentation - Principles of Instructional Design.pptx
substrate PowerPoint Presentation basic one
Human Computer Interaction Miterm Lesson
giants, standing on the shoulders of - by Daniel Stenberg
Advancing precision in air quality forecasting through machine learning integ...
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
Lung cancer patients survival prediction using outlier detection and optimize...
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
Early detection and classification of bone marrow changes in lumbar vertebrae...
LMS bot: enhanced learning management systems for improved student learning e...
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
Auditboard EB SOX Playbook 2023 edition.
“The Future of Visual AI: Efficient Multimodal Intelligence,” a Keynote Prese...

Microservices: Architecture for Agile Software Development