SlideShare una empresa de Scribd logo
1 de 109
Descargar para leer sin conexión
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 1
@aahoogendoorn | www.ditisagile.nl
Microservices.
Stairway to heaven
or highway to hell?
Sander Hoogendoorn
ditisagile.nl
​Mentoring ▪ Consulting ▪ Training
Agile ▪ Software
architecture ▪ Code
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 2
Sander Hoogendoorn
Me
Dad
Mentor, trainer, software architect,
programmer
Books, articles, conferences
Work
Owner ditisagile.nl
CTO Klaverblad Insurances
Web
www.sanderhoogendoorn.com
@aahoogendoorn
sander@ditisagile.nl
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 3
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 4
As a project manager
I would like to demo untested code so I embarrass myself
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 5
@aahoogendoorn | www.ditisagile.nl
Monoliths
Hard to deliver,
even harder to test
and impossible to maintain
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 7
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
Monoliths
Advantages and disadvantages
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 8
Dependencies will kill you
A typical systems landscape
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 9
@aahoogendoorn | www.ditisagile.nl
A brief history
of components
and services
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 10
Client server
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 11
Component based development
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 12
Service oriented architecture
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 13
Microservices
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 14
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 15
@aahoogendoorn | www.ditisagile.nl
Microservices
Beyond the hype?
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 16
Microservices
Beyond the hype?
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 17
Gartner hype cycle
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 18
@aahoogendoorn | www.ditisagile.nl
Microservices
The clear benefits
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 19
But first … a definition
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 20
In short, the microservice architectural style is an approach
to developing a single application as a suite of small services,
each running in its own process and communicating with
lightweight mechanisms, often an HTTP resource API.
These services are built around business capabilities and
independently deployable by fully automated deployment
machinery. There is a bare minimum of centralized
management of these services, which may be written in
different programming languages and use different data
storage technologies.
Martin Fowler
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 21
In short, the microservice architectural style is an approach
to developing a single application as a suite of small services,
each running in its own process and communicating with
lightweight mechanisms, often an HTTP resource API.
These services are built around business capabilities and
independently deployable by fully automated deployment
machinery. There is a bare minimum of centralized
management of these services, which may be written in
different programming languages and use different data
storage technologies.
Martin Fowler
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 22
In short, the microservice architectural style is an approach
to developing a single application as a suite of small services,
each running in its own process and communicating with
lightweight mechanisms, often an HTTP resource API.
These services are built around business capabilities and
independently deployable by fully automated deployment
machinery. There is a bare minimum of centralized
management of these services, which may be written in
different programming languages and use different data
storage technologies.
Martin Fowler
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 23
Monoliths
Scalability
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 24
Microservices
Scalability
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 25
Microservices
Scalability
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 26
Microservices
Running in their own processes
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 27
Monoliths
Persistence
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 28
Microservices
Polyglot persistence
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 29
Products not projects
Scalable
Decentralized governance
Replaceable parts
High performance
Technology independent
Polyglot persistence
Easy to build
Easy to test
Easier deployment than monoliths
Microservices
Promises
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 30
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?
Microservices
But…
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 31
Opinions, opinions, opinions
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 32
@aahoogendoorn | www.ditisagile.nl
Are microservices
a stairway to
heaven?
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 33
@aahoogendoorn | www.ditisagile.nl
Or are they
a highway to hell?
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 34
@aahoogendoorn | www.ditisagile.nl
Two real world
cases
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 35
A major insurance company
Case 1
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 36
Where do we come from?
Case 1
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 37
Where do we come from?
Case 1
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 38
Outsourcing didn’t work
Case 1
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 39
Where are we going to?
Case 1
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 40
A product development company
Case 2
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 41
Where do we come from?
Case 2
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 42
Where do we come from?
Case 2
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 43
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 44
For the things we have to learn
before we can do them,
we learn by doing themAristotle
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 45
@aahoogendoorn | www.ditisagile.nl
So what did
we learn?
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 46
Microservices require
an evolutionary architecture
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 47
@aahoogendoorn | www.ditisagile.nl
Start with some
guiding principles
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 48
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
Our guiding principles
Case 1
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 49
@aahoogendoorn | www.ditisagile.nl
Business
processes first
Case 1
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 50
Different levels of processes (and requirements)
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 51
Smart use cases
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 52
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 53
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 55
@aahoogendoorn | www.ditisagile.nl
Architecture first
Case 2
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 56
Current architectural layout
Case 2
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 57
New architectural layout
Case 2
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 58
New architectural layout
Case 2
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 59
Brownfield migration…
Case 2
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 60
Questions, questions, questions
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 61
@aahoogendoorn | www.ditisagile.nl
Designing
microservices
Modular design and
bounded contexts
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 62
Doing big up-front design is dumb,
doing no design is even dumber
Dave Thomas
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 63
Bounded contexts
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 64
Single responsibility principle (SRP)
SOLID
 Single Responsibility Principle
 Open Closed Principle
 Liskov Substituion Principle
 Interface Segregation Principle
 Dependency Inversion Principle
Single Responsibility Principle
 Every module should have responsibility over a single part of
the functionality provided by the software,
 That responsibility should be entirely encapsulated by the
class
 All its services should be narrowly aligned with that
responsibility
Therefore
 Group together things that change together
 Separate things that change for different reason
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 65
Bounded context
Domain driven design
 The paradigm of designing software based on models
of the underlying domain
 The domain model helps the business and the
developers to reason about the functionality
 A model needs to be unified – internally consistent
without contradictions
Bounded context
 The bounded context is a central pattern in domain
driven design
 When you model larger domains, it becomes
progressively harder to create this single unified model
 So, instead of creating a single unified model, you
create several, all valid within their bounded context
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 66
The single unified domain model
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 67
Bounded contexts
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 68
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 69
@aahoogendoorn | www.ditisagile.nl
Modeling
resources
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 70
Interpretations of
interpretations interpreted
James Joyce
(on REST)
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 71
Root resource (component)
GET the collection, but only limited
to this representation (but with
locations likely)
GET a single item from the
collection, but with representation
Modeling resources
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 72
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 73
@aahoogendoorn | www.ditisagile.nl
Being RESTful
is not as easy
as it seems
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 74
HTTP return codes cheat sheet
1**. Hold on
2**. Here you go
3**. Go away
4**. You fucked up
5**. I fucked up
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 75
Be conservative in what you
send, be liberal in what you
acceptPostel’s Law
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 77
@aahoogendoorn | www.ditisagile.nl
Testing
microservices
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 78
If you fail, fail fast
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 79
A service development lifecycle
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 80
What to test
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 81
Even though you might have brilliant testers…
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 82
… please automate your tests
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 83
What about these services
being independently deployable?
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 84
@aahoogendoorn | www.ditisagile.nl
Deploying
microservices
Continuous integration
and build pipelines
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 85
A typical build pipeline
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 86
A typical build pipeline
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 87
Build pipelines in Jenkins
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 90
There is no one tool to rule them all
We tried Jenkins, Bamboo, Team City, GoCD and then Jenkins again…
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 91
@aahoogendoorn | www.ditisagile.nl
Deploying
microservices
Kaizen, minimal viable
products and continuous
delivery
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 92
Small but continuous
improvements create
long-lasting results (Kaizen)W. Edwards
Deming
(sort of)
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 93
Small increments or big releases?
What if Twitter…
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 95
Roadmaps over plans
While there is value in the items on the right, we value the items on the left more
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 96
Minimal viable product
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 97
From projects to continuous delivery
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 98
An approach in which teams ensure that every
change to the system is releasable, and that we
can release any version at the push of a button.
Aimed to make releases boring, so we can deliver
frequently and get fast feedback on what users
care about.
Jez Humble
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 99
You build it, you run it
Werner Vogels
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 100
Moving towards DevOps is not easy
It feels like showing up at the wrong re-enactment
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 102
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 103
@aahoogendoorn | www.ditisagile.nl
In retrospective
Some final thoughts
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 104
Microservices are not for everyone
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 105
Minimal viable product
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 106
@aahoogendoorn | www.ditisagile.nl
Allow your
teams to learn
continuously…
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 107
The hockey stick model
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 108
Will it work?
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 109
One last thought…
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 110
What will you do in 2020?
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 111
You can be anything you want…
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 112
Because…
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 113
With passion you can achieve amazing things…
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 116
Writing code is the best job in the world
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 117
@aahoogendoorn | www.ditisagile.nl
And don’t forget
to have fun
@aahoogendoorn | www.ditisagile.nlMicroservices. The good, the bad and the ugly 118
@aahoogendoorn | www.ditisagile.nl
References
and questions
www.sanderhoogendoorn.com
www.smartusecase.com
www.speedbird9.com
sander@ditisagile.nl
@aahoogendoorn

Más contenido relacionado

La actualidad más candente

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
 
Designing and building a micro-services architecture. Stairway to heaven or a...
Designing and building a micro-services architecture. Stairway to heaven or a...Designing and building a micro-services architecture. Stairway to heaven or a...
Designing and building a micro-services architecture. Stairway to heaven or a...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
 
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
 
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
 
20170921 agile amsterdam
20170921   agile amsterdam20170921   agile amsterdam
20170921 agile amsterdamKim van Wilgen
 
Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Thoughtworks
 
Can we make Agile Architecture SAFe® ? - The Open Group London Conference 2018
Can we make Agile Architecture SAFe® ? - The Open Group London Conference 2018Can we make Agile Architecture SAFe® ? - The Open Group London Conference 2018
Can we make Agile Architecture SAFe® ? - The Open Group London Conference 2018Łukasz Wrześniewski
 
ASAS 2014 - Viktor Grgic
ASAS 2014 - Viktor GrgicASAS 2014 - Viktor Grgic
ASAS 2014 - Viktor GrgicAvisi B.V.
 
The revolution will be collaborative
The revolution will be collaborativeThe revolution will be collaborative
The revolution will be collaborativeRonan Berder
 
Augmenting and Automating DevOps with Artificial Intelligence
Augmenting and Automating DevOps with Artificial IntelligenceAugmenting and Automating DevOps with Artificial Intelligence
Augmenting and Automating DevOps with Artificial IntelligenceEficode
 
HWTrek Intro_Expert
HWTrek Intro_ExpertHWTrek Intro_Expert
HWTrek Intro_ExpertLucas Wang
 

La actualidad más candente (17)

Building Better Software Faster
Building Better Software FasterBuilding Better Software Faster
Building Better Software Faster
 
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
 
Modeling Microservices
Modeling MicroservicesModeling Microservices
Modeling Microservices
 
Designing and building a micro-services architecture. Stairway to heaven or a...
Designing and building a micro-services architecture. Stairway to heaven or a...Designing and building a micro-services architecture. Stairway to heaven or a...
Designing and building a micro-services architecture. Stairway to heaven or a...
 
Scaling agile from the ground up
Scaling agile from the ground upScaling agile from the ground up
Scaling agile from the ground up
 
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...
 
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
 
20170921 agile amsterdam
20170921   agile amsterdam20170921   agile amsterdam
20170921 agile amsterdam
 
Dual-Track Agile
Dual-Track AgileDual-Track Agile
Dual-Track Agile
 
20170925 swanseacon
20170925   swanseacon20170925   swanseacon
20170925 swanseacon
 
Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22
 
Can we make Agile Architecture SAFe® ? - The Open Group London Conference 2018
Can we make Agile Architecture SAFe® ? - The Open Group London Conference 2018Can we make Agile Architecture SAFe® ? - The Open Group London Conference 2018
Can we make Agile Architecture SAFe® ? - The Open Group London Conference 2018
 
ASAS 2014 - Viktor Grgic
ASAS 2014 - Viktor GrgicASAS 2014 - Viktor Grgic
ASAS 2014 - Viktor Grgic
 
Gateway reviews - waterfall based or agile ready?
Gateway reviews - waterfall based or agile ready?Gateway reviews - waterfall based or agile ready?
Gateway reviews - waterfall based or agile ready?
 
The revolution will be collaborative
The revolution will be collaborativeThe revolution will be collaborative
The revolution will be collaborative
 
Augmenting and Automating DevOps with Artificial Intelligence
Augmenting and Automating DevOps with Artificial IntelligenceAugmenting and Automating DevOps with Artificial Intelligence
Augmenting and Automating DevOps with Artificial Intelligence
 
HWTrek Intro_Expert
HWTrek Intro_ExpertHWTrek Intro_Expert
HWTrek Intro_Expert
 

Similar a Microservices: Lessons from two real-world case studies

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
 
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
 
Digital Transformation - Why? How? What?
Digital Transformation - Why? How? What?Digital Transformation - Why? How? What?
Digital Transformation - Why? How? What?Orkhan Gasimov
 
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
 
How Media and Entertainment Companies Succeed with there Digital Transformation!
How Media and Entertainment Companies Succeed with there Digital Transformation!How Media and Entertainment Companies Succeed with there Digital Transformation!
How Media and Entertainment Companies Succeed with there Digital Transformation!Sam Sepstrup
 
TenXLabs - webinar
TenXLabs - webinarTenXLabs - webinar
TenXLabs - webinarAbhinav Das
 
Great Banking Experience by Service Design - Banks vs. FinTechs
Great Banking Experience by Service Design - Banks vs. FinTechsGreat Banking Experience by Service Design - Banks vs. FinTechs
Great Banking Experience by Service Design - Banks vs. FinTechsChristian Graf
 
Strangle Your Monolith, Not Each Other
Strangle Your Monolith, Not Each OtherStrangle Your Monolith, Not Each Other
Strangle Your Monolith, Not Each OtherSkava
 
2014 Future of Cloud Computing - 4th Annual Survey Results
2014 Future of Cloud Computing - 4th Annual Survey Results2014 Future of Cloud Computing - 4th Annual Survey Results
2014 Future of Cloud Computing - 4th Annual Survey ResultsMichael Skok
 
AI-powered Service Management: Streamlining Incident Management in JSM using ...
AI-powered Service Management: Streamlining Incident Management in JSM using ...AI-powered Service Management: Streamlining Incident Management in JSM using ...
AI-powered Service Management: Streamlining Incident Management in JSM using ...Cprime
 
50 business model examples
50 business model examples50 business model examples
50 business model examplesGhani Kolli
 
Digital Marketing & IT Services for SMBs_8-12-16
Digital Marketing & IT Services for SMBs_8-12-16Digital Marketing & IT Services for SMBs_8-12-16
Digital Marketing & IT Services for SMBs_8-12-16Neel Majumdar
 
7 Badass Tactics for SlideShare Content Domination
7 Badass Tactics for SlideShare Content Domination7 Badass Tactics for SlideShare Content Domination
7 Badass Tactics for SlideShare Content DominationLinkedIn
 
7 Badass Tactics for Slideshare Content Domination
7 Badass Tactics for Slideshare Content Domination 7 Badass Tactics for Slideshare Content Domination
7 Badass Tactics for Slideshare Content Domination Jason Miller
 
Motius exhibiting at Munich Tech Job Fair Spring 2019
Motius exhibiting at Munich Tech Job Fair Spring 2019Motius exhibiting at Munich Tech Job Fair Spring 2019
Motius exhibiting at Munich Tech Job Fair Spring 2019TechMeetups
 

Similar a Microservices: Lessons from two real-world case studies (20)

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...
 
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...
 
Digital Transformation - Why? How? What?
Digital Transformation - Why? How? What?Digital Transformation - Why? How? What?
Digital Transformation - Why? How? What?
 
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)
 
DX Forum 2017 - Murray Izenwasser
DX Forum 2017 - Murray IzenwasserDX Forum 2017 - Murray Izenwasser
DX Forum 2017 - Murray Izenwasser
 
How Media and Entertainment Companies Succeed with there Digital Transformation!
How Media and Entertainment Companies Succeed with there Digital Transformation!How Media and Entertainment Companies Succeed with there Digital Transformation!
How Media and Entertainment Companies Succeed with there Digital Transformation!
 
TenXLabs - webinar
TenXLabs - webinarTenXLabs - webinar
TenXLabs - webinar
 
Do Digital Right Masterclass - Graeme Blake, Blutui
Do Digital Right Masterclass - Graeme Blake, BlutuiDo Digital Right Masterclass - Graeme Blake, Blutui
Do Digital Right Masterclass - Graeme Blake, Blutui
 
Australian Payments Network - Digital Identity
Australian Payments Network  - Digital Identity Australian Payments Network  - Digital Identity
Australian Payments Network - Digital Identity
 
Great Banking Experience by Service Design - Banks vs. FinTechs
Great Banking Experience by Service Design - Banks vs. FinTechsGreat Banking Experience by Service Design - Banks vs. FinTechs
Great Banking Experience by Service Design - Banks vs. FinTechs
 
Quadrivium
QuadriviumQuadrivium
Quadrivium
 
Strangle Your Monolith, Not Each Other
Strangle Your Monolith, Not Each OtherStrangle Your Monolith, Not Each Other
Strangle Your Monolith, Not Each Other
 
2014 Future of Cloud Computing - 4th Annual Survey Results
2014 Future of Cloud Computing - 4th Annual Survey Results2014 Future of Cloud Computing - 4th Annual Survey Results
2014 Future of Cloud Computing - 4th Annual Survey Results
 
AI-powered Service Management: Streamlining Incident Management in JSM using ...
AI-powered Service Management: Streamlining Incident Management in JSM using ...AI-powered Service Management: Streamlining Incident Management in JSM using ...
AI-powered Service Management: Streamlining Incident Management in JSM using ...
 
50 business model examples
50 business model examples50 business model examples
50 business model examples
 
Digital Marketing & IT Services for SMBs_8-12-16
Digital Marketing & IT Services for SMBs_8-12-16Digital Marketing & IT Services for SMBs_8-12-16
Digital Marketing & IT Services for SMBs_8-12-16
 
7 Badass Tactics for SlideShare Content Domination
7 Badass Tactics for SlideShare Content Domination7 Badass Tactics for SlideShare Content Domination
7 Badass Tactics for SlideShare Content Domination
 
7 Badass Tactics for Slideshare Content Domination
7 Badass Tactics for Slideshare Content Domination 7 Badass Tactics for Slideshare Content Domination
7 Badass Tactics for Slideshare Content Domination
 
LeanPort Pvt. Ltd. Comapany Presentation.
LeanPort Pvt. Ltd. Comapany Presentation.LeanPort Pvt. Ltd. Comapany Presentation.
LeanPort Pvt. Ltd. Comapany Presentation.
 
Motius exhibiting at Munich Tech Job Fair Spring 2019
Motius exhibiting at Munich Tech Job Fair Spring 2019Motius exhibiting at Munich Tech Job Fair Spring 2019
Motius exhibiting at Munich Tech Job Fair Spring 2019
 

Más de Sander 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
 
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
 
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
 
Agile anti-patterns. Yes your agile projects can and will fail too.
Agile anti-patterns. Yes your agile projects can and will fail too.Agile anti-patterns. Yes your agile projects can and will fail too.
Agile anti-patterns. Yes your agile projects can and will fail too.Sander Hoogendoorn
 
Agile Contracting. Overcoming your Lawyers Pavlov Responses
Agile Contracting. Overcoming your Lawyers Pavlov ResponsesAgile Contracting. Overcoming your Lawyers Pavlov Responses
Agile Contracting. Overcoming your Lawyers Pavlov ResponsesSander Hoogendoorn
 

Más de Sander Hoogendoorn (14)

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?
 
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
 
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
 
Agile anti-patterns. Yes your agile projects can and will fail too.
Agile anti-patterns. Yes your agile projects can and will fail too.Agile anti-patterns. Yes your agile projects can and will fail too.
Agile anti-patterns. Yes your agile projects can and will fail too.
 
Agile Contracting. Overcoming your Lawyers Pavlov Responses
Agile Contracting. Overcoming your Lawyers Pavlov ResponsesAgile Contracting. Overcoming your Lawyers Pavlov Responses
Agile Contracting. Overcoming your Lawyers Pavlov Responses
 

Último

Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
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
 
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
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
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
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
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
 
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
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
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
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 

Último (20)

Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
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
 
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
 
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
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
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 ☂️
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
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...
 
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
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
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...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 

Microservices: Lessons from two real-world case studies