A Microservice Journey

Christian Posta
Christian PostaGlobal Field CTO at Solo.io
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
1 of 71

Recommended

Microservices and APIs by
Microservices and APIsMicroservices and APIs
Microservices and APIsChristian Posta
1.7K views35 slides
Microservices Journey Summer 2017 by
Microservices Journey Summer 2017Microservices Journey Summer 2017
Microservices Journey Summer 2017Christian Posta
2.3K views79 slides
An evolution of application networking: service mesh by
An evolution of application networking: service meshAn evolution of application networking: service mesh
An evolution of application networking: service meshChristian Posta
1.3K views36 slides
Managing your camels in the cloud with CI/CD by
Managing your camels in the cloud with CI/CDManaging your camels in the cloud with CI/CD
Managing your camels in the cloud with CI/CDChristian Posta
1.1K views30 slides
DevNexus 2015 by
DevNexus 2015DevNexus 2015
DevNexus 2015Christian Posta
1.2K views38 slides
Microservices Journey NYC by
Microservices Journey NYCMicroservices Journey NYC
Microservices Journey NYCChristian Posta
2.3K views81 slides

More Related Content

What's hot

Microservices with Apache Camel, DDD, and Kubernetes by
Microservices with Apache Camel, DDD, and KubernetesMicroservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and KubernetesChristian Posta
2.9K views33 slides
Microservices Journey Fall 2017 by
Microservices Journey Fall 2017Microservices Journey Fall 2017
Microservices Journey Fall 2017Christian Posta
1.1K views81 slides
A microservices journey - Round 2 by
A microservices journey - Round 2A microservices journey - Round 2
A microservices journey - Round 2Christian Posta
1K views80 slides
Microservices with Spring Cloud, Netflix OSS and Kubernetes by
Microservices with Spring Cloud, Netflix OSS and Kubernetes Microservices with Spring Cloud, Netflix OSS and Kubernetes
Microservices with Spring Cloud, Netflix OSS and Kubernetes Christian Posta
1.5K views11 slides
The hardest part of microservices: your data by
The hardest part of microservices: your dataThe hardest part of microservices: your data
The hardest part of microservices: your dataChristian Posta
21.4K views89 slides
Fuse integration-services by
Fuse integration-servicesFuse integration-services
Fuse integration-servicesChristian Posta
2.6K views34 slides

What's hot(20)

Microservices with Apache Camel, DDD, and Kubernetes by Christian Posta
Microservices with Apache Camel, DDD, and KubernetesMicroservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and Kubernetes
Christian Posta2.9K views
Microservices Journey Fall 2017 by Christian Posta
Microservices Journey Fall 2017Microservices Journey Fall 2017
Microservices Journey Fall 2017
Christian Posta1.1K views
Microservices with Spring Cloud, Netflix OSS and Kubernetes by Christian Posta
Microservices with Spring Cloud, Netflix OSS and Kubernetes Microservices with Spring Cloud, Netflix OSS and Kubernetes
Microservices with Spring Cloud, Netflix OSS and Kubernetes
Christian Posta1.5K views
The hardest part of microservices: your data by Christian Posta
The hardest part of microservices: your dataThe hardest part of microservices: your data
The hardest part of microservices: your data
Christian Posta21.4K views
Lowering the risk of monolith to microservices by Christian Posta
Lowering the risk of monolith to microservicesLowering the risk of monolith to microservices
Lowering the risk of monolith to microservices
Christian Posta1.9K views
The Hardest Part of Microservices: Your Data - Christian Posta, Red Hat by Ambassador Labs
The Hardest Part of Microservices: Your Data - Christian Posta, Red HatThe Hardest Part of Microservices: Your Data - Christian Posta, Red Hat
The Hardest Part of Microservices: Your Data - Christian Posta, Red Hat
Ambassador Labs3.4K views
Atlanta Microservices Day: Istio Service Mesh by Christian Posta
Atlanta Microservices Day: Istio Service MeshAtlanta Microservices Day: Istio Service Mesh
Atlanta Microservices Day: Istio Service Mesh
Christian Posta3.9K views
Real-world #microservices with Apache Camel, Fabric8, and OpenShift by Christian Posta
Real-world #microservices with Apache Camel, Fabric8, and OpenShiftReal-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
Christian Posta1.8K views
Microservices with Apache Camel, Docker and Fabric8 v2 by Christian Posta
Microservices with Apache Camel, Docker and Fabric8 v2Microservices with Apache Camel, Docker and Fabric8 v2
Microservices with Apache Camel, Docker and Fabric8 v2
Christian Posta8.4K views
How would ESBs look like, if they were done today. by Markus Eisele
How would ESBs look like, if they were done today.How would ESBs look like, if they were done today.
How would ESBs look like, if they were done today.
Markus Eisele11.4K views
Why real integration developers ride Camels by Christian Posta
Why real integration developers ride CamelsWhy real integration developers ride Camels
Why real integration developers ride Camels
Christian Posta1.5K views
Microservices and Integration: what's next with Istio service mesh by Christian Posta
Microservices and Integration: what's next with Istio service meshMicroservices and Integration: what's next with Istio service mesh
Microservices and Integration: what's next with Istio service mesh
Christian Posta3.3K views
From SOA to MSA by William Yang
From SOA to MSAFrom SOA to MSA
From SOA to MSA
William Yang17.9K views
Micro Services in .NET Core and Docker by cjmyers
Micro Services in .NET Core and DockerMicro Services in .NET Core and Docker
Micro Services in .NET Core and Docker
cjmyers6.4K views
Microservices Practitioner Summit Jan '15 - Microservice Ecosystems At Scale ... by Ambassador Labs
Microservices Practitioner Summit Jan '15 - Microservice Ecosystems At Scale ...Microservices Practitioner Summit Jan '15 - Microservice Ecosystems At Scale ...
Microservices Practitioner Summit Jan '15 - Microservice Ecosystems At Scale ...
Ambassador Labs3.9K views

Viewers also liked

Real world #microservices with Apache Camel, Fabric8, and OpenShift by
Real world #microservices with Apache Camel, Fabric8, and OpenShiftReal world #microservices with Apache Camel, Fabric8, and OpenShift
Real world #microservices with Apache Camel, Fabric8, and OpenShiftChristian Posta
4K views59 slides
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO by
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO Christian Posta
12K views62 slides
Chicago Microservices Integration Talk by
Chicago Microservices Integration TalkChicago Microservices Integration Talk
Chicago Microservices Integration TalkChristian Posta
1.6K views46 slides
Microservices, DevOps, and Containers with OpenShift and Fabric8 by
Microservices, DevOps, and Containers with OpenShift and Fabric8Microservices, DevOps, and Containers with OpenShift and Fabric8
Microservices, DevOps, and Containers with OpenShift and Fabric8Christian Posta
2.5K views15 slides
Integrating Microservices with Apache Camel by
Integrating Microservices with Apache CamelIntegrating Microservices with Apache Camel
Integrating Microservices with Apache CamelChristian Posta
10.7K views42 slides
Developing Microservices with Apache Camel by
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache CamelClaus Ibsen
6.8K views101 slides

Viewers also liked(16)

Real world #microservices with Apache Camel, Fabric8, and OpenShift by Christian Posta
Real world #microservices with Apache Camel, Fabric8, and OpenShiftReal world #microservices with Apache Camel, Fabric8, and OpenShift
Real world #microservices with Apache Camel, Fabric8, and OpenShift
Christian Posta4K views
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO by Christian Posta
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
Christian Posta12K views
Chicago Microservices Integration Talk by Christian Posta
Chicago Microservices Integration TalkChicago Microservices Integration Talk
Chicago Microservices Integration Talk
Christian Posta1.6K views
Microservices, DevOps, and Containers with OpenShift and Fabric8 by Christian Posta
Microservices, DevOps, and Containers with OpenShift and Fabric8Microservices, DevOps, and Containers with OpenShift and Fabric8
Microservices, DevOps, and Containers with OpenShift and Fabric8
Christian Posta2.5K views
Integrating Microservices with Apache Camel by Christian Posta
Integrating Microservices with Apache CamelIntegrating Microservices with Apache Camel
Integrating Microservices with Apache Camel
Christian Posta10.7K views
Developing Microservices with Apache Camel by Claus Ibsen
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache Camel
Claus Ibsen6.8K views
Microservices with Apache Camel by Claus Ibsen
Microservices with Apache CamelMicroservices with Apache Camel
Microservices with Apache Camel
Claus Ibsen6.4K views
Build a PaaS with OpenShift Origin by Steven Pousty
Build a PaaS with OpenShift OriginBuild a PaaS with OpenShift Origin
Build a PaaS with OpenShift Origin
Steven Pousty10.2K views
OpenShift Enterprise 3.1 vs kubernetes by Samuel Terburg
OpenShift Enterprise 3.1 vs kubernetesOpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetes
Samuel Terburg42.1K views
fabric8 ... and Docker, Kubernetes & OpenShift by roland.huss
fabric8 ... and Docker, Kubernetes & OpenShiftfabric8 ... and Docker, Kubernetes & OpenShift
fabric8 ... and Docker, Kubernetes & OpenShift
roland.huss9.6K views
Apache Camel - FUSE community day London 2010 presentation by Claus Ibsen
Apache Camel - FUSE community day London 2010 presentationApache Camel - FUSE community day London 2010 presentation
Apache Camel - FUSE community day London 2010 presentation
Claus Ibsen2.3K views
Easy Integration with Apache Camel and Fuse IDE by JBUG London
Easy Integration with Apache Camel and Fuse IDEEasy Integration with Apache Camel and Fuse IDE
Easy Integration with Apache Camel and Fuse IDE
JBUG London6.7K views
Getting started with Apache Camel - jDays 2013 by Claus Ibsen
Getting started with Apache Camel - jDays 2013Getting started with Apache Camel - jDays 2013
Getting started with Apache Camel - jDays 2013
Claus Ibsen2.1K views
Apache Camel workshop at BarcelonaJUG in January 2014 by Claus Ibsen
Apache Camel workshop at BarcelonaJUG in January 2014Apache Camel workshop at BarcelonaJUG in January 2014
Apache Camel workshop at BarcelonaJUG in January 2014
Claus Ibsen3.9K views
Telecommunications organizations trust Red Hat by Red Hat Events
Telecommunications organizations trust Red HatTelecommunications organizations trust Red Hat
Telecommunications organizations trust Red Hat
Red Hat Events639 views

Similar to A Microservice Journey

Sidecars and a Microservices Mesh by
Sidecars and a Microservices MeshSidecars and a Microservices Mesh
Sidecars and a Microservices MeshRed Hat Developers
2.8K views81 slides
Introduction To Microservices by
Introduction To MicroservicesIntroduction To Microservices
Introduction To MicroservicesLalit Kale
1.1K views40 slides
Grokking microservices in 5 minutes by
Grokking microservices in 5 minutesGrokking microservices in 5 minutes
Grokking microservices in 5 minutesAndrew Siemer
6.2K views24 slides
Serverless & Microservices Architecture by
Serverless & Microservices ArchitectureServerless & Microservices Architecture
Serverless & Microservices ArchitectureJason Woods
18 views19 slides
From Monoliths to Services: Grafually paying your Technical Debt by
From Monoliths to Services: Grafually paying your Technical DebtFrom Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical DebtDavid Litvak Bruno
423 views98 slides
Introduction to Microservices by
Introduction to MicroservicesIntroduction to Microservices
Introduction to MicroservicesMahmoudZidan41
773 views30 slides

Similar to A Microservice Journey(20)

Introduction To Microservices by Lalit Kale
Introduction To MicroservicesIntroduction To Microservices
Introduction To Microservices
Lalit Kale1.1K views
Grokking microservices in 5 minutes by Andrew Siemer
Grokking microservices in 5 minutesGrokking microservices in 5 minutes
Grokking microservices in 5 minutes
Andrew Siemer6.2K views
Serverless & Microservices Architecture by Jason Woods
Serverless & Microservices ArchitectureServerless & Microservices Architecture
Serverless & Microservices Architecture
Jason Woods18 views
From Monoliths to Services: Grafually paying your Technical Debt by David Litvak Bruno
From Monoliths to Services: Grafually paying your Technical DebtFrom Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical Debt
David Litvak Bruno423 views
Introduction to Microservices by MahmoudZidan41
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
MahmoudZidan41773 views
Accelerate DevOps/Microservices and Kubernetes by Rick Hightower
Accelerate DevOps/Microservices and KubernetesAccelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and Kubernetes
Rick Hightower224 views
The Reality of Managing Microservices in Your CD Pipeline by DevOps.com
The Reality of Managing Microservices in Your CD PipelineThe Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD Pipeline
DevOps.com230 views
Java EE microservices architecture - evolving the monolith by Markus Eisele
Java EE microservices architecture - evolving the monolithJava EE microservices architecture - evolving the monolith
Java EE microservices architecture - evolving the monolith
Markus Eisele7.3K views
From Monoliths to Services: Paying Your Technical Debt by TechWell
From Monoliths to Services: Paying Your Technical DebtFrom Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical Debt
TechWell327 views
Iot cloud service v2.0 by Vinod Wilson
Iot cloud service v2.0Iot cloud service v2.0
Iot cloud service v2.0
Vinod Wilson495 views
Service Mesh CTO Forum (Draft 3) by Rick Hightower
Service Mesh CTO Forum (Draft 3)Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)
Rick Hightower258 views
Evolving your Architecture to MicroServices by Hector Tapia
Evolving your Architecture to MicroServicesEvolving your Architecture to MicroServices
Evolving your Architecture to MicroServices
Hector Tapia289 views
Accelerate Delivery: Business case for Agile DevOps, CI/CD and Microservices by Rick Hightower
Accelerate Delivery: Business case for Agile DevOps, CI/CD and MicroservicesAccelerate Delivery: Business case for Agile DevOps, CI/CD and Microservices
Accelerate Delivery: Business case for Agile DevOps, CI/CD and Microservices
Rick Hightower276 views
API’s and Micro Services 0.5 by Richard Hudson
API’s and Micro Services 0.5API’s and Micro Services 0.5
API’s and Micro Services 0.5
Richard Hudson445 views
Designing Microservices by David Chou
Designing MicroservicesDesigning Microservices
Designing Microservices
David Chou504 views
AWS Summit Auckland - Smaller is Better - Microservices on AWS by Amazon Web Services
AWS Summit Auckland - Smaller is Better - Microservices on AWSAWS Summit Auckland - Smaller is Better - Microservices on AWS
AWS Summit Auckland - Smaller is Better - Microservices on AWS
Business and IT agility through DevOps and microservice architecture powered ... by Lucas Jellema
Business and IT agility through DevOps and microservice architecture powered ...Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...
Lucas Jellema306 views
DevOps and Microservice by Inho Kang
DevOps and MicroserviceDevOps and Microservice
DevOps and Microservice
Inho Kang280 views

More from Christian Posta

Understanding Wireguard, TLS and Workload Identity by
Understanding Wireguard, TLS and Workload IdentityUnderstanding Wireguard, TLS and Workload Identity
Understanding Wireguard, TLS and Workload IdentityChristian Posta
263 views51 slides
Compliance and Zero Trust Ambient Mesh by
Compliance and Zero Trust Ambient MeshCompliance and Zero Trust Ambient Mesh
Compliance and Zero Trust Ambient MeshChristian Posta
143 views40 slides
Cilium + Istio with Gloo Mesh by
Cilium + Istio with Gloo MeshCilium + Istio with Gloo Mesh
Cilium + Istio with Gloo MeshChristian Posta
597 views40 slides
Multi-cluster service mesh with GlooMesh by
Multi-cluster service mesh with GlooMeshMulti-cluster service mesh with GlooMesh
Multi-cluster service mesh with GlooMeshChristian Posta
1.2K views28 slides
Multicluster Kubernetes and Service Mesh Patterns by
Multicluster Kubernetes and Service Mesh PatternsMulticluster Kubernetes and Service Mesh Patterns
Multicluster Kubernetes and Service Mesh PatternsChristian Posta
1.4K views43 slides
Cloud-Native Application Debugging with Envoy and Service Mesh by
Cloud-Native Application Debugging with Envoy and Service MeshCloud-Native Application Debugging with Envoy and Service Mesh
Cloud-Native Application Debugging with Envoy and Service MeshChristian Posta
928 views79 slides

More from Christian Posta(20)

Understanding Wireguard, TLS and Workload Identity by Christian Posta
Understanding Wireguard, TLS and Workload IdentityUnderstanding Wireguard, TLS and Workload Identity
Understanding Wireguard, TLS and Workload Identity
Christian Posta263 views
Compliance and Zero Trust Ambient Mesh by Christian Posta
Compliance and Zero Trust Ambient MeshCompliance and Zero Trust Ambient Mesh
Compliance and Zero Trust Ambient Mesh
Christian Posta143 views
Multi-cluster service mesh with GlooMesh by Christian Posta
Multi-cluster service mesh with GlooMeshMulti-cluster service mesh with GlooMesh
Multi-cluster service mesh with GlooMesh
Christian Posta1.2K views
Multicluster Kubernetes and Service Mesh Patterns by Christian Posta
Multicluster Kubernetes and Service Mesh PatternsMulticluster Kubernetes and Service Mesh Patterns
Multicluster Kubernetes and Service Mesh Patterns
Christian Posta1.4K views
Cloud-Native Application Debugging with Envoy and Service Mesh by Christian Posta
Cloud-Native Application Debugging with Envoy and Service MeshCloud-Native Application Debugging with Envoy and Service Mesh
Cloud-Native Application Debugging with Envoy and Service Mesh
Christian Posta928 views
Kubernetes Ingress to Service Mesh (and beyond!) by Christian Posta
Kubernetes Ingress to Service Mesh (and beyond!)Kubernetes Ingress to Service Mesh (and beyond!)
Kubernetes Ingress to Service Mesh (and beyond!)
Christian Posta614 views
The Truth About the Service Mesh Data Plane by Christian Posta
The Truth About the Service Mesh Data PlaneThe Truth About the Service Mesh Data Plane
The Truth About the Service Mesh Data Plane
Christian Posta2.6K views
Deep Dive: Building external auth plugins for Gloo Enterprise by Christian Posta
Deep Dive: Building external auth plugins for Gloo EnterpriseDeep Dive: Building external auth plugins for Gloo Enterprise
Deep Dive: Building external auth plugins for Gloo Enterprise
Christian Posta719 views
Role of edge gateways in relation to service mesh adoption by Christian Posta
Role of edge gateways in relation to service mesh adoptionRole of edge gateways in relation to service mesh adoption
Role of edge gateways in relation to service mesh adoption
Christian Posta1.1K views
Navigating the service mesh landscape with Istio, Consul Connect, and Linkerd by Christian Posta
Navigating the service mesh landscape with Istio, Consul Connect, and LinkerdNavigating the service mesh landscape with Istio, Consul Connect, and Linkerd
Navigating the service mesh landscape with Istio, Consul Connect, and Linkerd
Christian Posta5K views
Chaos Debugging for Microservices by Christian Posta
Chaos Debugging for MicroservicesChaos Debugging for Microservices
Chaos Debugging for Microservices
Christian Posta694 views
Leveraging Envoy Proxy and GraphQL to Lower the Risk of Monolith to Microserv... by Christian Posta
Leveraging Envoy Proxy and GraphQL to Lower the Risk of Monolith to Microserv...Leveraging Envoy Proxy and GraphQL to Lower the Risk of Monolith to Microserv...
Leveraging Envoy Proxy and GraphQL to Lower the Risk of Monolith to Microserv...
Christian Posta2.8K views
Service-mesh options with Linkerd, Consul, Istio and AWS AppMesh by Christian Posta
Service-mesh options with Linkerd, Consul, Istio and AWS AppMeshService-mesh options with Linkerd, Consul, Istio and AWS AppMesh
Service-mesh options with Linkerd, Consul, Istio and AWS AppMesh
Christian Posta2.8K views
Intro Istio and what's new Istio 1.1 by Christian Posta
Intro Istio and what's new Istio 1.1Intro Istio and what's new Istio 1.1
Intro Istio and what's new Istio 1.1
Christian Posta852 views
API Gateways are going through an identity crisis by Christian Posta
API Gateways are going through an identity crisisAPI Gateways are going through an identity crisis
API Gateways are going through an identity crisis
Christian Posta1.8K views
KubeCon NA 2018: Evolution of Integration and Microservices with Service Mesh... by Christian Posta
KubeCon NA 2018: Evolution of Integration and Microservices with Service Mesh...KubeCon NA 2018: Evolution of Integration and Microservices with Service Mesh...
KubeCon NA 2018: Evolution of Integration and Microservices with Service Mesh...
Christian Posta1.9K views
PHX DevOps Days: Service Mesh Landscape by Christian Posta
PHX DevOps Days: Service Mesh LandscapePHX DevOps Days: Service Mesh Landscape
PHX DevOps Days: Service Mesh Landscape
Christian Posta736 views
API World: The service-mesh landscape by Christian Posta
API World: The service-mesh landscapeAPI World: The service-mesh landscape
API World: The service-mesh landscape
Christian Posta851 views
Making sense of microservices, service mesh, and serverless by Christian Posta
Making sense of microservices, service mesh, and serverlessMaking sense of microservices, service mesh, and serverless
Making sense of microservices, service mesh, and serverless
Christian Posta691 views

Recently uploaded

DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the... by
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...Deltares
6 views22 slides
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium... by
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Lisi Hocke
28 views124 slides
360 graden fabriek by
360 graden fabriek360 graden fabriek
360 graden fabriekinfo33492
36 views25 slides
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...Marc Müller
38 views62 slides
Keep by
KeepKeep
KeepGeniusee
75 views10 slides
Airline Booking Software by
Airline Booking SoftwareAirline Booking Software
Airline Booking SoftwareSharmiMehta
5 views26 slides

Recently uploaded(20)

DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the... by Deltares
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...
Deltares6 views
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium... by Lisi Hocke
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Lisi Hocke28 views
360 graden fabriek by info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info3349236 views
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller38 views
Airline Booking Software by SharmiMehta
Airline Booking SoftwareAirline Booking Software
Airline Booking Software
SharmiMehta5 views
FIMA 2023 Neo4j & FS - Entity Resolution.pptx by Neo4j
FIMA 2023 Neo4j & FS - Entity Resolution.pptxFIMA 2023 Neo4j & FS - Entity Resolution.pptx
FIMA 2023 Neo4j & FS - Entity Resolution.pptx
Neo4j6 views
DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h... by Deltares
DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h...DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h...
DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h...
Deltares5 views
Fleet Management Software in India by Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable11 views
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t... by Deltares
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
Deltares9 views
Copilot Prompting Toolkit_All Resources.pdf by Riccardo Zamana
Copilot Prompting Toolkit_All Resources.pdfCopilot Prompting Toolkit_All Resources.pdf
Copilot Prompting Toolkit_All Resources.pdf
Riccardo Zamana8 views
Generic or specific? Making sensible software design decisions by Bert Jan Schrijver
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
Advanced API Mocking Techniques by Dimpy Adhikary
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking Techniques
Dimpy Adhikary19 views
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action by Márton Kodok
Gen Apps on Google Cloud PaLM2 and Codey APIs in ActionGen Apps on Google Cloud PaLM2 and Codey APIs in Action
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action
Márton Kodok5 views
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx by animuscrm
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
animuscrm13 views
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J... by Deltares
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
Deltares9 views

A Microservice Journey

  • 3. 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
  • 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: 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