SlideShare a Scribd company logo
A Microservices Journey
@christianposta
A Microservice Journey
Christian Posta
Principal Middleware Specialist/Architect
Twitter: @christianposta
Blog: http://blog.christianposta.com
Email: christian@redhat.com
• Author “Microservices for Java developers”
• Committer on Apache Camel, Apache
ActiveMQ, Fabric8, others
• Worked with large Microservices, web-scale,
unicorn company
• Blogger, speaker about DevOps, integration,
and microservices
A Microservice Journey
Microservices Journey
• Why?
• Microservices Architectures
• Cloud platforms with Kubernetes/OpenShift
• Q & A
If change is happening on the outside
faster than on the inside the end is in sight.
Jack Welch, former CEO, GE
S&P company life expectancy
Fortune 500 firms in 1955 vs. 2014;
88% are gone
We need to innovate, not just keep up.
(Red Queen’s Race)
Source: Dave Gray, The Connected Company
Source: Dave Gray, The Connected Company
Value delivered through services,
not mass production of product.
A Microservice Journey
To deliver services which provide value,
we need to listen and react. We need
to deal with variety.
Software is eating the world.
Marc Andreesen
IT as a core competency; a driver
of business value
How to drive innovation and
deliver
value through IT:
• Decentralized decision making
• Purpose driven
• Innovation: Admit you don’t have all the answers;
figure out how to ask the right questions!
A Microservice Journey
A Microservice Journey
Characteristics of agile
systems
• Small teams
• Autonomy
• Own their existence
• Freedom + Responsibility
• Purpose driven
• Feedback/data driven
• Simple rules, emergent results
People try to copy Netflix, but they can only
copy what they see. They copy the
results, not the process.
Adrian Cockcroft, former Chief Cloud Architect, Netflix
“Let there be no more talk about DevOps
unicorns or horses but only thoroughbreds
and horses heading to the glue factory”
Dr. Branden Williams – business security specialist
Microservices Architectures
organizations which design systems ...
are constrained to produce designs which
are copies of the communication structures
of these organizations
Melvin Conway
“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.”
Martin Fowler’s definition
“Microservices is an architectural approach,
that emphasizes the decomposition of
applications into single-purpose, loosely
coupled services managed by cross-functional
teams, for delivering and maintaining complex
software systems with the velocity and quality
required by today’s digital business”
Red Hat’s definition
Break things down (organizations,
teams, IT systems, etc) down into
smaller pieces for greater
parallelization and focus on reducing
time to value.
• Single, self-contained, autonomous
• Isolated and Resilient to faults
• Faster software delivery
• Own their own data
• Easier to understand individually
• Scalability
• Right technology for the problem
• Test individual services
• Individual deployments
What benefits of breaking this down?
Microservices is about optimizing… for speed.
Quick example
http://www.jboss.org/ticket-monster/
A Microservice Journey
A Microservice Journey
Microservices is about optimizing… for speed.
How do you go fast?
Shed dependencies!
How to shed dependencies?
Shedding dependencies
• Team self service
• Organize teams around a service
• Teams own entire lifecycle (build, test, deploy,
debug, operate, maintain; you build it you run it)
• Teams communicate via APIs (or you’re fired!)
• Services own their own data
• Boundaries establish a “bounded context”
• Services communicate via promises
• Make contracts explicit: contract evolution as a
first-class citizen
A Microservice Journey
But we still have dependencies on
other services!
We need boundaries
A Microservice Journey
Domain Complexity
• Break things into smaller,
understandable models
• Surround a model and its
“context” with a boundary
• Implement the model in code
or get a new model
• Explicitly map between
different contexts
• Model transactional
boundaries as aggregates
Services and teams make promises
Services make promises
• Health checking
• Autoscaling
• Self healing
• Circuit breakers
• Bulkheading
• Throttling/rate limiting
• Fallbacks
• Apologies
Services make promises
Consumer contracts?
Consumer contracts?
Consumer contracts?
{
"request" : {
"url" : "/user/ceposta",
"method" : ”GET”
},
"response" : {
"status" : 200,
"body" : ([
“first”: “christian”
“last”: 'posta'
“twitter”: '@christianposta'
]),
"headers" : {
"X-Application-Context" : "application:-1",
"Content-Type" : "text/plain"
}
}
}
A Microservice Journey
• Have self-service infrastructure automation?
• Have self-service application automation?
• Have working CI/CD?
• Have health checking, monitoring,
instrumentation?
• Have logging, distributed tracing?
• Able to release services independently?
• Honoring backward and forward
Are you doing microservices?
• Maybe it doesn’t matter so much… What we
really care about is speed, reduced time to
value, and business outcomes.
• Maybe a data-driven approach is a better
way to answer this question...
Are you doing microservices?
• Number of features accepted
• % of features completed
• User satisfaction
• Feature Cycle time
• defects discovered after deployment
• customer lifetime value (future profit as a result of relationship with the
customer) https://en.wikipedia.org/wiki/Customer_lifetime_value
• revenue per feature
• mean time to recovery
• % improvement in SLA
• number of changes
• number of user complaints, recommendations, suggestions
• % favorable rating in surveys
• % of users using which features
• % reduction in error rates
• avg number of tx / user
• MANY MORE!
Are you doing microservices?
Are there any drawbacks?
• System complexity
• Operational complexity
• Testing is harder across services
• Security
• Hard to get boundaries right (transactions,
etc)
• Resource overhead
• Network overhead
Drawbacks to microservices
Microservices for Java Developers
A Microservice Journey
• Simple configuration
• Curated dependencies and
transitive dependencies
• Built in metrics, monitoring
• Slim profile for deployment
(…micro even?)
#microprofile
Docker
• Distributed configuration
• Service Discovery
• Loadbalancing
• Circuit Breakers
• Bulkheading
• Versioning/Routing
• Based on AWS
What about non-java?
Kubernetes
Container cluster management
• Distributed configuration
• Service Discovery
• Loadbalancing
• Versioning/Routing
• Deployments
• Scaling/Autoscaling
• Liveness/Health checking
• Self healing
• Team self service application deployment
• Developer workflow
• Enterprise focused (LDAP, RBAC, Oauth, etc)
• Integrated Docker registry
• Jenkins Pipeline out of the box
• Build/deployment triggers
• Software Defined Networking (SDN)
• Docker native format/packaging
• CLI/IDE/Web based tooling
OpenShift is Kubernetes
• Elasticity, resiliency, self-healing, autoscaling
• Service discovery, load balancing, failover
• Logging, monitoring, tracing
• Configuration
• Testing
• Delivery
Declarative microservices
A Microservice Journey
A Microservice Journey
A Microservice Journey
A Microservice Journey
A Microservice Journey
A Microservice Journey
Twitter: @christianposta
Blog: http://blog.christianposta.com
Email: christian@redhat.com
Thanks!
BTW: Hand drawn diagrams made with Paper by FiftyThree.com 
http://fabric8.io
http://kubernetes.io
http://openshift.com
http://events.linuxfoundation.org/events/kubecon
https://github.com/pact-foundation
http://camel.apache.org

More Related Content

PDF
Microservices and APIs
Christian Posta
 
PPTX
Microservices Journey Summer 2017
Christian Posta
 
PPTX
An evolution of application networking: service mesh
Christian Posta
 
PDF
Managing your camels in the cloud with CI/CD
Christian Posta
 
PPTX
DevNexus 2015
Christian Posta
 
PDF
Microservices Journey NYC
Christian Posta
 
PDF
SOA to Microservices
Christian Posta
 
PDF
Java one kubernetes, jenkins and microservices
Christian Posta
 
Microservices and APIs
Christian Posta
 
Microservices Journey Summer 2017
Christian Posta
 
An evolution of application networking: service mesh
Christian Posta
 
Managing your camels in the cloud with CI/CD
Christian Posta
 
DevNexus 2015
Christian Posta
 
Microservices Journey NYC
Christian Posta
 
SOA to Microservices
Christian Posta
 
Java one kubernetes, jenkins and microservices
Christian Posta
 

What's hot (20)

PDF
Microservices with Apache Camel, DDD, and Kubernetes
Christian Posta
 
PPTX
Microservices Journey Fall 2017
Christian Posta
 
PPTX
A microservices journey - Round 2
Christian Posta
 
PDF
Microservices with Spring Cloud, Netflix OSS and Kubernetes
Christian Posta
 
PPTX
The hardest part of microservices: your data
Christian Posta
 
PDF
Fuse integration-services
Christian Posta
 
PDF
Lowering the risk of monolith to microservices
Christian Posta
 
PDF
The Hardest Part of Microservices: Your Data - Christian Posta, Red Hat
Ambassador Labs
 
PDF
Cloud Native Camel Riding
Christian Posta
 
PPTX
Atlanta Microservices Day: Istio Service Mesh
Christian Posta
 
PPTX
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
Christian Posta
 
PPTX
Microservices with Apache Camel, Docker and Fabric8 v2
Christian Posta
 
PDF
How would ESBs look like, if they were done today.
Markus Eisele
 
PPTX
Why real integration developers ride Camels
Christian Posta
 
PPTX
Microservices and Integration: what's next with Istio service mesh
Christian Posta
 
PPTX
From SOA to MSA
William Yang
 
PPTX
Micro Services in .NET Core and Docker
cjmyers
 
PPTX
Intro to Knative
Christian Posta
 
PPTX
Monoliths and Microservices
Bozhidar Bozhanov
 
PDF
Microservices Practitioner Summit Jan '15 - Microservice Ecosystems At Scale ...
Ambassador Labs
 
Microservices with Apache Camel, DDD, and Kubernetes
Christian Posta
 
Microservices Journey Fall 2017
Christian Posta
 
A microservices journey - Round 2
Christian Posta
 
Microservices with Spring Cloud, Netflix OSS and Kubernetes
Christian Posta
 
The hardest part of microservices: your data
Christian Posta
 
Fuse integration-services
Christian Posta
 
Lowering the risk of monolith to microservices
Christian Posta
 
The Hardest Part of Microservices: Your Data - Christian Posta, Red Hat
Ambassador Labs
 
Cloud Native Camel Riding
Christian Posta
 
Atlanta Microservices Day: Istio Service Mesh
Christian Posta
 
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
Christian Posta
 
Microservices with Apache Camel, Docker and Fabric8 v2
Christian Posta
 
How would ESBs look like, if they were done today.
Markus Eisele
 
Why real integration developers ride Camels
Christian Posta
 
Microservices and Integration: what's next with Istio service mesh
Christian Posta
 
From SOA to MSA
William Yang
 
Micro Services in .NET Core and Docker
cjmyers
 
Intro to Knative
Christian Posta
 
Monoliths and Microservices
Bozhidar Bozhanov
 
Microservices Practitioner Summit Jan '15 - Microservice Ecosystems At Scale ...
Ambassador Labs
 
Ad

Viewers also liked (16)

PPTX
Real world #microservices with Apache Camel, Fabric8, and OpenShift
Christian Posta
 
PDF
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
Christian Posta
 
PDF
Chicago Microservices Integration Talk
Christian Posta
 
PDF
Microservices, DevOps, and Containers with OpenShift and Fabric8
Christian Posta
 
PPTX
Integrating Microservices with Apache Camel
Christian Posta
 
ODP
Developing Microservices with Apache Camel
Claus Ibsen
 
ODP
Microservices with Apache Camel
Claus Ibsen
 
ODP
Build a PaaS with OpenShift Origin
Steven Pousty
 
PPTX
OpenShift Enterprise 3.1 vs kubernetes
Samuel Terburg
 
PDF
fabric8 ... and Docker, Kubernetes & OpenShift
roland.huss
 
PDF
Apache Camel - FUSE community day London 2010 presentation
Claus Ibsen
 
PDF
Easy Integration with Apache Camel and Fuse IDE
JBUG London
 
PPTX
Essential Camel Components
Christian Posta
 
PDF
Getting started with Apache Camel - jDays 2013
Claus Ibsen
 
ODP
Apache Camel workshop at BarcelonaJUG in January 2014
Claus Ibsen
 
PDF
Telecommunications organizations trust Red Hat
Red Hat Events
 
Real world #microservices with Apache Camel, Fabric8, and OpenShift
Christian Posta
 
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
Christian Posta
 
Chicago Microservices Integration Talk
Christian Posta
 
Microservices, DevOps, and Containers with OpenShift and Fabric8
Christian Posta
 
Integrating Microservices with Apache Camel
Christian Posta
 
Developing Microservices with Apache Camel
Claus Ibsen
 
Microservices with Apache Camel
Claus Ibsen
 
Build a PaaS with OpenShift Origin
Steven Pousty
 
OpenShift Enterprise 3.1 vs kubernetes
Samuel Terburg
 
fabric8 ... and Docker, Kubernetes & OpenShift
roland.huss
 
Apache Camel - FUSE community day London 2010 presentation
Claus Ibsen
 
Easy Integration with Apache Camel and Fuse IDE
JBUG London
 
Essential Camel Components
Christian Posta
 
Getting started with Apache Camel - jDays 2013
Claus Ibsen
 
Apache Camel workshop at BarcelonaJUG in January 2014
Claus Ibsen
 
Telecommunications organizations trust Red Hat
Red Hat Events
 
Ad

Similar to A Microservice Journey (20)

PDF
Sidecars and a Microservices Mesh
Red Hat Developers
 
PDF
20141210 - Microservice Container
Jamie (Taka) Wang
 
PPTX
Architecting for speed: How agile innovators accelerate growth through micros...
Jesper Nordström
 
PPTX
Architecting for speed - how agile innovators accelerate growth through micro...
3gamma
 
PDF
Microservices for Architects - Atlanta 2018-03-28
Derek Ashmore
 
PPTX
Accelerate DevOps/Microservices and Kubernetes
Rick Hightower
 
PDF
Microservices for java architects it-symposium-2015-09-15
Derek Ashmore
 
PDF
Microservices for java architects coders-conf-2015-05-15
Derek Ashmore
 
PDF
Writing microservices in Java -- Chicago-2015-11-10
Derek Ashmore
 
PPTX
Introduction to microservices
Anil Allewar
 
PDF
Writing microservices in java java one-2015-10-28
Derek Ashmore
 
PDF
Microservices for architects los angeles-2016-07-16
Derek Ashmore
 
PDF
Microservices Architecture
Srinivasan Nanduri
 
PDF
Building Microservices Software practics
muhammed84essa
 
PDF
Microservices for Java Architects (Madison-Milwaukee, April 28-9, 2015)
Derek Ashmore
 
PDF
#ATAGTR2020 Presentation - Microservices – Explored
Agile Testing Alliance
 
PPTX
Service Mesh CTO Forum (Draft 3)
Rick Hightower
 
PDF
Microservices for java architects schamburg-2015-05-19
Derek Ashmore
 
PPTX
An introduction to Microservices
Cisco DevNet
 
PDF
Microservices for Java Developers
Omar AbdullWahhab
 
Sidecars and a Microservices Mesh
Red Hat Developers
 
20141210 - Microservice Container
Jamie (Taka) Wang
 
Architecting for speed: How agile innovators accelerate growth through micros...
Jesper Nordström
 
Architecting for speed - how agile innovators accelerate growth through micro...
3gamma
 
Microservices for Architects - Atlanta 2018-03-28
Derek Ashmore
 
Accelerate DevOps/Microservices and Kubernetes
Rick Hightower
 
Microservices for java architects it-symposium-2015-09-15
Derek Ashmore
 
Microservices for java architects coders-conf-2015-05-15
Derek Ashmore
 
Writing microservices in Java -- Chicago-2015-11-10
Derek Ashmore
 
Introduction to microservices
Anil Allewar
 
Writing microservices in java java one-2015-10-28
Derek Ashmore
 
Microservices for architects los angeles-2016-07-16
Derek Ashmore
 
Microservices Architecture
Srinivasan Nanduri
 
Building Microservices Software practics
muhammed84essa
 
Microservices for Java Architects (Madison-Milwaukee, April 28-9, 2015)
Derek Ashmore
 
#ATAGTR2020 Presentation - Microservices – Explored
Agile Testing Alliance
 
Service Mesh CTO Forum (Draft 3)
Rick Hightower
 
Microservices for java architects schamburg-2015-05-19
Derek Ashmore
 
An introduction to Microservices
Cisco DevNet
 
Microservices for Java Developers
Omar AbdullWahhab
 

More from Christian Posta (20)

PDF
What Istio Got Wrong: Learnings from the last seven years of service mesh
Christian Posta
 
PDF
Move Auth, Policy, and Resilience to the Platform
Christian Posta
 
PDF
Comparing Sidecar-less Service Mesh from Cilium and Istio
Christian Posta
 
PDF
Understanding Wireguard, TLS and Workload Identity
Christian Posta
 
PDF
Compliance and Zero Trust Ambient Mesh
Christian Posta
 
PDF
Cilium + Istio with Gloo Mesh
Christian Posta
 
PPT
Multi-cluster service mesh with GlooMesh
Christian Posta
 
PPTX
Multicluster Kubernetes and Service Mesh Patterns
Christian Posta
 
PPTX
Cloud-Native Application Debugging with Envoy and Service Mesh
Christian Posta
 
PPTX
Kubernetes Ingress to Service Mesh (and beyond!)
Christian Posta
 
PPTX
The Truth About the Service Mesh Data Plane
Christian Posta
 
PPTX
Deep Dive: Building external auth plugins for Gloo Enterprise
Christian Posta
 
PPTX
Role of edge gateways in relation to service mesh adoption
Christian Posta
 
PPTX
Navigating the service mesh landscape with Istio, Consul Connect, and Linkerd
Christian Posta
 
PPTX
Chaos Debugging for Microservices
Christian Posta
 
PPTX
Leveraging Envoy Proxy and GraphQL to Lower the Risk of Monolith to Microserv...
Christian Posta
 
PPTX
Service-mesh options with Linkerd, Consul, Istio and AWS AppMesh
Christian Posta
 
PPTX
Intro Istio and what's new Istio 1.1
Christian Posta
 
PPTX
API Gateways are going through an identity crisis
Christian Posta
 
PPTX
KubeCon NA 2018: Evolution of Integration and Microservices with Service Mesh...
Christian Posta
 
What Istio Got Wrong: Learnings from the last seven years of service mesh
Christian Posta
 
Move Auth, Policy, and Resilience to the Platform
Christian Posta
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Christian Posta
 
Understanding Wireguard, TLS and Workload Identity
Christian Posta
 
Compliance and Zero Trust Ambient Mesh
Christian Posta
 
Cilium + Istio with Gloo Mesh
Christian Posta
 
Multi-cluster service mesh with GlooMesh
Christian Posta
 
Multicluster Kubernetes and Service Mesh Patterns
Christian Posta
 
Cloud-Native Application Debugging with Envoy and Service Mesh
Christian Posta
 
Kubernetes Ingress to Service Mesh (and beyond!)
Christian Posta
 
The Truth About the Service Mesh Data Plane
Christian Posta
 
Deep Dive: Building external auth plugins for Gloo Enterprise
Christian Posta
 
Role of edge gateways in relation to service mesh adoption
Christian Posta
 
Navigating the service mesh landscape with Istio, Consul Connect, and Linkerd
Christian Posta
 
Chaos Debugging for Microservices
Christian Posta
 
Leveraging Envoy Proxy and GraphQL to Lower the Risk of Monolith to Microserv...
Christian Posta
 
Service-mesh options with Linkerd, Consul, Istio and AWS AppMesh
Christian Posta
 
Intro Istio and what's new Istio 1.1
Christian Posta
 
API Gateways are going through an identity crisis
Christian Posta
 
KubeCon NA 2018: Evolution of Integration and Microservices with Service Mesh...
Christian Posta
 

Recently uploaded (20)

PDF
What to consider before purchasing Microsoft 365 Business Premium_PDF.pdf
Q-Advise
 
PPTX
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
PDF
Immersive experiences: what Pharo users do!
ESUG
 
PPTX
Presentation about variables and constant.pptx
safalsingh810
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PPTX
Presentation about variables and constant.pptx
kr2589474
 
PPT
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PDF
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
PPTX
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
PDF
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
PDF
Exploring AI Agents in Process Industries
amoreira6
 
PPTX
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
PDF
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
PDF
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
PPTX
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
PPTX
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
PDF
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
What to consider before purchasing Microsoft 365 Business Premium_PDF.pdf
Q-Advise
 
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
Immersive experiences: what Pharo users do!
ESUG
 
Presentation about variables and constant.pptx
safalsingh810
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
Presentation about variables and constant.pptx
kr2589474
 
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
Exploring AI Agents in Process Industries
amoreira6
 
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
Protecting the Digital World Cyber Securit
dnthakkar16
 

A Microservice Journey

  • 3. Christian Posta Principal Middleware Specialist/Architect Twitter: @christianposta Blog: http://blog.christianposta.com Email: [email protected] • Author “Microservices for Java developers” • Committer on Apache Camel, Apache ActiveMQ, Fabric8, others • Worked with large Microservices, web-scale, unicorn company • Blogger, speaker about DevOps, integration, and microservices
  • 5. Microservices Journey • Why? • Microservices Architectures • Cloud platforms with Kubernetes/OpenShift • Q & A
  • 6. If change is happening on the outside faster than on the inside the end is in sight. Jack Welch, former CEO, GE S&P company life expectancy
  • 7. Fortune 500 firms in 1955 vs. 2014; 88% are gone
  • 8. We need to innovate, not just keep up. (Red Queen’s Race)
  • 9. Source: Dave Gray, The Connected Company
  • 10. Source: Dave Gray, The Connected Company
  • 11. Value delivered through services, not mass production of product.
  • 13. To deliver services which provide value, we need to listen and react. We need to deal with variety.
  • 14. Software is eating the world. Marc Andreesen
  • 15. IT as a core competency; a driver of business value
  • 16. How to drive innovation and deliver value through IT: • Decentralized decision making • Purpose driven • Innovation: Admit you don’t have all the answers; figure out how to ask the right questions!
  • 19. Characteristics of agile systems • Small teams • Autonomy • Own their existence • Freedom + Responsibility • Purpose driven • Feedback/data driven • Simple rules, emergent results
  • 20. People try to copy Netflix, but they can only copy what they see. They copy the results, not the process. Adrian Cockcroft, former Chief Cloud Architect, Netflix
  • 21. “Let there be no more talk about DevOps unicorns or horses but only thoroughbreds and horses heading to the glue factory” Dr. Branden Williams – business security specialist
  • 23. organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations Melvin Conway
  • 24. “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.” Martin Fowler’s definition
  • 25. “Microservices is an architectural approach, that emphasizes the decomposition of applications into single-purpose, loosely coupled services managed by cross-functional teams, for delivering and maintaining complex software systems with the velocity and quality required by today’s digital business” Red Hat’s definition
  • 26. Break things down (organizations, teams, IT systems, etc) down into smaller pieces for greater parallelization and focus on reducing time to value.
  • 27. • Single, self-contained, autonomous • Isolated and Resilient to faults • Faster software delivery • Own their own data • Easier to understand individually • Scalability • Right technology for the problem • Test individual services • Individual deployments What benefits of breaking this down?
  • 28. Microservices is about optimizing… for speed.
  • 33. Microservices is about optimizing… for speed.
  • 34. How do you go fast?
  • 36. How to shed dependencies?
  • 37. Shedding dependencies • Team self service • Organize teams around a service • Teams own entire lifecycle (build, test, deploy, debug, operate, maintain; you build it you run it) • Teams communicate via APIs (or you’re fired!) • Services own their own data • Boundaries establish a “bounded context” • Services communicate via promises • Make contracts explicit: contract evolution as a first-class citizen
  • 39. But we still have dependencies on other services!
  • 42. Domain Complexity • Break things into smaller, understandable models • Surround a model and its “context” with a boundary • Implement the model in code or get a new model • Explicitly map between different contexts • Model transactional boundaries as aggregates
  • 43. Services and teams make promises
  • 44. Services make promises • Health checking • Autoscaling • Self healing • Circuit breakers • Bulkheading • Throttling/rate limiting • Fallbacks • Apologies
  • 48. Consumer contracts? { "request" : { "url" : "/user/ceposta", "method" : ”GET” }, "response" : { "status" : 200, "body" : ([ “first”: “christian” “last”: 'posta' “twitter”: '@christianposta' ]), "headers" : { "X-Application-Context" : "application:-1", "Content-Type" : "text/plain" } } }
  • 50. • Have self-service infrastructure automation? • Have self-service application automation? • Have working CI/CD? • Have health checking, monitoring, instrumentation? • Have logging, distributed tracing? • Able to release services independently? • Honoring backward and forward Are you doing microservices?
  • 51. • Maybe it doesn’t matter so much… What we really care about is speed, reduced time to value, and business outcomes. • Maybe a data-driven approach is a better way to answer this question... Are you doing microservices?
  • 52. • Number of features accepted • % of features completed • User satisfaction • Feature Cycle time • defects discovered after deployment • customer lifetime value (future profit as a result of relationship with the customer) https://en.wikipedia.org/wiki/Customer_lifetime_value • revenue per feature • mean time to recovery • % improvement in SLA • number of changes • number of user complaints, recommendations, suggestions • % favorable rating in surveys • % of users using which features • % reduction in error rates • avg number of tx / user • MANY MORE! Are you doing microservices?
  • 53. Are there any drawbacks?
  • 54. • System complexity • Operational complexity • Testing is harder across services • Security • Hard to get boundaries right (transactions, etc) • Resource overhead • Network overhead Drawbacks to microservices
  • 57. • Simple configuration • Curated dependencies and transitive dependencies • Built in metrics, monitoring • Slim profile for deployment (…micro even?) #microprofile
  • 59. • Distributed configuration • Service Discovery • Loadbalancing • Circuit Breakers • Bulkheading • Versioning/Routing • Based on AWS
  • 62. Container cluster management • Distributed configuration • Service Discovery • Loadbalancing • Versioning/Routing • Deployments • Scaling/Autoscaling • Liveness/Health checking • Self healing
  • 63. • Team self service application deployment • Developer workflow • Enterprise focused (LDAP, RBAC, Oauth, etc) • Integrated Docker registry • Jenkins Pipeline out of the box • Build/deployment triggers • Software Defined Networking (SDN) • Docker native format/packaging • CLI/IDE/Web based tooling OpenShift is Kubernetes
  • 64. • Elasticity, resiliency, self-healing, autoscaling • Service discovery, load balancing, failover • Logging, monitoring, tracing • Configuration • Testing • Delivery Declarative microservices
  • 71. Twitter: @christianposta Blog: http://blog.christianposta.com Email: [email protected] Thanks! BTW: Hand drawn diagrams made with Paper by FiftyThree.com  http://fabric8.io http://kubernetes.io http://openshift.com http://events.linuxfoundation.org/events/kubecon https://github.com/pact-foundation http://camel.apache.org