SlideShare une entreprise Scribd logo
1  sur  89
Télécharger pour lire hors ligne
@aahoogendoorn
DESIGNING AND BUILDING A MICRO-
SERVICES ARCHITECTURE. STAIRWAY
TO HEAVEN OR A HIGHWAY TO HELL?
Sander Hoogendoorn
ditisagile.nl
​Mentoring ▪ Consulting ▪ Training ▪ Agile ▪ Software architecture ▪ Code
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 2
@aahoogendoorn
www.ditisagile.nl
Sander Hoogendoorn
Me
 Dad
 Mentor, trainer, software architect, programmer
 Books, articles, conferences
Work
 Owner ditisagile.nl
 CTO Klaverblad Verzekeringen
 [PTO Capgemini]
 [Global design authority agile Capgemini]
Web
 www.sanderhoogendoorn.com
 www.smartusecase.com
 www.speedbird9.com
 @aahoogendoorn
 sander@ditisagile.nl
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 3
@aahoogendoorn
www.ditisagile.nl
@aahoogendoorn
MONOLITHS
Hard to deliver, even harder to test and impossible to maintain
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 7
@aahoogendoorn
www.ditisagile.nl
Monoliths
Advantages
 A single (layered) architecture
 A single technology stack
 A single code base maintained by multiple teams
Disadvantages
 All parts are interconnected
 Many other systems are connected to your system
 Hard to change, hard to maintain
 Long time between releases, thereby increasing risks
 Slow innovation
 Hard to move to newer technologies
 Doesn’t scale very well
Product Account
Order Customer
Products Accounts
Orders Customers
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 8
@aahoogendoorn
www.ditisagile.nl
Dependencies will kill you
@aahoogendoorn
A BRIEF HISTORY
OF COMPONENTS AND SERVICES
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 10
@aahoogendoorn
www.ditisagile.nl
Client server
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 11
@aahoogendoorn
www.ditisagile.nl
Component based development
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 12
@aahoogendoorn
www.ditisagile.nl
Service oriented architecture
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 13
@aahoogendoorn
www.ditisagile.nl
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 14
@aahoogendoorn
www.ditisagile.nl
Microservices
@aahoogendoorn
MICROSERVICES
Beyond the hype?
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 16
@aahoogendoorn
www.ditisagile.nl
Microservices. Beyond the hype?
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 17
@aahoogendoorn
www.ditisagile.nl
Gartner hype cycle
@aahoogendoorn
MICROSERVICES
The clear benefits
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 19
@aahoogendoorn
www.ditisagile.nl
BUTFIRST…ADEFINITION
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 20
@aahoogendoorn
www.ditisagile.nl
Inshort,themicroservicearchitecturalstyleisanapproachtodevelopingasingleapplicationasasuiteofsmallservices,
eachrunninginitsownprocessandcommunicatingwithlightweightmechanisms,oftenanHTTPresourceAPI.
Theseservicesarebuiltaroundbusinesscapabilitiesandindependentlydeployablebyfullyautomateddeploymentmachinery.
Thereisabareminimumofcentralizedmanagementoftheseservices,whichmaybewrittenindifferentprogramminglanguages
andusedifferentdatastoragetechnologies.
MartinFowler
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 21
@aahoogendoorn
www.ditisagile.nl
Inshort,themicroservicearchitecturalstyleisanapproachtodevelopingasingleapplicationasasuiteofsmallservices,
eachrunninginitsownprocessandcommunicatingwithlightweightmechanisms,oftenanHTTPresourceAPI.
Theseservicesarebuiltaroundbusinesscapabilitiesandindependentlydeployablebyfullyautomateddeploymentmachinery.
Thereisabareminimumofcentralizedmanagementoftheseservices,whichmaybewrittenindifferentprogramminglanguages
andusedifferentdatastoragetechnologies.
MartinFowler
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 22
@aahoogendoorn
www.ditisagile.nl
Monoliths. Scalability
Product Account
Order Customer
Product Account
Order Customer
Product Account
Order Customer
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 23
@aahoogendoorn
www.ditisagile.nl
Microservices. Scalability
Product Account
OrderCustomer
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 24
@aahoogendoorn
www.ditisagile.nl
Microservices. Scalability
Product Account
OrderCustomer
Product
CustomerCustomer Customer
Account Account
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 25
@aahoogendoorn
www.ditisagile.nl
Microservices. Scalability
Product Account
Order
Product
Customer
Account Account
CustomerCustomer
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 26
@aahoogendoorn
www.ditisagile.nl
Monoliths. Persistence
Product Account
Order Customer
Products Accounts
Orders Customers
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 27
@aahoogendoorn
www.ditisagile.nl
Microservices. Polyglot persistence
Product Account OrderCustomer
MongoDB
Customers
MongoDB
Orders
ActiveDirectory
Accounts
Oracle
Products
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 28
@aahoogendoorn
www.ditisagile.nl
Microservices. Promises
 Products not projects
 Scalable
 Decentralized governance
 Replaceable parts
 High performance
 Technology independent
 Polyglot persistence
 Easy to build
 Easy to test
 Easier deployment than monoliths
Product
Account
Order
Customer
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 29
@aahoogendoorn
www.ditisagile.nl
Microservices. But…
 What is a microservice exactly?
 How small is a microservice?
 Requirements in a microservice world
 Components or services
 Who owns a microservice?
 What technologies do you use?
 What protocols do you apply?
 How to define messages
 How to test microservices
 How to coordinate when business services run
across components?
 How to build deployment pipelines?
Product
Account
Order
Customer
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 30
@aahoogendoorn
www.ditisagile.nl
Opinions, opinions, opinions
@aahoogendoorn
ARE MICROSERVICES
A STAIRWAY TO HEAVEN?
@aahoogendoorn
OR A HIGHWAY TO HELL?
@aahoogendoorn
TWO REAL WORLD CASES
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 34
@aahoogendoorn
www.ditisagile.nl
Case 1. A major insurance company
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 35
@aahoogendoorn
www.ditisagile.nl
Where do we come from?
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 36
@aahoogendoorn
www.ditisagile.nl
Where do we come from?
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 37
@aahoogendoorn
www.ditisagile.nl
Outsourcing didn’t work
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 38
@aahoogendoorn
www.ditisagile.nl
Where do we go?
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 39
@aahoogendoorn
www.ditisagile.nl
Case 2. A product development company
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 40
@aahoogendoorn
www.ditisagile.nl
Where do we come from?
#NoArchitecture
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 41
@aahoogendoorn
www.ditisagile.nl
Where do we come from?
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 42
@aahoogendoorn
www.ditisagile.nl
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 43
@aahoogendoorn
www.ditisagile.nl
FORTHETHINGSWEHAVETOLEARN
BEFOREWECANDOTHEM,
WELEARNBYDOINGTHEM
Aristotle
@aahoogendoorn
SO WHAT DID WE LEARN?
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 45
@aahoogendoorn
www.ditisagile.nl
MICROSERVICESREQUIREANEVOLUTIONARYARCHITECTURE
@aahoogendoorn
START WITH SOME GUIDING PRINCIPLES
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 47
@aahoogendoorn
www.ditisagile.nl
Case 1. Our guiding principles
We decided to go from here
 Client thinks in business processes, so we implement
business processes
 We move away from the mainframe, to a new systems
landscape, consisting of micro-applications and micro-
components
 Requirements and documentation are modeled rather than
written
 Applications implement a single (elementary) business
process
 Components serve a single purpose and offer services
 Applications and components all have their own bounded
context – a domain model
 Applications and components will have an similar internal
software architecture to facilitate ease of maintenance and
allow for harvesting re-use
 Communication between applications and components will
use a simple open protocol - REST
@aahoogendoorn
BUSINESS PROCESSES FIRST
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 50
@aahoogendoorn
www.ditisagile.nl
Smart use cases
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 51
@aahoogendoorn
www.ditisagile.nl
Presentation
Process
Domain
Services
Outsideworld
Pages
Grids/Panels,Controls
Usecases
Flow
Domainobjects,Factories/Repositories
Enums/Valueobjects/Tupels/Referenceobjects
Servicegateways,Serviceclients
Infoobjects/Searchobjects
ComponentsRelations Dossiers Intermediaries Accounts Rates
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 52
@aahoogendoorn
www.ditisagile.nl
Serviceinterface
Process
Domain
Data/Services
Outsideworld
Resources
Representations
Usecases
Flow
Domainobjects,Factories/Repositories
Enums/Valueobjects/Tupels/Referenceobjects
Storagegateways,Storageclients
Infoobjects/Searchobjects
StorageRelations Dossiers Intermediaries DB2 MongoDB
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 53
@aahoogendoorn
www.ditisagile.nl
Case 2. Architectural requirements
Requirements
 Give clear and straightforward guidance to developers and
testers
 Clear separation of concerns
 Unify architecture over different applications
 Ready for future mobile (and web) applications
 Decoupling applications and components
 Single access point to business logic and bounded contexts
 Scaleable architecture
 Easier to test applications and components
 Improve quality of code
 Maintainability of code
 Easier to extend existing functionality
 Minimize replications of data
@aahoogendoorn
ARCHITECTURE FIRST
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 55
@aahoogendoorn
www.ditisagile.nl
Case 2. Current architectural layout
App1 App2 App3 App4 App5 App6 App7 App8 App9
Database
Controllers
Dataaccess
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 57
@aahoogendoorn
www.ditisagile.nl
Case 2. New architectural layout
App1
Mobile
App2 App3 App4 App5 App6 App7 App8 App9
DB
Component Component
Component Component ComponentComponent Component Component
DB DB DB DB DB DB DB
REST REST
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 58
@aahoogendoorn
www.ditisagile.nl
Case 2. Brownfield migration…
App1 App2 App3 App7 App8 App9
Database
Controllers
Dataaccess
…
License Account
AppNew
@aahoogendoorn
MODULAR DESIGN /
DESIGNING MICROSERVICES
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 61
@aahoogendoorn
www.ditisagile.nl
DOINGBIGUP-FRONTDESIGNISDUMB
DOINGNODESIGNISEVENDUMBER
DaveThomas
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 62
@aahoogendoorn
www.ditisagile.nl
BOUNDEDCONTEXTS
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 63
@aahoogendoorn
www.ditisagile.nl
The single unified domain model
Product
Vendor
Stock
Order
Client
Delivery
Payment
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 64
@aahoogendoorn
www.ditisagile.nl
Bounded contexts
Product
Vendor
Stock
Order
Client
Delivery
Payment
Product
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 65
@aahoogendoorn
www.ditisagile.nl
65
Bounded context
@aahoogendoorn
MODELING RESOURCES
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 69
@aahoogendoorn
www.ditisagile.nl
69Resource
model
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 70
@aahoogendoorn
www.ditisagile.nl
GOODCOMMUNICATIONISHARD
@aahoogendoorn
RESTFUL COMMUNICATION
IS NOT THAT EASY
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 72
@aahoogendoorn
www.ditisagile.nl
HTTPRETURNCODESCHEATSHEET
1**.Holdon
2**.Hereyougo
3**.Goaway
4**.Youfuckedup
5**.Ifuckedup
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 74
@aahoogendoorn
www.ditisagile.nl
BECONSERVATIVEINWHATYOUSEND,
BELIBERALINWHATYOUACCEPT
Postel’sLaw
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 75
@aahoogendoorn
www.ditisagile.nl
Case 2. Contractual guidelines … but no REST
Resource Resource
Controller Controller Controller
Serviceinterface Serviceinterface
Servicegateway ServicegatewayApplication
Contract
Component
@aahoogendoorn
TESTING MICROSERVICES
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 77
@aahoogendoorn
www.ditisagile.nl
A service development lifecycle
Code DeveloperTest Test IntegrationTest AcceptanceTest LivePrepare&Design
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 78
@aahoogendoorn
www.ditisagile.nl
What to test
Code DeveloperTest Test IntegrationTest AcceptanceTest LivePrepare&Design
Developers
Unittests
Developers
Q&A
Testers
Scenario’s&API’s
Testers
Scenario’s&API’s
Productowner
Product
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 79
@aahoogendoorn
www.ditisagile.nl
Even though you might have brilliant testers
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 80
@aahoogendoorn
www.ditisagile.nl
… please automate your tests
Code DeveloperTest Test IntegrationTest AcceptanceTest LivePrepare&Design
Developers
Unittests
Developers
Q&A
Testers
Scenario’s&API’s
Testers
Scenario’s&API’s
Productowner
Product
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 81
@aahoogendoorn
www.ditisagile.nl
WHATABOUTBEINGINDEPENDENTLYDEPLOYABLE?
@aahoogendoorn
DEPLOYING MICROSERVICES
Continuous integration, build pipelines and continuous delivery
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 83
@aahoogendoorn
www.ditisagile.nl
A typical build pipeline
Code DeveloperTest Test IntegrationTest AcceptanceTest LivePrepare&Design
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 84
@aahoogendoorn
www.ditisagile.nl
ProductionAcceptanceIntegrationTestDevelopment
A typical build pipeline
Code DeveloperTest Test IntegrationTest AcceptanceTest LivePrepare&Design
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 85
@aahoogendoorn
www.ditisagile.nl
Build pipelines in Jenkins
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 86
@aahoogendoorn
www.ditisagile.nl
Microservices. Building a deployment pipeline
Code DeveloperTest Test AcceptanceTest Acceptance Live
Code DeveloperTest Test AcceptanceTest Acceptance Live
Code DeveloperTest Test AcceptanceTest Acceptance Live
Code DeveloperTest Test AcceptanceTest Acceptance Live
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 87
@aahoogendoorn
www.ditisagile.nl
Microservices. Pipeline hell?
Codev.2 DeveloperTestv.2 Testv.2 AcceptanceTestv.2 Acceptancev.2
Code DeveloperTest Test AcceptanceTest Acceptance Live
Testv.2 AcceptanceTestv.2 Acceptancev.2 Livev.2
DeveloperTest Test AcceptanceTest Acceptance Live
Codev.3 DeveloperTestv.3
Live
Codev.2
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 88
@aahoogendoorn
www.ditisagile.nl
Maintenance
From projects to continuous delivery?
Project
MaintenanceMVP
MaintenanceContinuousdelivery
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 89
@aahoogendoorn
www.ditisagile.nl
There is no one tool to rule them all
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 90
@aahoogendoorn
www.ditisagile.nl
Moving towards DevOps is not easy
@aahoogendoorn
SOME LAST THOUGHTS
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 92
@aahoogendoorn
www.ditisagile.nl
Microservices are not for everyone
Whatarewegoingto benefit
fromthemost?
Polyglotpersistence?
Independently
deployable?
Independently
deployable?
Enforce
modulardesign?
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 93
@aahoogendoorn
www.ditisagile.nl
Minimal viable product
@aahoogendoorn
ALLOW YOUR TEAMS TO LEARN
CONTINUOUSLY…
MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL?
©2015 ditisagile.nl. All Rights Reserved 96
@aahoogendoorn
www.ditisagile.nl
The hockey stick model
@aahoogendoorn
… AND HAVE FUN
@aahoogendoorn
www.sanderhoogendoorn.com
www.smartusecase.com
www.speedbird9.com
sander@ditisagile.nl
@aahoogendoorn
REFERENCES
AND QUESTIONS

Contenu connexe

Tendances

ORACLE EBS R12 UPGRADE
ORACLE EBS R12 UPGRADEORACLE EBS R12 UPGRADE
ORACLE EBS R12 UPGRADEDinesh Gupta
 
Enterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache CamelEnterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache CamelIoan Eugen Stan
 
Alfresco Developer Series: Advanced Workflows
Alfresco Developer Series: Advanced WorkflowsAlfresco Developer Series: Advanced Workflows
Alfresco Developer Series: Advanced Workflowsardentjava
 
API first Design and Microservices
API first Design and MicroservicesAPI first Design and Microservices
API first Design and MicroservicesSven Bernhardt
 
Spring batch for large enterprises operations
Spring batch for large enterprises operations Spring batch for large enterprises operations
Spring batch for large enterprises operations Ignasi González
 
Stream and Batch Processing in the Cloud with Data Microservices
Stream and Batch Processing in the Cloud with Data MicroservicesStream and Batch Processing in the Cloud with Data Microservices
Stream and Batch Processing in the Cloud with Data Microservicesmarius_bogoevici
 
[MeetUp][1st] 오픈소스를 활용한 xflow 수집-시각화
[MeetUp][1st] 오픈소스를 활용한 xflow 수집-시각화[MeetUp][1st] 오픈소스를 활용한 xflow 수집-시각화
[MeetUp][1st] 오픈소스를 활용한 xflow 수집-시각화InfraEngineer
 
API Management Solution Powerpoint Presentation Slides
API Management Solution Powerpoint Presentation SlidesAPI Management Solution Powerpoint Presentation Slides
API Management Solution Powerpoint Presentation SlidesSlideTeam
 
CERN Data Centre Evolution
CERN Data Centre EvolutionCERN Data Centre Evolution
CERN Data Centre EvolutionGavin McCance
 
A Journey from Hexagonal Architecture to Event Sourcing - SymfonyCon Cluj 2017
A Journey from Hexagonal Architecture to Event Sourcing - SymfonyCon Cluj 2017A Journey from Hexagonal Architecture to Event Sourcing - SymfonyCon Cluj 2017
A Journey from Hexagonal Architecture to Event Sourcing - SymfonyCon Cluj 2017Carlos Buenosvinos
 
Microservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanMicroservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanAraf Karsh Hamid
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootKashif Ali Siddiqui
 
Microservices Design Patterns | Edureka
Microservices Design Patterns | EdurekaMicroservices Design Patterns | Edureka
Microservices Design Patterns | EdurekaEdureka!
 
Training Webinar: Fitting OutSystems applications into Enterprise Architecture
Training Webinar: Fitting OutSystems applications into Enterprise ArchitectureTraining Webinar: Fitting OutSystems applications into Enterprise Architecture
Training Webinar: Fitting OutSystems applications into Enterprise ArchitectureOutSystems
 
Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Claus Ibsen
 
클라우드 엔지니어 취업 고군 분투기
클라우드 엔지니어 취업 고군 분투기클라우드 엔지니어 취업 고군 분투기
클라우드 엔지니어 취업 고군 분투기InfraEngineer
 
High Availability for OpenStack
High Availability for OpenStackHigh Availability for OpenStack
High Availability for OpenStackKamesh Pemmaraju
 

Tendances (20)

ORACLE EBS R12 UPGRADE
ORACLE EBS R12 UPGRADEORACLE EBS R12 UPGRADE
ORACLE EBS R12 UPGRADE
 
Enterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache CamelEnterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache Camel
 
Alfresco Developer Series: Advanced Workflows
Alfresco Developer Series: Advanced WorkflowsAlfresco Developer Series: Advanced Workflows
Alfresco Developer Series: Advanced Workflows
 
API first Design and Microservices
API first Design and MicroservicesAPI first Design and Microservices
API first Design and Microservices
 
Spring batch for large enterprises operations
Spring batch for large enterprises operations Spring batch for large enterprises operations
Spring batch for large enterprises operations
 
Pub/Sub Messaging
Pub/Sub MessagingPub/Sub Messaging
Pub/Sub Messaging
 
Stream and Batch Processing in the Cloud with Data Microservices
Stream and Batch Processing in the Cloud with Data MicroservicesStream and Batch Processing in the Cloud with Data Microservices
Stream and Batch Processing in the Cloud with Data Microservices
 
[MeetUp][1st] 오픈소스를 활용한 xflow 수집-시각화
[MeetUp][1st] 오픈소스를 활용한 xflow 수집-시각화[MeetUp][1st] 오픈소스를 활용한 xflow 수집-시각화
[MeetUp][1st] 오픈소스를 활용한 xflow 수집-시각화
 
API Management Solution Powerpoint Presentation Slides
API Management Solution Powerpoint Presentation SlidesAPI Management Solution Powerpoint Presentation Slides
API Management Solution Powerpoint Presentation Slides
 
CERN Data Centre Evolution
CERN Data Centre EvolutionCERN Data Centre Evolution
CERN Data Centre Evolution
 
A Journey from Hexagonal Architecture to Event Sourcing - SymfonyCon Cluj 2017
A Journey from Hexagonal Architecture to Event Sourcing - SymfonyCon Cluj 2017A Journey from Hexagonal Architecture to Event Sourcing - SymfonyCon Cluj 2017
A Journey from Hexagonal Architecture to Event Sourcing - SymfonyCon Cluj 2017
 
Microservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanMicroservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, Kanban
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
 
Microservices Design Patterns | Edureka
Microservices Design Patterns | EdurekaMicroservices Design Patterns | Edureka
Microservices Design Patterns | Edureka
 
Apache Kafka - Overview
Apache Kafka - OverviewApache Kafka - Overview
Apache Kafka - Overview
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
Training Webinar: Fitting OutSystems applications into Enterprise Architecture
Training Webinar: Fitting OutSystems applications into Enterprise ArchitectureTraining Webinar: Fitting OutSystems applications into Enterprise Architecture
Training Webinar: Fitting OutSystems applications into Enterprise Architecture
 
Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...
 
클라우드 엔지니어 취업 고군 분투기
클라우드 엔지니어 취업 고군 분투기클라우드 엔지니어 취업 고군 분투기
클라우드 엔지니어 취업 고군 분투기
 
High Availability for OpenStack
High Availability for OpenStackHigh Availability for OpenStack
High Availability for OpenStack
 

En vedette

Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)Chris Richardson
 
MicroService Architecture
MicroService ArchitectureMicroService Architecture
MicroService ArchitectureFred George
 
Microservices: Decomposing Applications for Deployability and Scalability (ja...
Microservices: Decomposing Applications for Deployability and Scalability (ja...Microservices: Decomposing Applications for Deployability and Scalability (ja...
Microservices: Decomposing Applications for Deployability and Scalability (ja...Chris Richardson
 
Microservices Architecture for Web Applications using AWS Lambda and more
Microservices Architecture for Web Applications using AWS Lambda and moreMicroservices Architecture for Web Applications using AWS Lambda and more
Microservices Architecture for Web Applications using AWS Lambda and moreMitoc Group
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices ArchitectureIzzet Mustafaiev
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service ArchitectureEduards Sizovs
 
Microservices at Spotify
Microservices at SpotifyMicroservices at Spotify
Microservices at SpotifyKevin Goldsmith
 
Migrating from Spring Applications to Java EE 6 [CHINESE VERSION]
Migrating from Spring Applications to Java EE 6 [CHINESE VERSION]Migrating from Spring Applications to Java EE 6 [CHINESE VERSION]
Migrating from Spring Applications to Java EE 6 [CHINESE VERSION]Bert Ertman
 
Introduction to the Nancy Framework
Introduction to the Nancy FrameworkIntroduction to the Nancy Framework
Introduction to the Nancy FrameworkTim Bourguignon
 
Microservices. The good the bad and the ugly
Microservices. The good the bad and the uglyMicroservices. The good the bad and the ugly
Microservices. The good the bad and the uglySander Hoogendoorn
 
How Hootsuite Manages its Growing Microservice Landscape - Adam Arsenault
How Hootsuite Manages its Growing Microservice Landscape - Adam ArsenaultHow Hootsuite Manages its Growing Microservice Landscape - Adam Arsenault
How Hootsuite Manages its Growing Microservice Landscape - Adam ArsenaultAmbassador Labs
 
WSO2ConUS 2015 - Introduction to WSO2 Microservices Server (MSS)
WSO2ConUS 2015 - Introduction to WSO2 Microservices Server (MSS)WSO2ConUS 2015 - Introduction to WSO2 Microservices Server (MSS)
WSO2ConUS 2015 - Introduction to WSO2 Microservices Server (MSS)Afkham Azeez
 
Microservices for Mortals
Microservices for MortalsMicroservices for Mortals
Microservices for MortalsBert Ertman
 
Spring integration概要
Spring integration概要Spring integration概要
Spring integration概要kuroiwa
 
Microservices Tutorial Session at JavaOne 2016
Microservices Tutorial Session at JavaOne 2016Microservices Tutorial Session at JavaOne 2016
Microservices Tutorial Session at JavaOne 2016Jason Swartz
 
Accidental Architecture 0.9
Accidental Architecture 0.9Accidental Architecture 0.9
Accidental Architecture 0.9Mark Cathcart
 

En vedette (20)

Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)
 
MicroService Architecture
MicroService ArchitectureMicroService Architecture
MicroService Architecture
 
Microservices: Decomposing Applications for Deployability and Scalability (ja...
Microservices: Decomposing Applications for Deployability and Scalability (ja...Microservices: Decomposing Applications for Deployability and Scalability (ja...
Microservices: Decomposing Applications for Deployability and Scalability (ja...
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Microservices Architecture for Web Applications using AWS Lambda and more
Microservices Architecture for Web Applications using AWS Lambda and moreMicroservices Architecture for Web Applications using AWS Lambda and more
Microservices Architecture for Web Applications using AWS Lambda and more
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service Architecture
 
Microservices at Spotify
Microservices at SpotifyMicroservices at Spotify
Microservices at Spotify
 
Comics in the classroom
Comics in the classroomComics in the classroom
Comics in the classroom
 
Cheap and Easy Ways to Make Comics or Cartoons for Digital Storytelling
Cheap and Easy Ways to Make Comics or Cartoons for Digital Storytelling Cheap and Easy Ways to Make Comics or Cartoons for Digital Storytelling
Cheap and Easy Ways to Make Comics or Cartoons for Digital Storytelling
 
Migrating from Spring Applications to Java EE 6 [CHINESE VERSION]
Migrating from Spring Applications to Java EE 6 [CHINESE VERSION]Migrating from Spring Applications to Java EE 6 [CHINESE VERSION]
Migrating from Spring Applications to Java EE 6 [CHINESE VERSION]
 
Introduction to the Nancy Framework
Introduction to the Nancy FrameworkIntroduction to the Nancy Framework
Introduction to the Nancy Framework
 
Microservices. The good the bad and the ugly
Microservices. The good the bad and the uglyMicroservices. The good the bad and the ugly
Microservices. The good the bad and the ugly
 
How Hootsuite Manages its Growing Microservice Landscape - Adam Arsenault
How Hootsuite Manages its Growing Microservice Landscape - Adam ArsenaultHow Hootsuite Manages its Growing Microservice Landscape - Adam Arsenault
How Hootsuite Manages its Growing Microservice Landscape - Adam Arsenault
 
Digital Transformation and Microservices
Digital Transformation and MicroservicesDigital Transformation and Microservices
Digital Transformation and Microservices
 
WSO2ConUS 2015 - Introduction to WSO2 Microservices Server (MSS)
WSO2ConUS 2015 - Introduction to WSO2 Microservices Server (MSS)WSO2ConUS 2015 - Introduction to WSO2 Microservices Server (MSS)
WSO2ConUS 2015 - Introduction to WSO2 Microservices Server (MSS)
 
Microservices for Mortals
Microservices for MortalsMicroservices for Mortals
Microservices for Mortals
 
Spring integration概要
Spring integration概要Spring integration概要
Spring integration概要
 
Microservices Tutorial Session at JavaOne 2016
Microservices Tutorial Session at JavaOne 2016Microservices Tutorial Session at JavaOne 2016
Microservices Tutorial Session at JavaOne 2016
 
Accidental Architecture 0.9
Accidental Architecture 0.9Accidental Architecture 0.9
Accidental Architecture 0.9
 

Similaire à Designing and building a micro-services architecture. Stairway to heaven or a highway to hell?

Thirty months of microservices. Stairway to heaven or highway to hell
Thirty months of microservices. Stairway to heaven or highway to hellThirty months of microservices. Stairway to heaven or highway to hell
Thirty months of microservices. Stairway to heaven or highway to hellSander Hoogendoorn
 
Microservices. Stairway to heaven or highway to hell
Microservices. Stairway to heaven or highway to hellMicroservices. Stairway to heaven or highway to hell
Microservices. Stairway to heaven or highway to hellSander Hoogendoorn
 
Microservices. The good, the bad and the ugly.
Microservices. The good, the bad and the ugly.Microservices. The good, the bad and the ugly.
Microservices. The good, the bad and the ugly.Sander Hoogendoorn
 
Designing, building, testing and deploying microservices. A stairway to heave...
Designing, building, testing and deploying microservices. A stairway to heave...Designing, building, testing and deploying microservices. A stairway to heave...
Designing, building, testing and deploying microservices. A stairway to heave...Codemotion
 
Geecon Prague 2016 - Thirty months of microservices
Geecon Prague 2016 - Thirty months of microservicesGeecon Prague 2016 - Thirty months of microservices
Geecon Prague 2016 - Thirty months of microservicesSander Hoogendoorn
 
Growing a microservices landscape (with smart use cases)
Growing a microservices landscape (with smart use cases)Growing a microservices landscape (with smart use cases)
Growing a microservices landscape (with smart use cases)Sander Hoogendoorn
 
Scaling agile from the ground up
Scaling agile from the ground upScaling agile from the ground up
Scaling agile from the ground upSander Hoogendoorn
 
[HUBFORUM SINGAPORE] HUB INSTITUTE, Digital Transformation is NOW !
[HUBFORUM SINGAPORE] HUB INSTITUTE, Digital Transformation is NOW ![HUBFORUM SINGAPORE] HUB INSTITUTE, Digital Transformation is NOW !
[HUBFORUM SINGAPORE] HUB INSTITUTE, Digital Transformation is NOW !HUB INSTITUTE
 
Thirty months of microservices. Stairway to heaven or highway to hell? - Sand...
Thirty months of microservices. Stairway to heaven or highway to hell? - Sand...Thirty months of microservices. Stairway to heaven or highway to hell? - Sand...
Thirty months of microservices. Stairway to heaven or highway to hell? - Sand...Codemotion
 
CIO Panel: Digital Transformation to Achieve Speed and Control
CIO Panel: Digital Transformation to Achieve Speed and ControlCIO Panel: Digital Transformation to Achieve Speed and Control
CIO Panel: Digital Transformation to Achieve Speed and ControlMuleSoft
 
Converge 2018 - Funding Your Security Program Through Digital Transformation
Converge 2018 - Funding Your Security Program Through Digital TransformationConverge 2018 - Funding Your Security Program Through Digital Transformation
Converge 2018 - Funding Your Security Program Through Digital TransformationMatt Topper
 
Innovate Right Now: Applied Innovation Exchange and Technovision
Innovate Right Now: Applied Innovation Exchange and TechnovisionInnovate Right Now: Applied Innovation Exchange and Technovision
Innovate Right Now: Applied Innovation Exchange and TechnovisionCapgemini
 
Bringing Partners, Teams & Systems Together through APIs
Bringing Partners, Teams & Systems Together through APIsBringing Partners, Teams & Systems Together through APIs
Bringing Partners, Teams & Systems Together through APIsApigee | Google Cloud
 
Webinar: That's the Way the Network Perimeter Crumbles - Cybersecurity for th...
Webinar: That's the Way the Network Perimeter Crumbles - Cybersecurity for th...Webinar: That's the Way the Network Perimeter Crumbles - Cybersecurity for th...
Webinar: That's the Way the Network Perimeter Crumbles - Cybersecurity for th...Cyren, Inc
 
About Simplus
About SimplusAbout Simplus
About SimplusAmy Cook
 
Opticon 2015-Technology Trends, the “We Economy” and Optie Awards
Opticon 2015-Technology Trends, the “We Economy” and Optie AwardsOpticon 2015-Technology Trends, the “We Economy” and Optie Awards
Opticon 2015-Technology Trends, the “We Economy” and Optie AwardsOptimizely
 
Ventana Research 2015 Technology Innovation Awards
Ventana Research 2015 Technology Innovation AwardsVentana Research 2015 Technology Innovation Awards
Ventana Research 2015 Technology Innovation AwardsVentana Research
 
Letashow sales deck.pptx [repaired] (2)
Letashow sales deck.pptx [repaired] (2)Letashow sales deck.pptx [repaired] (2)
Letashow sales deck.pptx [repaired] (2)Archiebold Manasseh
 

Similaire à Designing and building a micro-services architecture. Stairway to heaven or a highway to hell? (20)

Modeling Microservices
Modeling MicroservicesModeling Microservices
Modeling Microservices
 
Thirty months of microservices. Stairway to heaven or highway to hell
Thirty months of microservices. Stairway to heaven or highway to hellThirty months of microservices. Stairway to heaven or highway to hell
Thirty months of microservices. Stairway to heaven or highway to hell
 
Microservices. Stairway to heaven or highway to hell
Microservices. Stairway to heaven or highway to hellMicroservices. Stairway to heaven or highway to hell
Microservices. Stairway to heaven or highway to hell
 
Microservices. The good, the bad and the ugly.
Microservices. The good, the bad and the ugly.Microservices. The good, the bad and the ugly.
Microservices. The good, the bad and the ugly.
 
Designing, building, testing and deploying microservices. A stairway to heave...
Designing, building, testing and deploying microservices. A stairway to heave...Designing, building, testing and deploying microservices. A stairway to heave...
Designing, building, testing and deploying microservices. A stairway to heave...
 
Geecon Prague 2016 - Thirty months of microservices
Geecon Prague 2016 - Thirty months of microservicesGeecon Prague 2016 - Thirty months of microservices
Geecon Prague 2016 - Thirty months of microservices
 
Growing a microservices landscape (with smart use cases)
Growing a microservices landscape (with smart use cases)Growing a microservices landscape (with smart use cases)
Growing a microservices landscape (with smart use cases)
 
Scaling agile from the ground up
Scaling agile from the ground upScaling agile from the ground up
Scaling agile from the ground up
 
[HUBFORUM SINGAPORE] HUB INSTITUTE, Digital Transformation is NOW !
[HUBFORUM SINGAPORE] HUB INSTITUTE, Digital Transformation is NOW ![HUBFORUM SINGAPORE] HUB INSTITUTE, Digital Transformation is NOW !
[HUBFORUM SINGAPORE] HUB INSTITUTE, Digital Transformation is NOW !
 
Thirty months of microservices. Stairway to heaven or highway to hell? - Sand...
Thirty months of microservices. Stairway to heaven or highway to hell? - Sand...Thirty months of microservices. Stairway to heaven or highway to hell? - Sand...
Thirty months of microservices. Stairway to heaven or highway to hell? - Sand...
 
CIO Panel: Digital Transformation to Achieve Speed and Control
CIO Panel: Digital Transformation to Achieve Speed and ControlCIO Panel: Digital Transformation to Achieve Speed and Control
CIO Panel: Digital Transformation to Achieve Speed and Control
 
Converge 2018 - Funding Your Security Program Through Digital Transformation
Converge 2018 - Funding Your Security Program Through Digital TransformationConverge 2018 - Funding Your Security Program Through Digital Transformation
Converge 2018 - Funding Your Security Program Through Digital Transformation
 
Innovate Right Now: Applied Innovation Exchange and Technovision
Innovate Right Now: Applied Innovation Exchange and TechnovisionInnovate Right Now: Applied Innovation Exchange and Technovision
Innovate Right Now: Applied Innovation Exchange and Technovision
 
Bringing Partners, Teams & Systems Together through APIs
Bringing Partners, Teams & Systems Together through APIsBringing Partners, Teams & Systems Together through APIs
Bringing Partners, Teams & Systems Together through APIs
 
Webinar: That's the Way the Network Perimeter Crumbles - Cybersecurity for th...
Webinar: That's the Way the Network Perimeter Crumbles - Cybersecurity for th...Webinar: That's the Way the Network Perimeter Crumbles - Cybersecurity for th...
Webinar: That's the Way the Network Perimeter Crumbles - Cybersecurity for th...
 
About Simplus
About SimplusAbout Simplus
About Simplus
 
About Simplus
About SimplusAbout Simplus
About Simplus
 
Opticon 2015-Technology Trends, the “We Economy” and Optie Awards
Opticon 2015-Technology Trends, the “We Economy” and Optie AwardsOpticon 2015-Technology Trends, the “We Economy” and Optie Awards
Opticon 2015-Technology Trends, the “We Economy” and Optie Awards
 
Ventana Research 2015 Technology Innovation Awards
Ventana Research 2015 Technology Innovation AwardsVentana Research 2015 Technology Innovation Awards
Ventana Research 2015 Technology Innovation Awards
 
Letashow sales deck.pptx [repaired] (2)
Letashow sales deck.pptx [repaired] (2)Letashow sales deck.pptx [repaired] (2)
Letashow sales deck.pptx [repaired] (2)
 

Plus de Sander Hoogendoorn

Flow. The official worst software development approach in history
Flow. The official worst software development approach in historyFlow. The official worst software development approach in history
Flow. The official worst software development approach in historySander Hoogendoorn
 
It's a small world after all. How thinking small changes software big time
It's a small world after all. How thinking small changes software big timeIt's a small world after all. How thinking small changes software big time
It's a small world after all. How thinking small changes software big timeSander Hoogendoorn
 
Welcome to the world of micro-apps
Welcome to the world of micro-appsWelcome to the world of micro-apps
Welcome to the world of micro-appsSander Hoogendoorn
 
Welcome to the world of micro-applications
Welcome to the world of micro-applicationsWelcome to the world of micro-applications
Welcome to the world of micro-applicationsSander Hoogendoorn
 
Wat is agile en wat betekent het voor mij?
Wat is agile en wat betekent het voor mij?Wat is agile en wat betekent het voor mij?
Wat is agile en wat betekent het voor mij?Sander Hoogendoorn
 
20180509 - It's a small world after all. How thinking small is changing softw...
20180509 - It's a small world after all. How thinking small is changing softw...20180509 - It's a small world after all. How thinking small is changing softw...
20180509 - It's a small world after all. How thinking small is changing softw...Sander Hoogendoorn
 
W-JAX 2017 Keynote. It's a small world after all. How thinking small is chang...
W-JAX 2017 Keynote. It's a small world after all. How thinking small is chang...W-JAX 2017 Keynote. It's a small world after all. How thinking small is chang...
W-JAX 2017 Keynote. It's a small world after all. How thinking small is chang...Sander Hoogendoorn
 
Swanseacon 2017 Keynote - It's a small world after all.
Swanseacon 2017 Keynote - It's a small world after all.Swanseacon 2017 Keynote - It's a small world after all.
Swanseacon 2017 Keynote - It's a small world after all.Sander Hoogendoorn
 
Beyond breaking bad. The current state of agile in ten easy lessons
Beyond breaking bad. The current state of agile in ten easy lessonsBeyond breaking bad. The current state of agile in ten easy lessons
Beyond breaking bad. The current state of agile in ten easy lessonsSander Hoogendoorn
 
Beyond breaking bad. The current state of agile in ten easy lessons
Beyond breaking bad. The current state of agile in ten easy lessonsBeyond breaking bad. The current state of agile in ten easy lessons
Beyond breaking bad. The current state of agile in ten easy lessonsSander Hoogendoorn
 
The state of agile in ten easy learned lessons
The state of agile in ten easy learned lessonsThe state of agile in ten easy learned lessons
The state of agile in ten easy learned lessonsSander Hoogendoorn
 
Pragmatic agile model driven development using smart use cases
Pragmatic agile model driven development using smart use casesPragmatic agile model driven development using smart use cases
Pragmatic agile model driven development using smart use casesSander Hoogendoorn
 
Beyond breaking bad. The state of agile in ten easy lessons
Beyond breaking bad. The state of agile in ten easy lessonsBeyond breaking bad. The state of agile in ten easy lessons
Beyond breaking bad. The state of agile in ten easy lessonsSander Hoogendoorn
 
An introduction to agile and beyond
An introduction to agile and beyondAn introduction to agile and beyond
An introduction to agile and beyondSander Hoogendoorn
 
How Frameworks Can Kill Your Projects at XP Days Ukraine 2013 in Kiev
How Frameworks Can Kill Your Projects at XP Days Ukraine 2013 in KievHow Frameworks Can Kill Your Projects at XP Days Ukraine 2013 in Kiev
How Frameworks Can Kill Your Projects at XP Days Ukraine 2013 in KievSander Hoogendoorn
 
Agile anti-patterns at CodeMotion Madrid
Agile anti-patterns at CodeMotion MadridAgile anti-patterns at CodeMotion Madrid
Agile anti-patterns at CodeMotion MadridSander Hoogendoorn
 
Being Smart at agile. A brief introduction to Capgemini's Accelerated Deliver...
Being Smart at agile. A brief introduction to Capgemini's Accelerated Deliver...Being Smart at agile. A brief introduction to Capgemini's Accelerated Deliver...
Being Smart at agile. A brief introduction to Capgemini's Accelerated Deliver...Sander Hoogendoorn
 
Building a .NET web application on top of COBOL. Live from the trenches
Building a .NET web application on top of COBOL. Live from the trenchesBuilding a .NET web application on top of COBOL. Live from the trenches
Building a .NET web application on top of COBOL. Live from the trenchesSander Hoogendoorn
 
The invisible man. The crucial but undefined role of testers in agile
The invisible man. The crucial but undefined role of testers in agileThe invisible man. The crucial but undefined role of testers in agile
The invisible man. The crucial but undefined role of testers in agileSander Hoogendoorn
 

Plus de Sander Hoogendoorn (20)

Flow. The official worst software development approach in history
Flow. The official worst software development approach in historyFlow. The official worst software development approach in history
Flow. The official worst software development approach in history
 
It's a small world after all. How thinking small changes software big time
It's a small world after all. How thinking small changes software big timeIt's a small world after all. How thinking small changes software big time
It's a small world after all. How thinking small changes software big time
 
Welcome to the world of micro-apps
Welcome to the world of micro-appsWelcome to the world of micro-apps
Welcome to the world of micro-apps
 
Welcome to the world of micro-applications
Welcome to the world of micro-applicationsWelcome to the world of micro-applications
Welcome to the world of micro-applications
 
Wat is agile en wat betekent het voor mij?
Wat is agile en wat betekent het voor mij?Wat is agile en wat betekent het voor mij?
Wat is agile en wat betekent het voor mij?
 
20180509 - It's a small world after all. How thinking small is changing softw...
20180509 - It's a small world after all. How thinking small is changing softw...20180509 - It's a small world after all. How thinking small is changing softw...
20180509 - It's a small world after all. How thinking small is changing softw...
 
W-JAX 2017 Keynote. It's a small world after all. How thinking small is chang...
W-JAX 2017 Keynote. It's a small world after all. How thinking small is chang...W-JAX 2017 Keynote. It's a small world after all. How thinking small is chang...
W-JAX 2017 Keynote. It's a small world after all. How thinking small is chang...
 
Swanseacon 2017 Keynote - It's a small world after all.
Swanseacon 2017 Keynote - It's a small world after all.Swanseacon 2017 Keynote - It's a small world after all.
Swanseacon 2017 Keynote - It's a small world after all.
 
Building Better Software Faster
Building Better Software FasterBuilding Better Software Faster
Building Better Software Faster
 
Beyond breaking bad. The current state of agile in ten easy lessons
Beyond breaking bad. The current state of agile in ten easy lessonsBeyond breaking bad. The current state of agile in ten easy lessons
Beyond breaking bad. The current state of agile in ten easy lessons
 
Beyond breaking bad. The current state of agile in ten easy lessons
Beyond breaking bad. The current state of agile in ten easy lessonsBeyond breaking bad. The current state of agile in ten easy lessons
Beyond breaking bad. The current state of agile in ten easy lessons
 
The state of agile in ten easy learned lessons
The state of agile in ten easy learned lessonsThe state of agile in ten easy learned lessons
The state of agile in ten easy learned lessons
 
Pragmatic agile model driven development using smart use cases
Pragmatic agile model driven development using smart use casesPragmatic agile model driven development using smart use cases
Pragmatic agile model driven development using smart use cases
 
Beyond breaking bad. The state of agile in ten easy lessons
Beyond breaking bad. The state of agile in ten easy lessonsBeyond breaking bad. The state of agile in ten easy lessons
Beyond breaking bad. The state of agile in ten easy lessons
 
An introduction to agile and beyond
An introduction to agile and beyondAn introduction to agile and beyond
An introduction to agile and beyond
 
How Frameworks Can Kill Your Projects at XP Days Ukraine 2013 in Kiev
How Frameworks Can Kill Your Projects at XP Days Ukraine 2013 in KievHow Frameworks Can Kill Your Projects at XP Days Ukraine 2013 in Kiev
How Frameworks Can Kill Your Projects at XP Days Ukraine 2013 in Kiev
 
Agile anti-patterns at CodeMotion Madrid
Agile anti-patterns at CodeMotion MadridAgile anti-patterns at CodeMotion Madrid
Agile anti-patterns at CodeMotion Madrid
 
Being Smart at agile. A brief introduction to Capgemini's Accelerated Deliver...
Being Smart at agile. A brief introduction to Capgemini's Accelerated Deliver...Being Smart at agile. A brief introduction to Capgemini's Accelerated Deliver...
Being Smart at agile. A brief introduction to Capgemini's Accelerated Deliver...
 
Building a .NET web application on top of COBOL. Live from the trenches
Building a .NET web application on top of COBOL. Live from the trenchesBuilding a .NET web application on top of COBOL. Live from the trenches
Building a .NET web application on top of COBOL. Live from the trenches
 
The invisible man. The crucial but undefined role of testers in agile
The invisible man. The crucial but undefined role of testers in agileThe invisible man. The crucial but undefined role of testers in agile
The invisible man. The crucial but undefined role of testers in agile
 

Dernier

Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 

Dernier (20)

Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 

Designing and building a micro-services architecture. Stairway to heaven or a highway to hell?

  • 1. @aahoogendoorn DESIGNING AND BUILDING A MICRO- SERVICES ARCHITECTURE. STAIRWAY TO HEAVEN OR A HIGHWAY TO HELL? Sander Hoogendoorn ditisagile.nl ​Mentoring ▪ Consulting ▪ Training ▪ Agile ▪ Software architecture ▪ Code
  • 2. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 2 @aahoogendoorn www.ditisagile.nl Sander Hoogendoorn Me  Dad  Mentor, trainer, software architect, programmer  Books, articles, conferences Work  Owner ditisagile.nl  CTO Klaverblad Verzekeringen  [PTO Capgemini]  [Global design authority agile Capgemini] Web  www.sanderhoogendoorn.com  www.smartusecase.com  www.speedbird9.com  @aahoogendoorn  sander@ditisagile.nl
  • 3. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 3 @aahoogendoorn www.ditisagile.nl
  • 4. @aahoogendoorn MONOLITHS Hard to deliver, even harder to test and impossible to maintain
  • 5. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 7 @aahoogendoorn www.ditisagile.nl Monoliths Advantages  A single (layered) architecture  A single technology stack  A single code base maintained by multiple teams Disadvantages  All parts are interconnected  Many other systems are connected to your system  Hard to change, hard to maintain  Long time between releases, thereby increasing risks  Slow innovation  Hard to move to newer technologies  Doesn’t scale very well Product Account Order Customer Products Accounts Orders Customers
  • 6. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 8 @aahoogendoorn www.ditisagile.nl Dependencies will kill you
  • 7. @aahoogendoorn A BRIEF HISTORY OF COMPONENTS AND SERVICES
  • 8. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 10 @aahoogendoorn www.ditisagile.nl Client server
  • 9. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 11 @aahoogendoorn www.ditisagile.nl Component based development
  • 10. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 12 @aahoogendoorn www.ditisagile.nl Service oriented architecture
  • 11. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 13 @aahoogendoorn www.ditisagile.nl
  • 12. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 14 @aahoogendoorn www.ditisagile.nl Microservices
  • 14. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 16 @aahoogendoorn www.ditisagile.nl Microservices. Beyond the hype?
  • 15. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 17 @aahoogendoorn www.ditisagile.nl Gartner hype cycle
  • 17. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 19 @aahoogendoorn www.ditisagile.nl BUTFIRST…ADEFINITION
  • 18. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 20 @aahoogendoorn www.ditisagile.nl Inshort,themicroservicearchitecturalstyleisanapproachtodevelopingasingleapplicationasasuiteofsmallservices, eachrunninginitsownprocessandcommunicatingwithlightweightmechanisms,oftenanHTTPresourceAPI. Theseservicesarebuiltaroundbusinesscapabilitiesandindependentlydeployablebyfullyautomateddeploymentmachinery. Thereisabareminimumofcentralizedmanagementoftheseservices,whichmaybewrittenindifferentprogramminglanguages andusedifferentdatastoragetechnologies. MartinFowler
  • 19. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 21 @aahoogendoorn www.ditisagile.nl Inshort,themicroservicearchitecturalstyleisanapproachtodevelopingasingleapplicationasasuiteofsmallservices, eachrunninginitsownprocessandcommunicatingwithlightweightmechanisms,oftenanHTTPresourceAPI. Theseservicesarebuiltaroundbusinesscapabilitiesandindependentlydeployablebyfullyautomateddeploymentmachinery. Thereisabareminimumofcentralizedmanagementoftheseservices,whichmaybewrittenindifferentprogramminglanguages andusedifferentdatastoragetechnologies. MartinFowler
  • 20. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 22 @aahoogendoorn www.ditisagile.nl Monoliths. Scalability Product Account Order Customer Product Account Order Customer Product Account Order Customer
  • 21. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 23 @aahoogendoorn www.ditisagile.nl Microservices. Scalability Product Account OrderCustomer
  • 22. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 24 @aahoogendoorn www.ditisagile.nl Microservices. Scalability Product Account OrderCustomer Product CustomerCustomer Customer Account Account
  • 23. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 25 @aahoogendoorn www.ditisagile.nl Microservices. Scalability Product Account Order Product Customer Account Account CustomerCustomer
  • 24. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 26 @aahoogendoorn www.ditisagile.nl Monoliths. Persistence Product Account Order Customer Products Accounts Orders Customers
  • 25. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 27 @aahoogendoorn www.ditisagile.nl Microservices. Polyglot persistence Product Account OrderCustomer MongoDB Customers MongoDB Orders ActiveDirectory Accounts Oracle Products
  • 26. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 28 @aahoogendoorn www.ditisagile.nl Microservices. Promises  Products not projects  Scalable  Decentralized governance  Replaceable parts  High performance  Technology independent  Polyglot persistence  Easy to build  Easy to test  Easier deployment than monoliths Product Account Order Customer
  • 27. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 29 @aahoogendoorn www.ditisagile.nl Microservices. But…  What is a microservice exactly?  How small is a microservice?  Requirements in a microservice world  Components or services  Who owns a microservice?  What technologies do you use?  What protocols do you apply?  How to define messages  How to test microservices  How to coordinate when business services run across components?  How to build deployment pipelines? Product Account Order Customer
  • 28. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 30 @aahoogendoorn www.ditisagile.nl Opinions, opinions, opinions
  • 32. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 34 @aahoogendoorn www.ditisagile.nl Case 1. A major insurance company
  • 33. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 35 @aahoogendoorn www.ditisagile.nl Where do we come from?
  • 34. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 36 @aahoogendoorn www.ditisagile.nl Where do we come from?
  • 35. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 37 @aahoogendoorn www.ditisagile.nl Outsourcing didn’t work
  • 36. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 38 @aahoogendoorn www.ditisagile.nl Where do we go?
  • 37. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 39 @aahoogendoorn www.ditisagile.nl Case 2. A product development company
  • 38. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 40 @aahoogendoorn www.ditisagile.nl Where do we come from? #NoArchitecture
  • 39. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 41 @aahoogendoorn www.ditisagile.nl Where do we come from?
  • 40. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 42 @aahoogendoorn www.ditisagile.nl
  • 41. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 43 @aahoogendoorn www.ditisagile.nl FORTHETHINGSWEHAVETOLEARN BEFOREWECANDOTHEM, WELEARNBYDOINGTHEM Aristotle
  • 43. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 45 @aahoogendoorn www.ditisagile.nl MICROSERVICESREQUIREANEVOLUTIONARYARCHITECTURE
  • 44. @aahoogendoorn START WITH SOME GUIDING PRINCIPLES
  • 45. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 47 @aahoogendoorn www.ditisagile.nl Case 1. Our guiding principles We decided to go from here  Client thinks in business processes, so we implement business processes  We move away from the mainframe, to a new systems landscape, consisting of micro-applications and micro- components  Requirements and documentation are modeled rather than written  Applications implement a single (elementary) business process  Components serve a single purpose and offer services  Applications and components all have their own bounded context – a domain model  Applications and components will have an similar internal software architecture to facilitate ease of maintenance and allow for harvesting re-use  Communication between applications and components will use a simple open protocol - REST
  • 47. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 50 @aahoogendoorn www.ditisagile.nl Smart use cases
  • 48. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 51 @aahoogendoorn www.ditisagile.nl Presentation Process Domain Services Outsideworld Pages Grids/Panels,Controls Usecases Flow Domainobjects,Factories/Repositories Enums/Valueobjects/Tupels/Referenceobjects Servicegateways,Serviceclients Infoobjects/Searchobjects ComponentsRelations Dossiers Intermediaries Accounts Rates
  • 49. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 52 @aahoogendoorn www.ditisagile.nl Serviceinterface Process Domain Data/Services Outsideworld Resources Representations Usecases Flow Domainobjects,Factories/Repositories Enums/Valueobjects/Tupels/Referenceobjects Storagegateways,Storageclients Infoobjects/Searchobjects StorageRelations Dossiers Intermediaries DB2 MongoDB
  • 50. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 53 @aahoogendoorn www.ditisagile.nl Case 2. Architectural requirements Requirements  Give clear and straightforward guidance to developers and testers  Clear separation of concerns  Unify architecture over different applications  Ready for future mobile (and web) applications  Decoupling applications and components  Single access point to business logic and bounded contexts  Scaleable architecture  Easier to test applications and components  Improve quality of code  Maintainability of code  Easier to extend existing functionality  Minimize replications of data
  • 52. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 55 @aahoogendoorn www.ditisagile.nl Case 2. Current architectural layout App1 App2 App3 App4 App5 App6 App7 App8 App9 Database Controllers Dataaccess
  • 53. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 57 @aahoogendoorn www.ditisagile.nl Case 2. New architectural layout App1 Mobile App2 App3 App4 App5 App6 App7 App8 App9 DB Component Component Component Component ComponentComponent Component Component DB DB DB DB DB DB DB REST REST
  • 54. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 58 @aahoogendoorn www.ditisagile.nl Case 2. Brownfield migration… App1 App2 App3 App7 App8 App9 Database Controllers Dataaccess … License Account AppNew
  • 56. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 61 @aahoogendoorn www.ditisagile.nl DOINGBIGUP-FRONTDESIGNISDUMB DOINGNODESIGNISEVENDUMBER DaveThomas
  • 57. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 62 @aahoogendoorn www.ditisagile.nl BOUNDEDCONTEXTS
  • 58. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 63 @aahoogendoorn www.ditisagile.nl The single unified domain model Product Vendor Stock Order Client Delivery Payment
  • 59. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 64 @aahoogendoorn www.ditisagile.nl Bounded contexts Product Vendor Stock Order Client Delivery Payment Product
  • 60. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 65 @aahoogendoorn www.ditisagile.nl 65 Bounded context
  • 62. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 69 @aahoogendoorn www.ditisagile.nl 69Resource model
  • 63. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 70 @aahoogendoorn www.ditisagile.nl GOODCOMMUNICATIONISHARD
  • 65. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 72 @aahoogendoorn www.ditisagile.nl HTTPRETURNCODESCHEATSHEET 1**.Holdon 2**.Hereyougo 3**.Goaway 4**.Youfuckedup 5**.Ifuckedup
  • 66. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 74 @aahoogendoorn www.ditisagile.nl BECONSERVATIVEINWHATYOUSEND, BELIBERALINWHATYOUACCEPT Postel’sLaw
  • 67. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 75 @aahoogendoorn www.ditisagile.nl Case 2. Contractual guidelines … but no REST Resource Resource Controller Controller Controller Serviceinterface Serviceinterface Servicegateway ServicegatewayApplication Contract Component
  • 69. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 77 @aahoogendoorn www.ditisagile.nl A service development lifecycle Code DeveloperTest Test IntegrationTest AcceptanceTest LivePrepare&Design
  • 70. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 78 @aahoogendoorn www.ditisagile.nl What to test Code DeveloperTest Test IntegrationTest AcceptanceTest LivePrepare&Design Developers Unittests Developers Q&A Testers Scenario’s&API’s Testers Scenario’s&API’s Productowner Product
  • 71. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 79 @aahoogendoorn www.ditisagile.nl Even though you might have brilliant testers
  • 72. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 80 @aahoogendoorn www.ditisagile.nl … please automate your tests Code DeveloperTest Test IntegrationTest AcceptanceTest LivePrepare&Design Developers Unittests Developers Q&A Testers Scenario’s&API’s Testers Scenario’s&API’s Productowner Product
  • 73. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 81 @aahoogendoorn www.ditisagile.nl WHATABOUTBEINGINDEPENDENTLYDEPLOYABLE?
  • 74. @aahoogendoorn DEPLOYING MICROSERVICES Continuous integration, build pipelines and continuous delivery
  • 75. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 83 @aahoogendoorn www.ditisagile.nl A typical build pipeline Code DeveloperTest Test IntegrationTest AcceptanceTest LivePrepare&Design
  • 76. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 84 @aahoogendoorn www.ditisagile.nl ProductionAcceptanceIntegrationTestDevelopment A typical build pipeline Code DeveloperTest Test IntegrationTest AcceptanceTest LivePrepare&Design
  • 77. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 85 @aahoogendoorn www.ditisagile.nl Build pipelines in Jenkins
  • 78. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 86 @aahoogendoorn www.ditisagile.nl Microservices. Building a deployment pipeline Code DeveloperTest Test AcceptanceTest Acceptance Live Code DeveloperTest Test AcceptanceTest Acceptance Live Code DeveloperTest Test AcceptanceTest Acceptance Live Code DeveloperTest Test AcceptanceTest Acceptance Live
  • 79. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 87 @aahoogendoorn www.ditisagile.nl Microservices. Pipeline hell? Codev.2 DeveloperTestv.2 Testv.2 AcceptanceTestv.2 Acceptancev.2 Code DeveloperTest Test AcceptanceTest Acceptance Live Testv.2 AcceptanceTestv.2 Acceptancev.2 Livev.2 DeveloperTest Test AcceptanceTest Acceptance Live Codev.3 DeveloperTestv.3 Live Codev.2
  • 80. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 88 @aahoogendoorn www.ditisagile.nl Maintenance From projects to continuous delivery? Project MaintenanceMVP MaintenanceContinuousdelivery
  • 81. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 89 @aahoogendoorn www.ditisagile.nl There is no one tool to rule them all
  • 82. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 90 @aahoogendoorn www.ditisagile.nl Moving towards DevOps is not easy
  • 84. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 92 @aahoogendoorn www.ditisagile.nl Microservices are not for everyone Whatarewegoingto benefit fromthemost? Polyglotpersistence? Independently deployable? Independently deployable? Enforce modulardesign?
  • 85. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 93 @aahoogendoorn www.ditisagile.nl Minimal viable product
  • 86. @aahoogendoorn ALLOW YOUR TEAMS TO LEARN CONTINUOUSLY…
  • 87. MICROSERVICES? STAIRWAY TO HEAVEN OR HIGHWAY TO HELL? ©2015 ditisagile.nl. All Rights Reserved 96 @aahoogendoorn www.ditisagile.nl The hockey stick model