SlideShare a Scribd company logo
Breaking the monolith
Jacopo Nardiello
Founder & DevOps Engineer
@jnardiello
What is a monolith anyway?
...functionally distinguishable aspects are
all interwoven, rather than containing
architecturally separate components...
One codebase to rule them all,
Do you have to break the monolith?
It depends.
Famous “monoliths”
1. Amazon split to services when it had roughly ~8000 employees
2. Google search is still a monolith
3. Github is a monolithic rails app
4. The linux kernel anyone?
Monolith itself isn’t necessarily a bad
thing. How your code is engineered is
what truly matters
Should you break the monolith in first place?
Splitting your code into services or micro-services is all about
Making your code more maintainable, reduce coupling and
regression bugs
Higher throughput
Faster release cycle where you can
release single services separately
Ops Complexity is the pitfall
Alright, before even starting...
DEPLOY
verb·
1. To prepare and arrange (usually military unit or
units) for use.
Cloud Native Ops
Complexity is the pitfall
Automation is key
How do you break the
monolith?
What does it mean and what are the consequences
The code, splitting into (micro?)services
1. Split your monolith into different
Domains. Domains are good
candidates to be separate
services.
2. Pay attention to have a ubiquitous
dictionary between services.
3. Define coherent interfaces across
services and domains.
The bare minimum (before you start)
Acceptance
tests
Ensure consistency as dishomogeneous services
grow and evolve
Automate your local environment
OR
Automate how you ship the code
(a.k.a. Continuous Integration)
Make sure to automate all your builds and
deployment processes
NOTE
Note that CI/CD is NOT just running the tests
(despite what some vendors will tell you)
Micro-services architecture
Keep in mind: Single Responsibility Principle
One operational unit per
service
The architecture, VMs /1
The architecture, containers /2
Containers, we got the cookies!
1. Abstract your execution environment, any node can do
any job.
2. More efficient infrastructure
3. They will shine in large orgs
4. Scale lightning-fast to accommodate spikes
5. Fully atomical deployments
6. ...
Containers, What’s not so good
1. What is running where? (Shared volumes? DNS
resolution and load balancing? Networking across
containers?)
2. Higher infrastructural complexity
3. Your application must be designed to be dynamic and
reactive
4. Aggregated Logging? Monitoring? Autoscaling?
Kubernetes to the rescue
Kubernetes is the class-standard system to run your containers-based architecture.
1. schedule and execute
2. expose an API to manage your containers
3. networking and storage
4. help with monitoring and logging
There’s a lot more beyond the tools
aka what (most) consultants will not tell you.
It’s a cultural change, conway’s law
Want to understand Kubernetes?
KubePrimer
workshop
http://kubeprimer.sighup.io
That’s all!
Questions?
Jacopo Nardiello
Founder & DevOps Engineer
@jnardiello

More Related Content

PDF
Monitoring Cloud Native Applications with Prometheus
PDF
Understanding and Extending Prometheus AlertManager
PDF
Open Source and Secure Coding Practices
PDF
Opentracing 101
PDF
Monitoring with prometheus at scale
PPTX
OpenTelemetry For Operators
PDF
Kubernetes monitoring using prometheus stack
PDF
Lightning Fast Monitoring against Lightning Fast Outages
Monitoring Cloud Native Applications with Prometheus
Understanding and Extending Prometheus AlertManager
Open Source and Secure Coding Practices
Opentracing 101
Monitoring with prometheus at scale
OpenTelemetry For Operators
Kubernetes monitoring using prometheus stack
Lightning Fast Monitoring against Lightning Fast Outages

What's hot (19)

PDF
How to monitor your micro-service with Prometheus?
PDF
Oleksandr Navka How I Configure Infrastructure of My Project
PDF
Serverless stream processing of Debezium data change events with Knative | De...
PDF
Docker {at,with} SignalFx
PDF
12 Factors Kubernetes
PDF
Regain Control Thanks To Prometheus
PPT
IstioD - From Microservices to Monolithic
PDF
Kubernetes and Prometheus
PPTX
Why observability matters - now and in the future (w/guest Grafana)
PDF
Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...
PPTX
State in stateless serverless functions
PDF
Continuous Delivery With Containers
PDF
Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)
PDF
Introduction to gRPC - Mete Atamel - Codemotion Rome 2017
PDF
Escape the Walls of PaaS: Unlock the Power & Flexibility of DigitalOcean App ...
PPTX
Monitoring Weave Cloud with Prometheus
PDF
Load Balancing in the Cloud using Nginx & Kubernetes
PDF
Docker at and with SignalFx
PPTX
Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018
How to monitor your micro-service with Prometheus?
Oleksandr Navka How I Configure Infrastructure of My Project
Serverless stream processing of Debezium data change events with Knative | De...
Docker {at,with} SignalFx
12 Factors Kubernetes
Regain Control Thanks To Prometheus
IstioD - From Microservices to Monolithic
Kubernetes and Prometheus
Why observability matters - now and in the future (w/guest Grafana)
Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...
State in stateless serverless functions
Continuous Delivery With Containers
Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)
Introduction to gRPC - Mete Atamel - Codemotion Rome 2017
Escape the Walls of PaaS: Unlock the Power & Flexibility of DigitalOcean App ...
Monitoring Weave Cloud with Prometheus
Load Balancing in the Cloud using Nginx & Kubernetes
Docker at and with SignalFx
Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018
Ad

Similar to Breaking the monolith (20)

PDF
Microservices: The View from the Peak of Expectations
PPTX
Going Cloud Native with Cloud Foundry
PDF
The Reality of Managing Microservices in Your CD Pipeline
PDF
Containers, microservices and serverless for realists
PDF
Designing Scalable and Secure Microservices by Embracing DevOps-as-a-Service ...
PDF
DCEU 18: From Monolith to Microservices
PPTX
Accelerate DevOps/Microservices and Kubernetes
PPTX
Evolving Architecture and Organization - Lessons from Google and eBay
PPTX
Microservices with Node and Docker
PDF
Your Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
PPT
Integration in the Cloud
PDF
Microservices.pdf
PPTX
Docker-N-Beyond
PDF
API Microservices with Node.js and Docker
PDF
Integration in the Cloud, by Rob Davies
PDF
Migrating to an Agile Architecture, Will Demaine, Engineer, Fat Llama
PPTX
Docker & aPaaS: Enterprise Innovation and Trends for 2015
PPTX
Microservices, Docker deploy and Microservices source code in C#
PDF
Microservices and the Modern IT Stack: Trends of Tomorrow - AppSphere16
PDF
DevOps Patterns to Enable Success in Microservices
Microservices: The View from the Peak of Expectations
Going Cloud Native with Cloud Foundry
The Reality of Managing Microservices in Your CD Pipeline
Containers, microservices and serverless for realists
Designing Scalable and Secure Microservices by Embracing DevOps-as-a-Service ...
DCEU 18: From Monolith to Microservices
Accelerate DevOps/Microservices and Kubernetes
Evolving Architecture and Organization - Lessons from Google and eBay
Microservices with Node and Docker
Your Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
Integration in the Cloud
Microservices.pdf
Docker-N-Beyond
API Microservices with Node.js and Docker
Integration in the Cloud, by Rob Davies
Migrating to an Agile Architecture, Will Demaine, Engineer, Fat Llama
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Microservices, Docker deploy and Microservices source code in C#
Microservices and the Modern IT Stack: Trends of Tomorrow - AppSphere16
DevOps Patterns to Enable Success in Microservices
Ad

More from Jacopo Nardiello (7)

PDF
The Art of Cloud Native Defense on Kubernetes
PDF
Tales of the mythical cloud-native platform - Container day 2022
PDF
Kubernetes 101
PDF
Becoming a developer
PDF
Eventsourcing with PHP and MongoDB
PDF
Ultimate Introduction To AngularJS
PDF
Testing AngularJS
The Art of Cloud Native Defense on Kubernetes
Tales of the mythical cloud-native platform - Container day 2022
Kubernetes 101
Becoming a developer
Eventsourcing with PHP and MongoDB
Ultimate Introduction To AngularJS
Testing AngularJS

Recently uploaded (20)

PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
KodekX | Application Modernization Development
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
cuic standard and advanced reporting.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Modernizing your data center with Dell and AMD
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Cloud computing and distributed systems.
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Encapsulation theory and applications.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPT
Teaching material agriculture food technology
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
The Rise and Fall of 3GPP – Time for a Sabbatical?
Chapter 3 Spatial Domain Image Processing.pdf
Review of recent advances in non-invasive hemoglobin estimation
KodekX | Application Modernization Development
Dropbox Q2 2025 Financial Results & Investor Presentation
cuic standard and advanced reporting.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Empathic Computing: Creating Shared Understanding
Modernizing your data center with Dell and AMD
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Cloud computing and distributed systems.
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Encapsulation theory and applications.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Teaching material agriculture food technology
NewMind AI Monthly Chronicles - July 2025
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025

Breaking the monolith

  • 1. Breaking the monolith Jacopo Nardiello Founder & DevOps Engineer @jnardiello
  • 2. What is a monolith anyway? ...functionally distinguishable aspects are all interwoven, rather than containing architecturally separate components...
  • 3. One codebase to rule them all, Do you have to break the monolith? It depends.
  • 4. Famous “monoliths” 1. Amazon split to services when it had roughly ~8000 employees 2. Google search is still a monolith 3. Github is a monolithic rails app 4. The linux kernel anyone? Monolith itself isn’t necessarily a bad thing. How your code is engineered is what truly matters
  • 5. Should you break the monolith in first place? Splitting your code into services or micro-services is all about Making your code more maintainable, reduce coupling and regression bugs Higher throughput Faster release cycle where you can release single services separately
  • 6. Ops Complexity is the pitfall Alright, before even starting...
  • 7. DEPLOY verb· 1. To prepare and arrange (usually military unit or units) for use.
  • 9. Complexity is the pitfall Automation is key
  • 10. How do you break the monolith? What does it mean and what are the consequences
  • 11. The code, splitting into (micro?)services 1. Split your monolith into different Domains. Domains are good candidates to be separate services. 2. Pay attention to have a ubiquitous dictionary between services. 3. Define coherent interfaces across services and domains.
  • 12. The bare minimum (before you start) Acceptance tests
  • 13. Ensure consistency as dishomogeneous services grow and evolve Automate your local environment OR
  • 14. Automate how you ship the code (a.k.a. Continuous Integration) Make sure to automate all your builds and deployment processes
  • 15. NOTE Note that CI/CD is NOT just running the tests (despite what some vendors will tell you)
  • 16. Micro-services architecture Keep in mind: Single Responsibility Principle One operational unit per service
  • 19. Containers, we got the cookies! 1. Abstract your execution environment, any node can do any job. 2. More efficient infrastructure 3. They will shine in large orgs 4. Scale lightning-fast to accommodate spikes 5. Fully atomical deployments 6. ...
  • 20. Containers, What’s not so good 1. What is running where? (Shared volumes? DNS resolution and load balancing? Networking across containers?) 2. Higher infrastructural complexity 3. Your application must be designed to be dynamic and reactive 4. Aggregated Logging? Monitoring? Autoscaling?
  • 21. Kubernetes to the rescue Kubernetes is the class-standard system to run your containers-based architecture. 1. schedule and execute 2. expose an API to manage your containers 3. networking and storage 4. help with monitoring and logging
  • 22. There’s a lot more beyond the tools aka what (most) consultants will not tell you. It’s a cultural change, conway’s law
  • 23. Want to understand Kubernetes? KubePrimer workshop http://kubeprimer.sighup.io
  • 24. That’s all! Questions? Jacopo Nardiello Founder & DevOps Engineer @jnardiello