SlideShare uma empresa Scribd logo
1 de 78
Baixar para ler offline
Microservices:
Architecture to Scale
Agile
Eberhard Wolff
Fellow, innoQ
@ewolff
http://continuous-delivery-buch.de/
http://microservices-buch.de/ http://microservices-book.com/
http://microservices-book.com/primer.html
FREE!!!!
> Microservices
> Agility
> Self-contained Systems
> SCS to scale agile
Microservices
Server Server
Microservices:
Definition
> Independent deployment units
> E.g. process, VMs, Docker containers
> Any technology
> Any infrastructure
Micro
Service
Micro
Service
Components Collaborate
Micro
Service
Micro
Service
Link
Data Replication
REST
Messaging
Possible Microservices
Architecture
iOS Android Web
Order Search Catalog
BillingCustomer
Backend Backend Backend
Real-World Example
> Team = one person
> Microservices-based system
> Reasons
> Fast and easy deployment
> Clear separation
Microservices can do
more than scaling
agile!
Agility
Iterations
> Work in iterations
> Not following a fixed plan
> “Waterfall” paper 1970
(Royce): Do it twice!
> I.e. iterations are a well-
known idea for very long
No Iterations
Goal
Goal
Iterations
Goal
Goal
Goal
Goal
Cross-functional Team
> Need lots of skill to develop
features
> Have all skills in the team
> Direct communication is
better
Self Organization
> Team knows best how to
solve problems
> Let them decide
Scaling
Scaling
> Do more
> Get more stories
implemented
> ...and running in
production
TODO IN PROGRESS DONE
Scaling
> Do more
> Add more people
> Let the work in parallel
> Build more teams
Organizational
Approaches
Scrum of
Scrums
Scaled Agile
Framework
(SAFe)
Large Scale
Scrum( LeSS) Agile Path
Organizational
Approaches
Scrum of
Scrums
Scaled Agile
Framework
(SAFe)
Large Scale
Scrum( LeSS) Agile Path
Not my
expertise
Communication
> Agile means communication
> Instead of written requirements
> ...story cards
> + direct communication
# Persons vs.
Potential Links
# Persons vs.
Potential Links
0
100
200
300
0 10 20 30
Communication is great!
Need more persons
Depedencies and
Coordination are
Problems!
Dependencies
> Feature across teams
> Team must wait for other teams‘ results
time
Team Sprint
Team Sprint
Team Sprint
3 sprints
Functionalities
Technology and
Architecture
What Do You
Communicate About?
Releases
Can we limit the need
for communication?
Challenges for
Scaling Agile
> Dependencies cause delays
> Too much communication about
functionalities...
> ...releasing software,
> ...and technologies
Self-contained
System
Deployment
monolith
Graphics by Roman Stranghöhner, innoQ
http://scs-architecture.org
Cut Deployment
monolith along
domains …
… wrap domain in
separate web
application …
Self-contained
System (SCS) –
individually
deployable
SCS =
user interface+
business logic+
data storage
Web user interface
optional API e.g. for
mobile
Self-contained
Systems
should be integrated
in the web interface
Hyperlinks to navigate between
systems.
System 1 System 2
Dynamic inclusion of content
served by another application
System 1 System 2
Logic only shared over
a well defined
interface.
Business logic can
consist of
microservices
Avoid synchronous
remote calls
Remote API calls
should be
asynchronous
Every SCS brings its
own data storage
with its own
(potentially
redundant) data
Technical decisions can
be made independently
from other systems
(programming language,
frameworks, tooling,
platform)
Domained scoped
SCS enables the
development,
operation and
maintenance of an
domain by a
single team.
Team 1
Team 2 Team 3
1 SCS
= 1 Domain
= 1 Web App
= 1 Team
= 1-n Microservices
SCS?
iOS Android Web
Order Search Catalog
BillingCustomer
Backend Backend Backend
SCS?
iOS Android Web
Order Search Catalog
BillingCustomer
Backend Backend Backend
SCS to Scale Agile
Challenges for
Scaling Agile
> Dependencies cause delays
> Too much communication about
functionalities...
> ...releasing software,
> ...and technologies
Challenges for
Scaling Agile
> Dependencies cause delays
> Too much communication about
functionalities...
> ...releasing software,
> ...and technologies
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
> Teams of experts
> i.e. UI, logic & database team
> Three technical artifacts
Logic
UI
Database
Change
Order
Process!
time
DB
Team Sprint
Logic
Team Sprint
GUI
Team Sprint
3 sprints
Domained scoped
SCS enables the
development of a
domain by a
single team
– no coordination
Order Team =
UI+Logic+Database
Challenges for Scaling
Agile
> Dependencies cause delays
> Too much communication about
functionalities...
> ...releasing software,
> ...and technologies
Deployment Monolith
Stories
Technical Coordination
Coordinating Releases
Self-contained
System (SCS) –
individually
deployable
Technical decisions can
be made independently
from other systems
(programming language,
frameworks, tooling,
platform)
SCS
Stories
Technical
Coordination
Stories
Technical
Coordination
Stories
Technical
Coordination
Order Billing Search
Release Release Release
Impact on Teams
> More self-organization
> Decide about technologies,
releases etc.
> Need to be more cross-
functional
> E.g. ops skills become more
important
Conclusion
How to scale agile?
Define
architecture to
limit
communication
needs
Conclusion: SCS &
Microservices
> Microservices have many advantages
> SCS are a way to use Microservices
> …for large projects
> …to scale agile
Conclusion: SCS &
Agility
> Domain in one SCS
> less dependencies
> less delays
> less communication about functionalities
> Technological freedom
> less communication about technologies
> Independent releases
> no need to coordinate releases
Challenges
Challenges
> UI integration
> ...in particular for mobile / Single Page App
> Architecture more important
> Architecture = organization
Meta-Conclusion
How To Think About
Architecture
> Process has an impact on architecture
> Software architecture & organization are the
same
Thank You!
@ewolff
http://scs-architecture.org
(Creative Commons)

Mais conteúdo relacionado

Mais procurados

Keynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your businessKeynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your business
WSO2
 
System Center Virtual Machine Manager 2012 - Whats New
System Center  Virtual Machine Manager 2012 - Whats NewSystem Center  Virtual Machine Manager 2012 - Whats New
System Center Virtual Machine Manager 2012 - Whats New
Amit Gatenyo
 
Addmi 01-why addm
Addmi 01-why addmAddmi 01-why addm
Addmi 01-why addm
odanyboy
 
VMware Horizon Customer Presentation EN
VMware Horizon Customer Presentation ENVMware Horizon Customer Presentation EN
VMware Horizon Customer Presentation EN
Daron Walker
 
RES Software Online Seminar 10 mei 2011
RES Software Online Seminar 10 mei 2011RES Software Online Seminar 10 mei 2011
RES Software Online Seminar 10 mei 2011
RES Software Nederland
 

Mais procurados (20)

Nanoservices and Microservices with Java
Nanoservices and Microservices with JavaNanoservices and Microservices with Java
Nanoservices and Microservices with Java
 
Microservice Architecture 101
Microservice Architecture 101Microservice Architecture 101
Microservice Architecture 101
 
Microservices - not just with Java
Microservices - not just with JavaMicroservices - not just with Java
Microservices - not just with Java
 
Data Architecturen Not Just for Microservices
Data Architecturen Not Just for MicroservicesData Architecturen Not Just for Microservices
Data Architecturen Not Just for Microservices
 
How Small Can Java Microservices Be?
How Small Can Java Microservices Be?How Small Can Java Microservices Be?
How Small Can Java Microservices Be?
 
[WSO2Con EU 2017] Writing Microservices Using MSF4J
[WSO2Con EU 2017] Writing Microservices Using MSF4J[WSO2Con EU 2017] Writing Microservices Using MSF4J
[WSO2Con EU 2017] Writing Microservices Using MSF4J
 
Best ofmms scsm - iaas
Best ofmms scsm - iaasBest ofmms scsm - iaas
Best ofmms scsm - iaas
 
Keynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your businessKeynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your business
 
Building microservices sample application
Building microservices sample applicationBuilding microservices sample application
Building microservices sample application
 
Iplanet
IplanetIplanet
Iplanet
 
System Center Virtual Machine Manager 2012 - Whats New
System Center  Virtual Machine Manager 2012 - Whats NewSystem Center  Virtual Machine Manager 2012 - Whats New
System Center Virtual Machine Manager 2012 - Whats New
 
Introduction to Reactive Microservices Architecture.
Introduction to Reactive Microservices Architecture.Introduction to Reactive Microservices Architecture.
Introduction to Reactive Microservices Architecture.
 
Developing Micro-Services for Cloud using Java
Developing Micro-Services for Cloud using JavaDeveloping Micro-Services for Cloud using Java
Developing Micro-Services for Cloud using Java
 
Addmi 01-why addm
Addmi 01-why addmAddmi 01-why addm
Addmi 01-why addm
 
VMware Horizon Customer Presentation EN
VMware Horizon Customer Presentation ENVMware Horizon Customer Presentation EN
VMware Horizon Customer Presentation EN
 
[WSO2Con EU 2017] Resilience Patterns with Ballerina
[WSO2Con EU 2017] Resilience Patterns with Ballerina[WSO2Con EU 2017] Resilience Patterns with Ballerina
[WSO2Con EU 2017] Resilience Patterns with Ballerina
 
Designing distributed, scalable and reliable systems using NServiceBus
Designing distributed, scalable and reliable systems using NServiceBusDesigning distributed, scalable and reliable systems using NServiceBus
Designing distributed, scalable and reliable systems using NServiceBus
 
AdroitLogic Product Portfolio
AdroitLogic Product PortfolioAdroitLogic Product Portfolio
AdroitLogic Product Portfolio
 
RES Software Online Seminar 10 mei 2011
RES Software Online Seminar 10 mei 2011RES Software Online Seminar 10 mei 2011
RES Software Online Seminar 10 mei 2011
 
CBDW2014 - Intro to ContentBox Modular CMS for Java and ColdFusion
CBDW2014 - Intro to ContentBox Modular CMS for Java and ColdFusionCBDW2014 - Intro to ContentBox Modular CMS for Java and ColdFusion
CBDW2014 - Intro to ContentBox Modular CMS for Java and ColdFusion
 

Semelhante a Microservices: Architecture to scale Agile

Introduction to Cloud Computing (New)
Introduction to Cloud Computing (New)Introduction to Cloud Computing (New)
Introduction to Cloud Computing (New)
Chathuranga Bandara
 

Semelhante a Microservices: Architecture to scale Agile (20)

Microservices: Architecture for Agile Software Development
Microservices: Architecture for Agile Software DevelopmentMicroservices: Architecture for Agile Software Development
Microservices: Architecture for Agile Software Development
 
Microservice and Service Fabric talk
Microservice and Service Fabric talkMicroservice and Service Fabric talk
Microservice and Service Fabric talk
 
70 533 - Module 01 - Introduction to Azure
70 533 - Module 01 - Introduction to Azure70 533 - Module 01 - Introduction to Azure
70 533 - Module 01 - Introduction to Azure
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
 
Microservices Corporate Style
Microservices Corporate StyleMicroservices Corporate Style
Microservices Corporate Style
 
Ohio LinuxFest: Crash Course in Open Source Cloud Computing
Ohio LinuxFest:  Crash Course in Open Source Cloud ComputingOhio LinuxFest:  Crash Course in Open Source Cloud Computing
Ohio LinuxFest: Crash Course in Open Source Cloud Computing
 
Cloud Computing as Innovation Hub - Mohammad Fairus Khalid
Cloud Computing as Innovation Hub - Mohammad Fairus KhalidCloud Computing as Innovation Hub - Mohammad Fairus Khalid
Cloud Computing as Innovation Hub - Mohammad Fairus Khalid
 
moovel aws summit Frankfurt 2016
moovel aws summit Frankfurt 2016moovel aws summit Frankfurt 2016
moovel aws summit Frankfurt 2016
 
Microservices Technology Stack
Microservices Technology StackMicroservices Technology Stack
Microservices Technology Stack
 
SoC Keynote:The State of the Art in Integration Technology
SoC Keynote:The State of the Art in Integration TechnologySoC Keynote:The State of the Art in Integration Technology
SoC Keynote:The State of the Art in Integration Technology
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Service Fabric and Azure Service Fabric Mesh introduction
Service Fabric and Azure Service Fabric Mesh introductionService Fabric and Azure Service Fabric Mesh introduction
Service Fabric and Azure Service Fabric Mesh introduction
 
Microservices using .Net core
Microservices using .Net coreMicroservices using .Net core
Microservices using .Net core
 
Microservices and containers for the unitiated
Microservices and containers for the unitiatedMicroservices and containers for the unitiated
Microservices and containers for the unitiated
 
Hello DevOps World
Hello DevOps WorldHello DevOps World
Hello DevOps World
 
Future prediction-ds
Future prediction-dsFuture prediction-ds
Future prediction-ds
 
unit-1@ DISTRIBUTED SYSTEMS-III B.TECH -CSE.ppt
unit-1@ DISTRIBUTED SYSTEMS-III B.TECH -CSE.pptunit-1@ DISTRIBUTED SYSTEMS-III B.TECH -CSE.ppt
unit-1@ DISTRIBUTED SYSTEMS-III B.TECH -CSE.ppt
 
Cross platform mobile backend with mobile services
Cross platform mobile backend with mobile servicesCross platform mobile backend with mobile services
Cross platform mobile backend with mobile services
 
Introduction to Cloud Computing (New)
Introduction to Cloud Computing (New)Introduction to Cloud Computing (New)
Introduction to Cloud Computing (New)
 
Microservices talk
Microservices talkMicroservices talk
Microservices talk
 

Mais de Eberhard Wolff

Mais de Eberhard Wolff (16)

The Frontiers of Continuous Delivery
The Frontiers of Continuous DeliveryThe Frontiers of Continuous Delivery
The Frontiers of Continuous Delivery
 
Deployment - Done Right!
Deployment - Done Right!Deployment - Done Right!
Deployment - Done Right!
 
Data Architecture not Just for Microservices
Data Architecture not Just for MicroservicesData Architecture not Just for Microservices
Data Architecture not Just for Microservices
 
How to Split Your System into Microservices
How to Split Your System into MicroservicesHow to Split Your System into Microservices
How to Split Your System into Microservices
 
Microservices: Redundancy=Maintainability
Microservices: Redundancy=MaintainabilityMicroservices: Redundancy=Maintainability
Microservices: Redundancy=Maintainability
 
Five (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryFive (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous Delivery
 
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
 
Top Legacy Sins
Top Legacy SinsTop Legacy Sins
Top Legacy Sins
 
REST vs. Messaging For Microservices
REST vs. Messaging For MicroservicesREST vs. Messaging For Microservices
REST vs. Messaging For Microservices
 
Continuous Delivery, DevOps, Cloud - New Requirements for New Architectures
Continuous Delivery, DevOps, Cloud - New Requirements for New ArchitecturesContinuous Delivery, DevOps, Cloud - New Requirements for New Architectures
Continuous Delivery, DevOps, Cloud - New Requirements for New Architectures
 
Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring Cloud
 
Microservice - All is Small, All is Well?
Microservice - All is Small, All is Well?Microservice - All is Small, All is Well?
Microservice - All is Small, All is Well?
 
Legacy Sins
Legacy SinsLegacy Sins
Legacy Sins
 
Microservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudMicroservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring Cloud
 
NoSQL Riak MongoDB Elasticsearch - All The Same?
NoSQL Riak MongoDB Elasticsearch - All The Same?NoSQL Riak MongoDB Elasticsearch - All The Same?
NoSQL Riak MongoDB Elasticsearch - All The Same?
 
Micro Service – The New Architecture Paradigm
Micro Service – The New Architecture ParadigmMicro Service – The New Architecture Paradigm
Micro Service – The New Architecture Paradigm
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Microservices: Architecture to scale Agile