SlideShare a Scribd company logo
From Monolithic to Microservices in 45 Minutes
Monolithic to Microservices in 45 min
Understand Scalability
4
Agenda
Monolithic Applications
Microservices
Best Practices
How it's Done
Monolithic Applications
"Amonolithic application is self-contained,
and independent from other computing
applications. The design philosophy is that
the application is responsible not just for a
particular task, but can perform every step
needed to complete a particular function"
7
8
9
Monolithic Applications
• It’s very easy to start building applications that become Monolithic
– Projects start small
– If successful they will grow
Super Cool Application
UI
Component
Business
Logic
Persistency
Layer
Monolithic Applications
Super Cool Application
UI
Component
Business
Logic
Persistency
Layer
Monolithic Applications
Super Cool Instance
Super Cool Instance
Super Cool Instance
Super Cool Instance
Super Cool Instance
Super Cool Instance
Super Cool Instance
Super Cool Instance
Decouple Applications
"Decoupled architecture is a framework for
complex work that allows components to
remain completely autonomous and
unaware of each other"
Decoupling your applications
Super Cool Application
UI
Component
Business
Logic
Persistency
Layer
15
Reasons to Decouple
• The different components of your application have
different:
– Density
– Release and Development cycles
– Requirements
• Functional
• Architecture
Decoupling your applications
UI Layer
Business Service Layer
Scalable Data Layer
… for scalability
UI
Layer
Business Service Layer
Scalable Data Layer
UI
Layer
UI
Layer
UI
Layer
UI
Layer
… for different integrations
Mobile
UI
Business Service Layer
Scalable Data Layer
Web
UI
Mobile
UI
Web
UI
Specific
UI
… for function segregation
… scale separately
Scale Axis
Y-axis: Functional
Decomposition
X-axis: Functional
Duplication
Z-axis: Data Partitioning
Microservices
"Microservices is a software architecture
style in which complex applications are
composed of small, independent
processes communicating with each other
using language-agnostic APIs"
Application Stack
UI Layer
Business Service Layer
Scalable Data Layer
Microservices
Microservices
Text Search
Recommendations
Engine
Chat
Service
Microservices
Microservices – Service Registry
Service Registry
Service Registry
allows client side
discovery of existing
and available
services
Host OS
Virtual OS
Virtual OS
Virtual OS
Microservices – Virtual Machines
Virtual Machines are
a familiar topic, it is
the backbone of
many PaaS and
IaaS services out
there
Host OS
System Kernel
Microservices – Containers
Containers are a
typical approach to
deploy and maintain
microservices
because they're
highly scalable and
isolated.
Microservices – Containers
Host OS
System Kernel
Host OS
System Kernel
Host OS
System Kernel
REHL v7 Windows 2008
Web Search v1
Web Search v2
Microservices – Clustering
"I'm getting dizzy"
Norberto Leite – 2015/10/06
MongoDB
Ops Manager
35
MongoDB - Containerized
• Benefit from MongoDB Scalability
– Replica Sets for HA
– Sharding for Horizontal Scalability
But Keep In Mind:
• Sharding requires knowing well your data
• Replication is much more than just spinning a few more
instances!
Ops Manager is
Important for these
environments!
Use Cases
Otto Use Case
Batch analytics Layer
Frontend – System
Profile Service
Customer
Service
Session Service Persona Service
Shared Nothing
architecture
Clear Isolation of
services
Hundreds of Virtual
Instances
How to do it
39
Best Approach
• Start monolithic
– There's nothing wrong with starting small
– Your team will be small enough so they will know all the code
• Start Decoupling when you grow
– In number of features and functionality
– In number of teams working side by side
• Go Microservices
– When you become Netflix!
40
When do Microservices Fail
• Contracts
– It's important to agree on the interfaces
– Developer Philosophical Beliefs
• Service Separation
– Granularity
– Dependencies
• Maintenance
– Devops and Release Manager Burden
– Monitoring
– Orchestration
"…language-agnostic APIs"
"completely autonomous"
"composed of small,
independent processes"
41
Best Approach - Data
• Replication from Day 0
– No excuses to have a single node in production
• Shard when you grow
– Functionally
– By Volume
– Regionaly
• Ops Manager to the rescue
– Makes you life easier!
Now that you understand it… I hope
Obrigado!
Norberto Leite
Technical Evangelist
norberto@mongodb.com
@nleite
From Monolithic to Microservices in 45 Minutes

More Related Content

What's hot (20)

PPTX
Cloud Native Patterns Using AWS - Practical Examples
Anderson Carvalho
 
PDF
Microservices Antipatterns
C4Media
 
PPTX
Container Patterns
Matthias Luebken
 
PPTX
Hosting Microservices in Microsoft Azure
Sergii Kryshtop
 
ODP
Microservices Patterns and Anti-Patterns
Corneil du Plessis
 
PDF
DCEU 18: From Monolith to Microservices
Docker, Inc.
 
PPTX
Kubernetes And Istio and Azure AKS DevOps
Ofir Makmal
 
PPTX
Exploring Microservices in a Microsoft Landscape
Alex Thissen
 
PDF
Microservices Technology Stack
Eberhard Wolff
 
PPTX
Microservices architecture overview v2
Dmitry Skaredov
 
PDF
Microservice Architecture 101
Kochih Wu
 
PPT
Building a Platform-as-a-Service with Docker and Node.js
Kevin Swiber
 
PPTX
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
Red Hat Developers
 
PDF
Microservices: A Security Nightmare?
Container Solutions
 
PPTX
Extending Windows Admin Center to manage your applications and infrastructure...
Microsoft Tech Community
 
PPTX
Kubernetes on OpenStack @eBay
Sriram Subramanian
 
PPTX
Cloud-Native Applications with Microservices and Containers
Daniel Berg
 
PDF
Microservices architecture overview v3
Dmitry Skaredov
 
PDF
All roads lead to the cloud
Docker, Inc.
 
PPTX
Microservices architecture
Faren faren
 
Cloud Native Patterns Using AWS - Practical Examples
Anderson Carvalho
 
Microservices Antipatterns
C4Media
 
Container Patterns
Matthias Luebken
 
Hosting Microservices in Microsoft Azure
Sergii Kryshtop
 
Microservices Patterns and Anti-Patterns
Corneil du Plessis
 
DCEU 18: From Monolith to Microservices
Docker, Inc.
 
Kubernetes And Istio and Azure AKS DevOps
Ofir Makmal
 
Exploring Microservices in a Microsoft Landscape
Alex Thissen
 
Microservices Technology Stack
Eberhard Wolff
 
Microservices architecture overview v2
Dmitry Skaredov
 
Microservice Architecture 101
Kochih Wu
 
Building a Platform-as-a-Service with Docker and Node.js
Kevin Swiber
 
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
Red Hat Developers
 
Microservices: A Security Nightmare?
Container Solutions
 
Extending Windows Admin Center to manage your applications and infrastructure...
Microsoft Tech Community
 
Kubernetes on OpenStack @eBay
Sriram Subramanian
 
Cloud-Native Applications with Microservices and Containers
Daniel Berg
 
Microservices architecture overview v3
Dmitry Skaredov
 
All roads lead to the cloud
Docker, Inc.
 
Microservices architecture
Faren faren
 

Viewers also liked (20)

PDF
The Journey from Monolith to Microservices: a Guided Adventure
VMware Tanzu
 
PDF
Service-oriented architecture
Shalva Usubov
 
PPTX
Advanced applications with MongoDB
Norberto Leite
 
PPTX
Data Distribution Theory
William LaForest
 
PDF
Analyse Yourself
Norberto Leite
 
PDF
Advanced MongoDB Aggregation Pipelines
Tom Schreiber
 
PDF
OPENEXPO Madrid 2015 - Advanced Applications with MongoDB
MongoDB
 
PDF
How To Get Hadoop App Intelligence with Driven
Cascading
 
PPTX
Data Treatment MongoDB
Norberto Leite
 
PPTX
MongoDB + Spring
Norberto Leite
 
PDF
MongoDB and Python
Norberto Leite
 
PDF
Geospatial and MongoDB
Norberto Leite
 
PDF
Duplicating data or replicating data in Micro Services
Dennis van der Stelt
 
PDF
MongoDB and Node.js
Norberto Leite
 
PPTX
MongoDB on Financial Services Sector
Norberto Leite
 
PDF
How to disassemble a monolithic app in (not-so) micro-services
Codemotion
 
PPTX
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
David Currie
 
PDF
MongoDB Certification Study Group - May 2016
Norberto Leite
 
PPTX
From Monolith to Microservices with Cassandra, Grpc, and Falcor (Luke Tillman...
DataStax
 
PPTX
Webinar: Enabling Microservices with Containers, Orchestration, and MongoDB
MongoDB
 
The Journey from Monolith to Microservices: a Guided Adventure
VMware Tanzu
 
Service-oriented architecture
Shalva Usubov
 
Advanced applications with MongoDB
Norberto Leite
 
Data Distribution Theory
William LaForest
 
Analyse Yourself
Norberto Leite
 
Advanced MongoDB Aggregation Pipelines
Tom Schreiber
 
OPENEXPO Madrid 2015 - Advanced Applications with MongoDB
MongoDB
 
How To Get Hadoop App Intelligence with Driven
Cascading
 
Data Treatment MongoDB
Norberto Leite
 
MongoDB + Spring
Norberto Leite
 
MongoDB and Python
Norberto Leite
 
Geospatial and MongoDB
Norberto Leite
 
Duplicating data or replicating data in Micro Services
Dennis van der Stelt
 
MongoDB and Node.js
Norberto Leite
 
MongoDB on Financial Services Sector
Norberto Leite
 
How to disassemble a monolithic app in (not-so) micro-services
Codemotion
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
David Currie
 
MongoDB Certification Study Group - May 2016
Norberto Leite
 
From Monolith to Microservices with Cassandra, Grpc, and Falcor (Luke Tillman...
DataStax
 
Webinar: Enabling Microservices with Containers, Orchestration, and MongoDB
MongoDB
 
Ad

Similar to From Monolithic to Microservices in 45 Minutes (20)

PPTX
Microservices, Containers, Scheduling and Orchestration - A Primer
Gareth Llewellyn
 
PDF
Micro service, Containers & Cluster Management
Vasu Thiyagarajan
 
PPTX
Microservices: Living Large in Your Castle Made of Sand
MongoDB
 
PPTX
Microservice intro
ramesh_sharma
 
PPTX
AppDev with Microservices
Rishabh Dugar
 
PPTX
Kubernetes solutions
Eric Cattoir
 
PDF
Microservices for Application Modernisation
Ajay Kumar Uppal
 
PDF
20141210 - Microservice Container
Jamie (Taka) Wang
 
PPTX
From Monolithic applications to Microservices
kedarpethe37
 
PPTX
Microservices and docker
Alex Ivy
 
PPTX
MICROSERVICES ARCHITECTURE unit -2.pptx
MohammedShahid562503
 
ODP
Monolithic to Microservices Architecture - STM 6
Tricode (part of Dept)
 
PPTX
Designing Microservices
David Chou
 
PPTX
Webinar : Microservices and Containerization
Newt Global Consulting LLC
 
PPTX
Microservices: Breaking Apart the Monolith
Iron.io
 
PPTX
Microservices and containers for the unitiated
Kevin Lee
 
PDF
Building microservices on azure
Vaibhav Gujral
 
PPTX
Microservice architecture
Touraj Ebrahimi
 
PPTX
Microservices, Docker deploy and Microservices source code in C#
Karmanjay Verma
 
PPTX
Microservices-101
Subhashish Bhattacharjee
 
Microservices, Containers, Scheduling and Orchestration - A Primer
Gareth Llewellyn
 
Micro service, Containers & Cluster Management
Vasu Thiyagarajan
 
Microservices: Living Large in Your Castle Made of Sand
MongoDB
 
Microservice intro
ramesh_sharma
 
AppDev with Microservices
Rishabh Dugar
 
Kubernetes solutions
Eric Cattoir
 
Microservices for Application Modernisation
Ajay Kumar Uppal
 
20141210 - Microservice Container
Jamie (Taka) Wang
 
From Monolithic applications to Microservices
kedarpethe37
 
Microservices and docker
Alex Ivy
 
MICROSERVICES ARCHITECTURE unit -2.pptx
MohammedShahid562503
 
Monolithic to Microservices Architecture - STM 6
Tricode (part of Dept)
 
Designing Microservices
David Chou
 
Webinar : Microservices and Containerization
Newt Global Consulting LLC
 
Microservices: Breaking Apart the Monolith
Iron.io
 
Microservices and containers for the unitiated
Kevin Lee
 
Building microservices on azure
Vaibhav Gujral
 
Microservice architecture
Touraj Ebrahimi
 
Microservices, Docker deploy and Microservices source code in C#
Karmanjay Verma
 
Microservices-101
Subhashish Bhattacharjee
 
Ad

More from MongoDB (20)

PDF
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB
 
PDF
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB
 
PDF
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB
 
PDF
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB
 
PDF
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB
 
PDF
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB
 
PDF
MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB
 
PDF
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB
 
PDF
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB
 
PDF
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB
 
PDF
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB
 
PDF
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB
 
PDF
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB
 
PDF
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB
 
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB
 

Recently uploaded (20)

PPTX
Digital Circuits, important subject in CS
contactparinay1
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
Digital Circuits, important subject in CS
contactparinay1
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 

From Monolithic to Microservices in 45 Minutes

Editor's Notes

  • #4: To understand scalability there are a few things that one should take in consideration: The different components of your application do not scale on the same order of magnitude There are different dependencies that have different scaling needs You need to understand where your bottlenecks are You need to understand what architecture design changes can impact the overall performance of the system This book "the art of scalability" has a quite nice visualization model for the scalability approaches
  • #8: Babel tower is one of the best analogies between an molothic application and what engineers have been trying to built in the past.
  • #9: And it's most recent version: Burj Al Khalifa
  • #10: We start small with given a quick and dirty web framework / web application that is self contained. It can be, and generally is, very composable where I can introduce some external libraries and components that make it extensible. But at the end of the day we need to run this has a block In terms of deployment Development practices Release cycle And scalability
  • #12: So this seems to work, right ? What's the problem with this approach ? This is called brute force scalability The same recipe for all components of your application Carry a lot of dead weight Same approach for both the particular functionality And what about data? Does you persistency layer scales in the same order of magnitude has your business logic? Generally they don't.
  • #15: To start decomposing your application you should start to it from a functional perspective Offload your front-end Decouple your persistency layer Segregate your business logic
  • #21: Good examples of these acthictire design have been made available by
  • #22: Good examples of these acthictire design have been made available by
  • #25: So let's get back to our decoupled application. We have the different layers of service. But these can be further decomposed into single purpose services
  • #26: It's based on single responsibility principle http://www.objectmentor.com/resources/articles/srp.pdf
  • #27: It's based on single responsibility principle http://www.objectmentor.com/resources/articles/srp.pdf
  • #28: It's based on single responsibility principle http://www.objectmentor.com/resources/articles/srp.pdf
  • #29: Each instance of a service exposes a remote API such as HTTP/REST, or Thrift etc. at a particular location (host and port) The number of services instances and their locations changes dynamically. Virtual machines and containers are usually assigned a dynamic IP address. An EC2 Autoscaling Group, for example, adjusts the number of instances based on load. Consul Etcd Zookeaper
  • #30: Although VM's should be a familiar topic around, where the objective is nto to have multiple stacks running per VM but having a single process running on top of a VM. This allows a clear separation of concepts and makes the system more scalable from the functional perspective.
  • #31: LXD canonical
  • #32: We can have different OS, different baseline server resources, different distribution of container images but the underlying configuration is the same no mater what.
  • #33: And if sale this we might end with another level of complexity. There are several different technologies that handle the clustering part and many other aspects of the deployment of these complex architectures.
  • #35: Your container images should have an agent installed so they can be properly configured and managed from ops manager.
  • #40: There is no reason why to need to start from day one with Microservices if the team is you and a couple of friends. Microservices require serveral layers of isolation and segregation that demand significant levels of independency and management You don’t just scale services, you end up scalling your teams too. Single purpose segregation principle One verb isolation
  • #41: There are plenty of detailed examples out in the web of failed projects using Microservices. And the most common reasons very common: - Service Contract Disagreements