SlideShare uma empresa Scribd logo
1 de 76
Baixar para ler offline
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 1
@aahoogendoorn | www.ditisagile.nl
Thirty months of
microservices
Stairway to heaven
or highway to hell?
Sander Hoogendoorn
ditisagile.nl
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 2
Sander Hoogendoorn
Me
Dad, software architect, agile coach,
programmer, trainer, speaker, writer
Books, articles, conferences, courses
Work
Owner ditisagile.nl
Former CTO insurance company
Former global agile thoughtleader Capgemini
Web
www.sanderhoogendoorn.com
aahoogendoorn
aahoogendoorn
sander@ditisagile.nl
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 3
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 5
@aahoogendoorn | www.ditisagile.nl
Monoliths
Hard to deliver,
even harder to test
and impossible to maintain
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 6
Who has a system that is too big
and that really should be broken up?
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 8
Dependencies will kill you
A typical systems landscape
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 9
@aahoogendoorn | www.ditisagile.nl
A brief history
of components
and services
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 10
Client server
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 11
Component based development
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 12
Service oriented architecture
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 13
Microservices
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 15
@aahoogendoorn | www.ditisagile.nl
Microservices
Beyond the hype?
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 16
Microservices
Beyond the hype?
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 17
Gartner hype cycle
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 18
@aahoogendoorn | www.ditisagile.nl
Microservices
The clear benefits
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 19
But first … a definition
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 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.nlThirty months of microservices. Stairway to heaven or highway to hell? 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.nlThirty months of microservices. Stairway to heaven or highway to hell? 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.nlThirty months of microservices. Stairway to heaven or highway to hell? 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?
How does integration really work?
Containers anyone?
Microservices
But…
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 31
Opinions, opinions, opinions
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 32
Oh and by the way…
Doing microservices means that
you are building a distributed system
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 33
@aahoogendoorn | www.ditisagile.nl
Are microservices
a stairway to
heaven?
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 34
@aahoogendoorn | www.ditisagile.nl
Or are they
a highway to hell?
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 35
@aahoogendoorn | www.ditisagile.nl
From the trenches
Microservices in real life
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 36
Where do we come from?
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 37
Where do we come from?
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 38
Where do we come from?
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 39
Outsourcing didn’t work
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 40
Where are we going to?
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 44
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 45
For the things we have to learn
before we can do them,
we learn by doing themAristotle
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 46
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 47
@aahoogendoorn | www.ditisagile.nl
So what did
we learn?
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 48
Microservices require
an evolutionary software architecture
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 49
@aahoogendoorn | www.ditisagile.nl
Start with some
guiding principles
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 51
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
Some guiding principles
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 52
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
Some guiding principles
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 55
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 56
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 64
@aahoogendoorn | www.ditisagile.nl
Designing
microservices
Modular design and
bounded contexts
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 65
Doing big up-front design
is dumb, doing no design
up-front is even dumberDave Thomas
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 66
Bounded contexts
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 67
SOLID
Single Responsibility Principle
Open Closed Principle
Liskov Substitution 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
that module
All its services should be narrowly aligned with that
responsibility
The SOLID principles
Uncle Bob Martin
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 68
Single responsibility principle
Group together things that change together
Separate things that change for different reason
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 69
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
Bounded context
Eric Evans
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 70
The single unified domain model
Or more often the humongous data model
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 71
Bounded contexts
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 72
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 73
@aahoogendoorn | www.ditisagile.nl
Modeling
resources
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 75
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.nlThirty months of microservices. Stairway to heaven or highway to hell? 76
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 77
@aahoogendoorn | www.ditisagile.nl
RESTfulness
is not as easy
as it seems
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 78
A small quiz
Guess the HTTP status codes…
Get
localhost:8080/countries
Get
localhost:8080/countries/42
localhost:8080/countries/GRC
localhost:8080/countries/isocode/GRC
localhost:8080/countries?isocode=“GRC”
Post or put?
localhost:8080/countries
localhost:8080/countries/38
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 84
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.nlThirty months of microservices. Stairway to heaven or highway to hell? 85
Be conservative in what you send,
be liberal in what you accept
Postel’s Law
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 87
@aahoogendoorn | www.ditisagile.nl
Testing
microservices
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 88
Fail fast, fail often, fail forward
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 89
A (typical) service development lifecycle
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 90
What to test
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 91
Even though you might have really brilliant testers…
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 92
… please automate all your tests
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 95
@aahoogendoorn | www.ditisagile.nl
Deploying
microservices
Continuous integration
and build pipelines
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 99
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
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 100
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
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 101
No one tool to rule them all
We tried Jenkins, Bamboo, Team City, GoCD and then Jenkins again…
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 102
DevOps is not easy
It feels like showing up at the wrong re-enactment
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 131
@aahoogendoorn | www.ditisagile.nl
In retrospective
Some final thoughts
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 132
Microservices are not for everyone (yet)
How do we benefit from implementing microservices?
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 133
Will it work?
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 134
The hockey stick model
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 135
Minimal viable product
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 136
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 137
@aahoogendoorn | www.ditisagile.nl
Allow your
teams to learn
continuously…
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 138
@aahoogendoorn | www.ditisagile.nl
And never forget
to have fun
@aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 139
@aahoogendoorn | www.ditisagile.nl
References
and questions
www.sanderhoogendoorn.com
www.ditisagile.nl
aahoogendoorn
aahoogendoorn
sander@ditisagile.nl

Mais conteúdo relacionado

Mais procurados

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
 
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
 
Agile project management anti patterns
Agile project management anti patterns Agile project management anti patterns
Agile project management anti patterns Katarzyna Mrowca
 
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
 
Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Thoughtworks
 
HWTrek Intro_Expert
HWTrek Intro_ExpertHWTrek Intro_Expert
HWTrek Intro_ExpertLucas Wang
 
From Zero to SAFe
From Zero to SAFeFrom Zero to SAFe
From Zero to SAFeEficode
 
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
 

Mais procurados (12)

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
 
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
 
Agile project management anti patterns
Agile project management anti patterns Agile project management anti patterns
Agile project management anti patterns
 
Dual-Track Agile
Dual-Track AgileDual-Track Agile
Dual-Track Agile
 
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
 
Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22
 
HWTrek Intro_Expert
HWTrek Intro_ExpertHWTrek Intro_Expert
HWTrek Intro_Expert
 
From Zero to SAFe
From Zero to SAFeFrom Zero to SAFe
From Zero to SAFe
 
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
 

Destaque

Code lifecycle in the jvm - TopConf Linz
Code lifecycle in the jvm - TopConf LinzCode lifecycle in the jvm - TopConf Linz
Code lifecycle in the jvm - TopConf LinzIvan Krylov
 
Dvorak.dan
Dvorak.danDvorak.dan
Dvorak.danNASAPMC
 
Image Processing and Cartography with the NASA Vision Workbench
Image Processing and Cartography with the NASA Vision WorkbenchImage Processing and Cartography with the NASA Vision Workbench
Image Processing and Cartography with the NASA Vision WorkbenchMatt Hancher
 
NASA Spinoff 2012 (PT)
NASA Spinoff 2012 (PT)NASA Spinoff 2012 (PT)
NASA Spinoff 2012 (PT)eufisica
 
Non Blocking I/O for Everyone with RxJava
Non Blocking I/O for Everyone with RxJavaNon Blocking I/O for Everyone with RxJava
Non Blocking I/O for Everyone with RxJavaFrank Lyaruu
 
NASA Spinoff 2012
NASA Spinoff 2012NASA Spinoff 2012
NASA Spinoff 2012eufisica
 
NASA Spinoff 2015 Presentation
NASA Spinoff 2015 PresentationNASA Spinoff 2015 Presentation
NASA Spinoff 2015 PresentationDavid Mittelman
 
On NASA Space Shuttle Program Hardware and Software
On NASA Space Shuttle Program Hardware and SoftwareOn NASA Space Shuttle Program Hardware and Software
On NASA Space Shuttle Program Hardware and SoftwareMartin Dvorak
 
User Centered Agile Development at NASA - One Groups Path to Better Software
User Centered Agile Development at NASA - One Groups Path to Better SoftwareUser Centered Agile Development at NASA - One Groups Path to Better Software
User Centered Agile Development at NASA - One Groups Path to Better SoftwareBalanced Team
 
Agile Leadership – Is a Servant Leader always the Right Approach?
Agile Leadership – Is a Servant Leader always the Right Approach?Agile Leadership – Is a Servant Leader always the Right Approach?
Agile Leadership – Is a Servant Leader always the Right Approach?IvanaTerrorBull
 
Crumbley.tim
Crumbley.timCrumbley.tim
Crumbley.timNASAPMC
 
Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...
Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...
Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...NLJUG
 
Economic Frameworks
Economic FrameworksEconomic Frameworks
Economic FrameworksJez Humble
 
Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?Simon Ritter
 

Destaque (20)

Code lifecycle in the jvm - TopConf Linz
Code lifecycle in the jvm - TopConf LinzCode lifecycle in the jvm - TopConf Linz
Code lifecycle in the jvm - TopConf Linz
 
New Technologies
New TechnologiesNew Technologies
New Technologies
 
Dvorak.dan
Dvorak.danDvorak.dan
Dvorak.dan
 
Image Processing and Cartography with the NASA Vision Workbench
Image Processing and Cartography with the NASA Vision WorkbenchImage Processing and Cartography with the NASA Vision Workbench
Image Processing and Cartography with the NASA Vision Workbench
 
NASA Spinoff 2012 (PT)
NASA Spinoff 2012 (PT)NASA Spinoff 2012 (PT)
NASA Spinoff 2012 (PT)
 
Non Blocking I/O for Everyone with RxJava
Non Blocking I/O for Everyone with RxJavaNon Blocking I/O for Everyone with RxJava
Non Blocking I/O for Everyone with RxJava
 
NASA Spinoff 2012
NASA Spinoff 2012NASA Spinoff 2012
NASA Spinoff 2012
 
Investments in the Future: NASA's Technology Programs
Investments in the Future: NASA's Technology ProgramsInvestments in the Future: NASA's Technology Programs
Investments in the Future: NASA's Technology Programs
 
NASA Spinoff 2010 - Presentation
NASA Spinoff 2010 - PresentationNASA Spinoff 2010 - Presentation
NASA Spinoff 2010 - Presentation
 
NASA Spinoff 2015 Presentation
NASA Spinoff 2015 PresentationNASA Spinoff 2015 Presentation
NASA Spinoff 2015 Presentation
 
On NASA Space Shuttle Program Hardware and Software
On NASA Space Shuttle Program Hardware and SoftwareOn NASA Space Shuttle Program Hardware and Software
On NASA Space Shuttle Program Hardware and Software
 
User Centered Agile Development at NASA - One Groups Path to Better Software
User Centered Agile Development at NASA - One Groups Path to Better SoftwareUser Centered Agile Development at NASA - One Groups Path to Better Software
User Centered Agile Development at NASA - One Groups Path to Better Software
 
Agile Leadership – Is a Servant Leader always the Right Approach?
Agile Leadership – Is a Servant Leader always the Right Approach?Agile Leadership – Is a Servant Leader always the Right Approach?
Agile Leadership – Is a Servant Leader always the Right Approach?
 
Crumbley.tim
Crumbley.timCrumbley.tim
Crumbley.tim
 
2011 NASA Open Source Summit - Terry Fong
2011 NASA Open Source Summit - Terry Fong2011 NASA Open Source Summit - Terry Fong
2011 NASA Open Source Summit - Terry Fong
 
Doom in SpaceX
Doom in SpaceXDoom in SpaceX
Doom in SpaceX
 
Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...
Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...
Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...
 
Economic Frameworks
Economic FrameworksEconomic Frameworks
Economic Frameworks
 
Introduction
IntroductionIntroduction
Introduction
 
Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?
 

Semelhante a Thirty months of microservices. Stairway to heaven or highway to hell

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
 
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
 
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
 
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
 
Catavolt Client Summit 2016
Catavolt Client Summit 2016Catavolt Client Summit 2016
Catavolt Client Summit 2016Catavolt, Inc.
 
LITE 2017 - The Digital Nomad and Other Cases for Virtual Labs [Lee Berkman]
LITE 2017 - The Digital Nomad and Other Cases for Virtual Labs [Lee Berkman]LITE 2017 - The Digital Nomad and Other Cases for Virtual Labs [Lee Berkman]
LITE 2017 - The Digital Nomad and Other Cases for Virtual Labs [Lee Berkman]getadministrate
 
The Digital Nomad and Other Cases for Virtual Labs with CloudShare
The Digital Nomad and Other Cases for Virtual Labs with CloudShareThe Digital Nomad and Other Cases for Virtual Labs with CloudShare
The Digital Nomad and Other Cases for Virtual Labs with CloudShareCloudShare
 
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
 
2014 Future of Cloud Computing Study
2014 Future of Cloud Computing Study2014 Future of Cloud Computing Study
2014 Future of Cloud Computing StudyNorth Bridge
 
TenXLabs - webinar
TenXLabs - webinarTenXLabs - webinar
TenXLabs - webinarAbhinav Das
 
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
 
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
 
ASAS 2014 - Viktor Grgic
ASAS 2014 - Viktor GrgicASAS 2014 - Viktor Grgic
ASAS 2014 - Viktor GrgicAvisi B.V.
 
Digital Transformation: How leaders meet modern customer expectations
Digital Transformation: How leaders meet modern customer expectationsDigital Transformation: How leaders meet modern customer expectations
Digital Transformation: How leaders meet modern customer expectationsApigee | Google Cloud
 
Microservices 101: From DevOps to Docker and beyond
Microservices 101: From DevOps to Docker and beyondMicroservices 101: From DevOps to Docker and beyond
Microservices 101: From DevOps to Docker and beyondDonnie Berkholz
 
Digital Transformation - Why? How? What?
Digital Transformation - Why? How? What?Digital Transformation - Why? How? What?
Digital Transformation - Why? How? What?Orkhan Gasimov
 
Breaking Up with Your Solution: Migrating Your Ecommerce to a Microservices P...
Breaking Up with Your Solution: Migrating Your Ecommerce to a Microservices P...Breaking Up with Your Solution: Migrating Your Ecommerce to a Microservices P...
Breaking Up with Your Solution: Migrating Your Ecommerce to a Microservices P...Skava
 
RapidBlocks, a platform vision for accelerating enterprise blockchain adoption.
RapidBlocks, a platform vision for accelerating enterprise blockchain adoption.RapidBlocks, a platform vision for accelerating enterprise blockchain adoption.
RapidBlocks, a platform vision for accelerating enterprise blockchain adoption.aurablocks
 

Semelhante a Thirty months of microservices. Stairway to heaven or highway to hell (20)

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...
 
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...
 
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
 
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
 
Catavolt Client Summit 2016
Catavolt Client Summit 2016Catavolt Client Summit 2016
Catavolt Client Summit 2016
 
LITE 2017 - The Digital Nomad and Other Cases for Virtual Labs [Lee Berkman]
LITE 2017 - The Digital Nomad and Other Cases for Virtual Labs [Lee Berkman]LITE 2017 - The Digital Nomad and Other Cases for Virtual Labs [Lee Berkman]
LITE 2017 - The Digital Nomad and Other Cases for Virtual Labs [Lee Berkman]
 
The Digital Nomad and Other Cases for Virtual Labs with CloudShare
The Digital Nomad and Other Cases for Virtual Labs with CloudShareThe Digital Nomad and Other Cases for Virtual Labs with CloudShare
The Digital Nomad and Other Cases for Virtual Labs with CloudShare
 
2020's most innovative scm solution providers
2020's most innovative scm solution providers2020's most innovative scm solution providers
2020's most innovative scm solution providers
 
DX Forum 2017 - Murray Izenwasser
DX Forum 2017 - Murray IzenwasserDX Forum 2017 - Murray Izenwasser
DX Forum 2017 - Murray Izenwasser
 
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)
 
2014 Future of Cloud Computing Study
2014 Future of Cloud Computing Study2014 Future of Cloud Computing Study
2014 Future of Cloud Computing Study
 
TenXLabs - webinar
TenXLabs - webinarTenXLabs - webinar
TenXLabs - webinar
 
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
 
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!
 
ASAS 2014 - Viktor Grgic
ASAS 2014 - Viktor GrgicASAS 2014 - Viktor Grgic
ASAS 2014 - Viktor Grgic
 
Digital Transformation: How leaders meet modern customer expectations
Digital Transformation: How leaders meet modern customer expectationsDigital Transformation: How leaders meet modern customer expectations
Digital Transformation: How leaders meet modern customer expectations
 
Microservices 101: From DevOps to Docker and beyond
Microservices 101: From DevOps to Docker and beyondMicroservices 101: From DevOps to Docker and beyond
Microservices 101: From DevOps to Docker and beyond
 
Digital Transformation - Why? How? What?
Digital Transformation - Why? How? What?Digital Transformation - Why? How? What?
Digital Transformation - Why? How? What?
 
Breaking Up with Your Solution: Migrating Your Ecommerce to a Microservices P...
Breaking Up with Your Solution: Migrating Your Ecommerce to a Microservices P...Breaking Up with Your Solution: Migrating Your Ecommerce to a Microservices P...
Breaking Up with Your Solution: Migrating Your Ecommerce to a Microservices P...
 
RapidBlocks, a platform vision for accelerating enterprise blockchain adoption.
RapidBlocks, a platform vision for accelerating enterprise blockchain adoption.RapidBlocks, a platform vision for accelerating enterprise blockchain adoption.
RapidBlocks, a platform vision for accelerating enterprise blockchain adoption.
 

Mais 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
 
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
 

Mais de Sander Hoogendoorn (16)

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...
 
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

VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 

Último (20)

VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 

Thirty months of microservices. Stairway to heaven or highway to hell

  • 1. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 1 @aahoogendoorn | www.ditisagile.nl Thirty months of microservices Stairway to heaven or highway to hell? Sander Hoogendoorn ditisagile.nl
  • 2. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 2 Sander Hoogendoorn Me Dad, software architect, agile coach, programmer, trainer, speaker, writer Books, articles, conferences, courses Work Owner ditisagile.nl Former CTO insurance company Former global agile thoughtleader Capgemini Web www.sanderhoogendoorn.com aahoogendoorn aahoogendoorn sander@ditisagile.nl
  • 3. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 3
  • 4. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 5 @aahoogendoorn | www.ditisagile.nl Monoliths Hard to deliver, even harder to test and impossible to maintain
  • 5. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 6 Who has a system that is too big and that really should be broken up?
  • 6. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 8 Dependencies will kill you A typical systems landscape
  • 7. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 9 @aahoogendoorn | www.ditisagile.nl A brief history of components and services
  • 8. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 10 Client server
  • 9. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 11 Component based development
  • 10. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 12 Service oriented architecture
  • 11. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 13 Microservices
  • 12. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 15 @aahoogendoorn | www.ditisagile.nl Microservices Beyond the hype?
  • 13. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 16 Microservices Beyond the hype?
  • 14. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 17 Gartner hype cycle
  • 15. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 18 @aahoogendoorn | www.ditisagile.nl Microservices The clear benefits
  • 16. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 19 But first … a definition
  • 17. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 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
  • 18. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 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
  • 19. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 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
  • 20. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 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? How does integration really work? Containers anyone? Microservices But…
  • 21. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 31 Opinions, opinions, opinions
  • 22. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 32 Oh and by the way… Doing microservices means that you are building a distributed system
  • 23. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 33 @aahoogendoorn | www.ditisagile.nl Are microservices a stairway to heaven?
  • 24. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 34 @aahoogendoorn | www.ditisagile.nl Or are they a highway to hell?
  • 25. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 35 @aahoogendoorn | www.ditisagile.nl From the trenches Microservices in real life
  • 26. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 36 Where do we come from?
  • 27. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 37 Where do we come from?
  • 28. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 38 Where do we come from?
  • 29. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 39 Outsourcing didn’t work
  • 30. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 40 Where are we going to?
  • 31. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 44
  • 32. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 45 For the things we have to learn before we can do them, we learn by doing themAristotle
  • 33. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 46
  • 34. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 47 @aahoogendoorn | www.ditisagile.nl So what did we learn?
  • 35. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 48 Microservices require an evolutionary software architecture
  • 36. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 49 @aahoogendoorn | www.ditisagile.nl Start with some guiding principles
  • 37. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 51 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 Some guiding principles
  • 38. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 52 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 Some guiding principles
  • 39. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 55
  • 40. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 56
  • 41. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 64 @aahoogendoorn | www.ditisagile.nl Designing microservices Modular design and bounded contexts
  • 42. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 65 Doing big up-front design is dumb, doing no design up-front is even dumberDave Thomas
  • 43. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 66 Bounded contexts
  • 44. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 67 SOLID Single Responsibility Principle Open Closed Principle Liskov Substitution 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 that module All its services should be narrowly aligned with that responsibility The SOLID principles Uncle Bob Martin
  • 45. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 68 Single responsibility principle Group together things that change together Separate things that change for different reason
  • 46. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 69 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 Bounded context Eric Evans
  • 47. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 70 The single unified domain model Or more often the humongous data model
  • 48. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 71 Bounded contexts
  • 49. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 72
  • 50. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 73 @aahoogendoorn | www.ditisagile.nl Modeling resources
  • 51. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 75 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
  • 52. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 76
  • 53. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 77 @aahoogendoorn | www.ditisagile.nl RESTfulness is not as easy as it seems
  • 54. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 78 A small quiz Guess the HTTP status codes… Get localhost:8080/countries Get localhost:8080/countries/42 localhost:8080/countries/GRC localhost:8080/countries/isocode/GRC localhost:8080/countries?isocode=“GRC” Post or put? localhost:8080/countries localhost:8080/countries/38
  • 55. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 84 HTTP return codes cheat sheet 1**. Hold on 2**. Here you go 3**. Go away 4**. You fucked up 5**. I fucked up
  • 56. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 85 Be conservative in what you send, be liberal in what you accept Postel’s Law
  • 57. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 87 @aahoogendoorn | www.ditisagile.nl Testing microservices
  • 58. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 88 Fail fast, fail often, fail forward
  • 59. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 89 A (typical) service development lifecycle
  • 60. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 90 What to test
  • 61. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 91 Even though you might have really brilliant testers…
  • 62. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 92 … please automate all your tests
  • 63. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 95 @aahoogendoorn | www.ditisagile.nl Deploying microservices Continuous integration and build pipelines
  • 64. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 99 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
  • 65. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 100 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
  • 66. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 101 No one tool to rule them all We tried Jenkins, Bamboo, Team City, GoCD and then Jenkins again…
  • 67. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 102 DevOps is not easy It feels like showing up at the wrong re-enactment
  • 68. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 131 @aahoogendoorn | www.ditisagile.nl In retrospective Some final thoughts
  • 69. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 132 Microservices are not for everyone (yet) How do we benefit from implementing microservices?
  • 70. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 133 Will it work?
  • 71. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 134 The hockey stick model
  • 72. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 135 Minimal viable product
  • 73. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 136
  • 74. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 137 @aahoogendoorn | www.ditisagile.nl Allow your teams to learn continuously…
  • 75. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 138 @aahoogendoorn | www.ditisagile.nl And never forget to have fun
  • 76. @aahoogendoorn | www.ditisagile.nlThirty months of microservices. Stairway to heaven or highway to hell? 139 @aahoogendoorn | www.ditisagile.nl References and questions www.sanderhoogendoorn.com www.ditisagile.nl aahoogendoorn aahoogendoorn sander@ditisagile.nl