SlideShare a Scribd company logo
JEFF NICKOLOFF
Founder, Topple
From Monoliths to
Microservices
1. Release engineering for monoliths becomes
challenging as groups and codebases scale.
2. Changing technological context is difficult to
integrate in monolithic projects.
3. Side effects, leaky abstractions, resource isolation.
4. Security?
But why migrate?
1. How and why microservice architectures and
ownership end up falling along organizational lines.
2. How we can learn from monolith tooling to inform
our tooling in a microservice environment.
3. How you can achieve operational excellence at
scale taking a logistical approach with Docker.
What do we hope to learn?
• Building, shipping, and running…
• Same challenges, but different context.
• How will the context change?
Challenges
• More, smaller focused components
• Components have independent lifecycles
• Network vs memory component addressing
• Distributed and localized state
• Unreliable wall clocks
• Independent component runtime state (health)
• Independent component “experiences”
Distributed and Independent
Silos and Cognitive Limits
• The number is about 150
• What is it?
• Relationships in constant flux. So is code.
Dunbar's Number
“Organizations which design systems ... are
constrained to produce designs which are copies
of the communication structures of these
organizations.”
Why should we embrace it?
Conway's Law
• Focused development
• Focused on-call rotations
• Integration on interface reduces dev risk
• Ops specialization reduces “time to root cause”
• Change impact has “perspective”
Isolation in Management and Operation
• More than “names and numbers… ”
• Versioning contracts can be extremely painful
• Validate contract changes early, and prefer backwards
compatibility
• Track contract dependencies
• Anticipate long adoption cycles
Contract (API) Versioning
Tools
• Monoliths
- Shared libraries
- Code weaving with Aspect Oriented Programming
• Microservices
- Middleware
- Sidecar processes
- Orchestrators
Tool Forms
• Not simple function calls
• Inter-component:
- Authentication
- Authorization
- Channel encryption
- Maintenance
• Tool? Service Mesh; API gateways; Netflix Hystrix
Trustworthy Communication
• No more in-process singletons:
- Distributed locking
- Leadership election
• Tools? Orchestrators; DIY with storage locks
and fencing
Distributed Coordination
• Linearizing log/event streams without clocks
• Log aggregation and centralization
• Tools? ELK; Fluent, Syslog
Disjoint Event Streams
• Tracing the causal relationships between a set
of inter-component requests
• Tools: Zipkin, Jaeger, Service Mesh
Multi-Process Debugging
• Monoliths
- Tests versioned with code
- Tests consistent snapshots of code
- Unit, Functional, and Integration Testing
- Loose contract between components
- Fails before deployment
Evolution of Testability
• … do the same things, just continuously at
runtime.
• Microservices
- No runtime consistency -> snapshot testing is less useful
- Need continuous or edge integration testing
- Contract validation becomes critical
- Tests define the service contracts
Evolution of Testability
• Names and versions identify contracts
- Interfaces, structures, data. Not just code.
• Process vs Code Dependencies
- Must code to interface
- Runtime dependency modeling
• Tool? Getting into logistics…
Dependency Management
Logistics for Scale
• More artifacts
- Release artifacts: binaries, and images
- Runtime artifacts: processes, names, and containers
- Configuration: config, secret material
• Securing supply chain
• Tools: Docker registry, pipelines (CI/CD)
Artifact Management
• “Release Engineering” vs. “Distribute Change
Management”
• More processes
• Declarative desired state
- Don’t describe changes
- Describe processes, configuration, and state
• - Version control it
• Tools: Orchestrators
Controlling Change
• Monitoring 1 service vs N services
• How do you define health?
• How often do you test?
• How many missing or out of threshold points
trigger alarms?
• What actions?
• Tools: Orchestrators, Nagios, Visibility/Monitoring
platforms
Monitoring and Health
• Monoliths integrate on memory addresses
- At build-time with static linking (once during build)
- At run-time with dynamic linking (once at startup)
• Microservices integrate on network addresses
- Runtime only
- Distributed and continuous linking
Need a distributed linker
(we already have a few)
Build-time vs Run-time Integration
• Linking is all about name to address resolution
• On a network we call that service registration and
discovery (SD)
- Bootstrap addresses (static)
- DNS (built-in)
- VIP (load balancing, reverse-proxies, etc.)
- Native SD (proprietary interfaces)
- Service Mesh (woven sidecars – configuration, not code)
“Distributed Linking”
If you experience a new problem, look for
equivalent tools from your monolith stack.
Remember
Take A Breakout Survey
Access your session and/or workshop surveys for the conference at any time by tapping the Sessions
link on the navigation menu or block on the home screen.
Find the session/workshop you attended and tap on it to view the session details. On this page, you will
find a link to the survey.
Jeff Nickoloff - @allingeek
gotopple.com
Ciao

More Related Content

What's hot (20)

PDF
DCSF19 Kubernetes Security with OPA
Docker, Inc.
 
PDF
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...
Docker, Inc.
 
PDF
The Complexity to "Yes" in Analytics Software and the Possibilities with Dock...
Docker, Inc.
 
PDF
DCEU 18: Desigual Transforms the In-Store Experience with Docker Enterprise C...
Docker, Inc.
 
PDF
KURMA - A Containerized Container Platform - KubeCon 2016
Apcera
 
PPTX
Docker for the Enterprise with Containers as a Service by Banjot Chanana
Docker, Inc.
 
PDF
Application Deployment and Management at Scale with 1&1 by Matt Baldwin
Docker, Inc.
 
PDF
DCEU 18: Docker Enterprise Platform and Architecture
Docker, Inc.
 
PDF
DCEU 18: Docker Container Security
Docker, Inc.
 
PDF
Immutable Awesomeness by John Willis and Josh Corman
Docker, Inc.
 
PPTX
Docker Federal Summit 2017 General Session
Docker, Inc.
 
PDF
Docker ee an architecture and operations overview
Docker, Inc.
 
PDF
DCSF19 Deploying Istio as an Ingress Controller
Docker, Inc.
 
PPTX
A Million ways of Deploying a Kubernetes Cluster
Jimmy Lu
 
PDF
Microservices + Events + Docker = A Perfect Trio by Docker Captain Chris Rich...
Docker, Inc.
 
PDF
Docker Store: The New Destination for Enterprise Software - Lily Guo and Alfr...
Docker, Inc.
 
PDF
Kubernetes Networking 101
Kublr
 
PPTX
DockerCon EU 2015: Docker Universal Control Plane (Gordon's Special Session)
Docker, Inc.
 
PDF
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
Docker, Inc.
 
PPTX
DockerCon 16 General Session Day 1
Docker, Inc.
 
DCSF19 Kubernetes Security with OPA
Docker, Inc.
 
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...
Docker, Inc.
 
The Complexity to "Yes" in Analytics Software and the Possibilities with Dock...
Docker, Inc.
 
DCEU 18: Desigual Transforms the In-Store Experience with Docker Enterprise C...
Docker, Inc.
 
KURMA - A Containerized Container Platform - KubeCon 2016
Apcera
 
Docker for the Enterprise with Containers as a Service by Banjot Chanana
Docker, Inc.
 
Application Deployment and Management at Scale with 1&1 by Matt Baldwin
Docker, Inc.
 
DCEU 18: Docker Enterprise Platform and Architecture
Docker, Inc.
 
DCEU 18: Docker Container Security
Docker, Inc.
 
Immutable Awesomeness by John Willis and Josh Corman
Docker, Inc.
 
Docker Federal Summit 2017 General Session
Docker, Inc.
 
Docker ee an architecture and operations overview
Docker, Inc.
 
DCSF19 Deploying Istio as an Ingress Controller
Docker, Inc.
 
A Million ways of Deploying a Kubernetes Cluster
Jimmy Lu
 
Microservices + Events + Docker = A Perfect Trio by Docker Captain Chris Rich...
Docker, Inc.
 
Docker Store: The New Destination for Enterprise Software - Lily Guo and Alfr...
Docker, Inc.
 
Kubernetes Networking 101
Kublr
 
DockerCon EU 2015: Docker Universal Control Plane (Gordon's Special Session)
Docker, Inc.
 
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
Docker, Inc.
 
DockerCon 16 General Session Day 1
Docker, Inc.
 

Similar to DCEU 18: From Monolith to Microservices (20)

PPTX
An introduction to Microservices
Cisco DevNet
 
PDF
Microservices: The View from the Peak of Expectations
Saul Caganoff
 
PDF
JS Fest 2019/Autumn. Anton Cherednikov. Choreographic or orchestral architect...
JSFestUA
 
PPTX
Introduction to microservices
Anil Allewar
 
PDF
Microservices.pdf
SelmaJelovac1
 
PDF
Lowering the risk of monolith to microservices
Christian Posta
 
PDF
µServices Architecture @ EPAM WOW 2015
Izzet Mustafaiev
 
PPTX
Microservices, Docker deploy and Microservices source code in C#
Karmanjay Verma
 
PPTX
Jeffrey Richter
CodeFest
 
PPTX
.NET microservices with Azure Service Fabric
Davide Benvegnù
 
PPTX
Distilling the monolith to microservices journey at CMG
Buchi Reddy Busi Reddy
 
PDF
Monolithic to Microservices Architecture
Vin Dahake
 
PDF
Microservices Architecture In The Real World: Mason Jones
Redis Labs
 
PPTX
Pragmatic Microservices
Randy Shoup
 
PPTX
Getting out of the monolith hell
mimmozzo_
 
PDF
SACon 2019 - Surviving in a Microservices Environment
Steve Pember
 
PDF
Microservices for Mortals by Bert Ertman at Codemotion Dubai
Codemotion Dubai
 
PDF
Microservices architecture: practical aspects
Antonio Sagliocco
 
PPTX
Melbourne Microservices Meetup: Agenda for a new Architecture
Saul Caganoff
 
PDF
Microservices for java architects it-symposium-2015-09-15
Derek Ashmore
 
An introduction to Microservices
Cisco DevNet
 
Microservices: The View from the Peak of Expectations
Saul Caganoff
 
JS Fest 2019/Autumn. Anton Cherednikov. Choreographic or orchestral architect...
JSFestUA
 
Introduction to microservices
Anil Allewar
 
Microservices.pdf
SelmaJelovac1
 
Lowering the risk of monolith to microservices
Christian Posta
 
µServices Architecture @ EPAM WOW 2015
Izzet Mustafaiev
 
Microservices, Docker deploy and Microservices source code in C#
Karmanjay Verma
 
Jeffrey Richter
CodeFest
 
.NET microservices with Azure Service Fabric
Davide Benvegnù
 
Distilling the monolith to microservices journey at CMG
Buchi Reddy Busi Reddy
 
Monolithic to Microservices Architecture
Vin Dahake
 
Microservices Architecture In The Real World: Mason Jones
Redis Labs
 
Pragmatic Microservices
Randy Shoup
 
Getting out of the monolith hell
mimmozzo_
 
SACon 2019 - Surviving in a Microservices Environment
Steve Pember
 
Microservices for Mortals by Bert Ertman at Codemotion Dubai
Codemotion Dubai
 
Microservices architecture: practical aspects
Antonio Sagliocco
 
Melbourne Microservices Meetup: Agenda for a new Architecture
Saul Caganoff
 
Microservices for java architects it-symposium-2015-09-15
Derek Ashmore
 
Ad

More from Docker, Inc. (20)

PDF
Containerize Your Game Server for the Best Multiplayer Experience
Docker, Inc.
 
PDF
How to Improve Your Image Builds Using Advance Docker Build
Docker, Inc.
 
PDF
Build & Deploy Multi-Container Applications to AWS
Docker, Inc.
 
PDF
Securing Your Containerized Applications with NGINX
Docker, Inc.
 
PDF
How To Build and Run Node Apps with Docker and Compose
Docker, Inc.
 
PDF
Hands-on Helm
Docker, Inc.
 
PDF
Distributed Deep Learning with Docker at Salesforce
Docker, Inc.
 
PDF
The First 10M Pulls: Building The Official Curl Image for Docker Hub
Docker, Inc.
 
PDF
Monitoring in a Microservices World
Docker, Inc.
 
PDF
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
Docker, Inc.
 
PDF
Predicting Space Weather with Docker
Docker, Inc.
 
PDF
Become a Docker Power User With Microsoft Visual Studio Code
Docker, Inc.
 
PDF
How to Use Mirroring and Caching to Optimize your Container Registry
Docker, Inc.
 
PDF
Monolithic to Microservices + Docker = SDLC on Steroids!
Docker, Inc.
 
PDF
Kubernetes at Datadog Scale
Docker, Inc.
 
PDF
Labels, Labels, Labels
Docker, Inc.
 
PDF
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Docker, Inc.
 
PDF
Build & Deploy Multi-Container Applications to AWS
Docker, Inc.
 
PDF
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
Docker, Inc.
 
PDF
Developing with Docker for the Arm Architecture
Docker, Inc.
 
Containerize Your Game Server for the Best Multiplayer Experience
Docker, Inc.
 
How to Improve Your Image Builds Using Advance Docker Build
Docker, Inc.
 
Build & Deploy Multi-Container Applications to AWS
Docker, Inc.
 
Securing Your Containerized Applications with NGINX
Docker, Inc.
 
How To Build and Run Node Apps with Docker and Compose
Docker, Inc.
 
Hands-on Helm
Docker, Inc.
 
Distributed Deep Learning with Docker at Salesforce
Docker, Inc.
 
The First 10M Pulls: Building The Official Curl Image for Docker Hub
Docker, Inc.
 
Monitoring in a Microservices World
Docker, Inc.
 
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
Docker, Inc.
 
Predicting Space Weather with Docker
Docker, Inc.
 
Become a Docker Power User With Microsoft Visual Studio Code
Docker, Inc.
 
How to Use Mirroring and Caching to Optimize your Container Registry
Docker, Inc.
 
Monolithic to Microservices + Docker = SDLC on Steroids!
Docker, Inc.
 
Kubernetes at Datadog Scale
Docker, Inc.
 
Labels, Labels, Labels
Docker, Inc.
 
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Docker, Inc.
 
Build & Deploy Multi-Container Applications to AWS
Docker, Inc.
 
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
Docker, Inc.
 
Developing with Docker for the Arm Architecture
Docker, Inc.
 
Ad

Recently uploaded (20)

PDF
Per Axbom: The spectacular lies of maps
Nexer Digital
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PPTX
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PDF
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
Per Axbom: The spectacular lies of maps
Nexer Digital
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 

DCEU 18: From Monolith to Microservices

  • 1. JEFF NICKOLOFF Founder, Topple From Monoliths to Microservices
  • 2. 1. Release engineering for monoliths becomes challenging as groups and codebases scale. 2. Changing technological context is difficult to integrate in monolithic projects. 3. Side effects, leaky abstractions, resource isolation. 4. Security? But why migrate?
  • 3. 1. How and why microservice architectures and ownership end up falling along organizational lines. 2. How we can learn from monolith tooling to inform our tooling in a microservice environment. 3. How you can achieve operational excellence at scale taking a logistical approach with Docker. What do we hope to learn?
  • 4. • Building, shipping, and running… • Same challenges, but different context. • How will the context change? Challenges
  • 5. • More, smaller focused components • Components have independent lifecycles • Network vs memory component addressing • Distributed and localized state • Unreliable wall clocks • Independent component runtime state (health) • Independent component “experiences” Distributed and Independent
  • 7. • The number is about 150 • What is it? • Relationships in constant flux. So is code. Dunbar's Number
  • 8. “Organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations.” Why should we embrace it? Conway's Law
  • 9. • Focused development • Focused on-call rotations • Integration on interface reduces dev risk • Ops specialization reduces “time to root cause” • Change impact has “perspective” Isolation in Management and Operation
  • 10. • More than “names and numbers… ” • Versioning contracts can be extremely painful • Validate contract changes early, and prefer backwards compatibility • Track contract dependencies • Anticipate long adoption cycles Contract (API) Versioning
  • 11. Tools
  • 12. • Monoliths - Shared libraries - Code weaving with Aspect Oriented Programming • Microservices - Middleware - Sidecar processes - Orchestrators Tool Forms
  • 13. • Not simple function calls • Inter-component: - Authentication - Authorization - Channel encryption - Maintenance • Tool? Service Mesh; API gateways; Netflix Hystrix Trustworthy Communication
  • 14. • No more in-process singletons: - Distributed locking - Leadership election • Tools? Orchestrators; DIY with storage locks and fencing Distributed Coordination
  • 15. • Linearizing log/event streams without clocks • Log aggregation and centralization • Tools? ELK; Fluent, Syslog Disjoint Event Streams
  • 16. • Tracing the causal relationships between a set of inter-component requests • Tools: Zipkin, Jaeger, Service Mesh Multi-Process Debugging
  • 17. • Monoliths - Tests versioned with code - Tests consistent snapshots of code - Unit, Functional, and Integration Testing - Loose contract between components - Fails before deployment Evolution of Testability
  • 18. • … do the same things, just continuously at runtime. • Microservices - No runtime consistency -> snapshot testing is less useful - Need continuous or edge integration testing - Contract validation becomes critical - Tests define the service contracts Evolution of Testability
  • 19. • Names and versions identify contracts - Interfaces, structures, data. Not just code. • Process vs Code Dependencies - Must code to interface - Runtime dependency modeling • Tool? Getting into logistics… Dependency Management
  • 21. • More artifacts - Release artifacts: binaries, and images - Runtime artifacts: processes, names, and containers - Configuration: config, secret material • Securing supply chain • Tools: Docker registry, pipelines (CI/CD) Artifact Management
  • 22. • “Release Engineering” vs. “Distribute Change Management” • More processes • Declarative desired state - Don’t describe changes - Describe processes, configuration, and state • - Version control it • Tools: Orchestrators Controlling Change
  • 23. • Monitoring 1 service vs N services • How do you define health? • How often do you test? • How many missing or out of threshold points trigger alarms? • What actions? • Tools: Orchestrators, Nagios, Visibility/Monitoring platforms Monitoring and Health
  • 24. • Monoliths integrate on memory addresses - At build-time with static linking (once during build) - At run-time with dynamic linking (once at startup) • Microservices integrate on network addresses - Runtime only - Distributed and continuous linking Need a distributed linker (we already have a few) Build-time vs Run-time Integration
  • 25. • Linking is all about name to address resolution • On a network we call that service registration and discovery (SD) - Bootstrap addresses (static) - DNS (built-in) - VIP (load balancing, reverse-proxies, etc.) - Native SD (proprietary interfaces) - Service Mesh (woven sidecars – configuration, not code) “Distributed Linking”
  • 26. If you experience a new problem, look for equivalent tools from your monolith stack. Remember
  • 27. Take A Breakout Survey Access your session and/or workshop surveys for the conference at any time by tapping the Sessions link on the navigation menu or block on the home screen. Find the session/workshop you attended and tap on it to view the session details. On this page, you will find a link to the survey.
  • 28. Jeff Nickoloff - @allingeek gotopple.com Ciao