SlideShare a Scribd company logo
2
Most read
3
Most read
6
Most read
Monolithic to Microservices
Browser
Load
Balancer
Data Access
Service
Shipping Services
StoreFront UI
Account Services
Cart Services
DB
Monolithic Architecture
Monolithic architecture is the traditional unified model for the design of a software
program.Monolithic software is designed to be self-contained; components of
the program are interconnected and interdependent rather than loosely coupled
as is the case with modular software programs.
Browser
Load
Balancer StoreFront UI
Account ServicesLoad
Balancer DB
Cart ServicesLoad
Balancer DB
Shipping ServicesLoad
Balancer DB
Microservices Architecture
Microservices is a specialization and
implementation approach for service-
oriented architectures (SOA) used to build
flexible, independentlydeployablesoftware
systems.
Comparison
Monolithic
• Simple full deployments
• Inter-module refactoring
• Binary failure modes
• Symmetric Scaling
• Technology monoculture
Microservices
• Partial deployments
• Strong module boundaries
• Graceful degradation
• Asymmetric scaling
• Technical diversity
• Testing is complex
Virtual Machines and Containers
Virtual machines include the application,
the necessary binaries and libraries, and an
entire guest operating system -- all of which
can amount to tens of GBs.
Containers include the application and all of
its dependencies --but share the kernel with
other containers, runningas isolated
processes in user space on the host operating
system.
Container Advantages
• Rapid Development
– Containers include the run-time
requirements of the application
• Portability - Servers/Cloud
• Lightweight Foot Print
– Size, Resources
• Sharing and Collaboration
of Images
– Docker Hub
• Application Isolation
– Run in own space
Container Challenges
• Resource and State
Management
– What happens if a host has a trouble?
– How to keep them running?
– How to manage multiple hosts?
• Data and Network
Management
– Volumes
– Subnets
• Monitoring
– Identify container failures
• Service Discovery
– How to avoid port conflicts?
• Deployment
– Co-ordination among multiple services
Refactoring to Microservices
• Strategy 1 – Stop Digging
– The Law of Holes says that whenever you are in a hole you should stop digging. This
means that when you are implementing new functionality you should not add more
code to the monolith. Instead, the big idea with this strategy is to put that new code in a
standalonemicroservice.
• Strategy 2 – Split Frontend and Backend
– A strategy that shrinks the monolithic application is to split the presentation layer from
the business logic and data access layers.
– Instead of packaging all of your related WARs in one EAR, split them up into
independentWARs
• Strategy 3 – Extract Services
– A large, complex monolithic application consists of tens or hundreds of modules, all of
which are candidates for extraction.
– Existing REST/JMS/SOAP/EJB services
– Simple Servlet/JSP interfaces
• Strategy 4 – Data Services
– Isolated islands of data, De-normalize
Container Software
• Docker
• CoreOS Rocket
• Canonical LXD
• Spoonium
• Flockport
• Solaris Zones (2004)
Cloud Providers
• Amazon Web Services
• Microsoft Azure
• Digital Ocean
• Exoscale
• Google Compute Engine
• OpenStack
• Rackspace
• IBM Softlayer
• Etcd
o Service discovery / Globally distributed key-value store
• Consul
o Service discovery / Globally distributed key-value store
• Zookeeper
o Service discovery / Globally distributed key-value store
• Crypt
o Project to encrypt etcd entries
• Confd
o Watches key-value store for changes and triggers
reconfiguration of services with new values
Service Discovery Tools
• Flannel
o Overlay network providing each host with a separate subnet.
• Weave
o Overlay network portraying all containers on a single network.
• Pipework
o Advanced networking toolkit for arbitrarily advanced
networking configurations.
Docker Networking Tools
• Dynatrace
o High level metrics
• Datadog
o Monitor infrastructure, track metrics, events
• SignalFx
o Real time analysis with low latency
• Sysdig
o Monitoring microservices, sits at OS level
• New Relic
o Application and server centric
Monitoring Tools
• AWS ECS
o Scheduler and Cluster Management
• Fleet
o Scheduler and Cluster management tool.
• Marathon
o Scheduler and Service management tool.
• Docker Swarm
o Scheduler and Service management tool.
• Mesos
o Host abstraction service that consolidates host
resources for the scheduler.
• Kubernetes
o Advanced scheduler capable of managing container groups.
• Compose
o Container orchestration tool for creating container groups.
Container Management Tools
Release Processes Levels
Source Build Test Production
Continuous integration
Continuous delivery
Continuous deployment
Code Pipeline
Continuous
Delivery
Code Deploy
Cloud
Formation
OpsWork
Continuous
Integration
Code Commit SVN
Continuous
Development
Code Build
Configuration
Management
DevOps Tools
AWS ECS Infrastructure Management
• Monitoring and Logging
➢ Cloudwatch
➢ CloudWatch Logs (S3, Kinesis, Lambda, Elastisearch)
• AutoScaling
➢ CloudWatch Alarm on a metric (MemoryReservation)
➢ Scaling policies to increase/decrease
• Service Discovery
➢ ELB, Route 53 DNS
• Security
➢ IAM Roles for ECS Tasks
➢ Logging with CloudTrail
DevOps Borat @DEVOPS_BORAT
To make error is human.
To propagate error to all servers in automatic way is #devops.

More Related Content

What's hot (20)

PDF
이벤트 기반 분산 시스템을 향한 여정
Arawn Park
 
PDF
내 서비스에는 어떤 데이터베이스가 맞는걸까? - 이혁 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
Amazon Web Services Korea
 
PDF
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호(넥슨코리아) :: AWS Community Day 2020
AWSKRUG - AWS한국사용자모임
 
PPTX
Microservices with event source and CQRS
Md Ayub Ali Sarker
 
PPTX
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
Simplilearn
 
PPTX
DevOps with Kubernetes
EastBanc Tachnologies
 
PPT
Docker introduction
Phuc Nguyen
 
PPSX
Domain Driven Design
Araf Karsh Hamid
 
PDF
Docker 101: Introduction to Docker
Docker, Inc.
 
PPTX
4. 대용량 아키텍쳐 설계 패턴
Terry Cho
 
PPSX
Microservices, Containers, Kubernetes, Kafka, Kanban
Araf Karsh Hamid
 
PDF
Microservicios dirigidos por eventos con Axon
Christian Vermorken
 
PDF
AWS CDK Introduction
Kasun Dilunika
 
PDF
Why Microservice
Kelvin Yeung
 
PPTX
Journey of saga pattern in microservice architecture
anisurrahman403160
 
PPTX
Introduction To Microservices
Lalit Kale
 
PDF
GitOps and ArgoCD
Omar Fathy
 
PDF
Docker Introduction
Peng Xiao
 
PDF
Introduction to Kubernetes Workshop
Bob Killen
 
PPTX
Docker 101 : Introduction to Docker and Containers
Yajushi Srivastava
 
이벤트 기반 분산 시스템을 향한 여정
Arawn Park
 
내 서비스에는 어떤 데이터베이스가 맞는걸까? - 이혁 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
Amazon Web Services Korea
 
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호(넥슨코리아) :: AWS Community Day 2020
AWSKRUG - AWS한국사용자모임
 
Microservices with event source and CQRS
Md Ayub Ali Sarker
 
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
Simplilearn
 
DevOps with Kubernetes
EastBanc Tachnologies
 
Docker introduction
Phuc Nguyen
 
Domain Driven Design
Araf Karsh Hamid
 
Docker 101: Introduction to Docker
Docker, Inc.
 
4. 대용량 아키텍쳐 설계 패턴
Terry Cho
 
Microservices, Containers, Kubernetes, Kafka, Kanban
Araf Karsh Hamid
 
Microservicios dirigidos por eventos con Axon
Christian Vermorken
 
AWS CDK Introduction
Kasun Dilunika
 
Why Microservice
Kelvin Yeung
 
Journey of saga pattern in microservice architecture
anisurrahman403160
 
Introduction To Microservices
Lalit Kale
 
GitOps and ArgoCD
Omar Fathy
 
Docker Introduction
Peng Xiao
 
Introduction to Kubernetes Workshop
Bob Killen
 
Docker 101 : Introduction to Docker and Containers
Yajushi Srivastava
 

Similar to Monolithic to Microservices Architecture (20)

PPTX
The Microservices world in. NET Core and. NET framework
Massimo Bonanni
 
PPTX
Micro services
Brian Perera
 
PPTX
Exploring microservices in a Microsoft landscape
Alex Thissen
 
PPTX
Containers as Infrastructure for New Gen Apps
Khalid Ahmed
 
PPTX
Kubernetes Infra 2.0
Deepak Sood
 
PPTX
Microservices, Docker deploy and Microservices source code in C#
Karmanjay Verma
 
PDF
Multi-Containers Orchestration with Live Migration and High-Availability for ...
Jelastic Multi-Cloud PaaS
 
PPTX
Microservices and Best Practices
Weaveworks
 
PDF
Rami Sayar - Node microservices with Docker
Web à Québec
 
PPT
TransitioningToMicroServonDocker_MS
Lana Kalashnyk
 
PPTX
{code} and containers
{code} by Dell EMC
 
PPTX
Docker - HieuHoang
Hieu Hoang
 
PPTX
Application Centric Microservices from Redhat Summit 2015
Ken Owens
 
PDF
Reference architectures shows a microservices deployed to Kubernetes
Rakesh Gujjarlapudi
 
PDF
Container Networking Deep Dive
Open Networking Summit
 
PPTX
Kubernetes solutions
Eric Cattoir
 
PDF
Azure meetup cloud native concepts - may 28th 2018
Jim Bugwadia
 
PPTX
Micro service session 1
Amin Arab
 
PPTX
Iot cloud service v2.0
Vinod Wilson
 
PPTX
{code} and Containers - Open Source Infrastructure within Dell Technologies
The {code} Team
 
The Microservices world in. NET Core and. NET framework
Massimo Bonanni
 
Micro services
Brian Perera
 
Exploring microservices in a Microsoft landscape
Alex Thissen
 
Containers as Infrastructure for New Gen Apps
Khalid Ahmed
 
Kubernetes Infra 2.0
Deepak Sood
 
Microservices, Docker deploy and Microservices source code in C#
Karmanjay Verma
 
Multi-Containers Orchestration with Live Migration and High-Availability for ...
Jelastic Multi-Cloud PaaS
 
Microservices and Best Practices
Weaveworks
 
Rami Sayar - Node microservices with Docker
Web à Québec
 
TransitioningToMicroServonDocker_MS
Lana Kalashnyk
 
{code} and containers
{code} by Dell EMC
 
Docker - HieuHoang
Hieu Hoang
 
Application Centric Microservices from Redhat Summit 2015
Ken Owens
 
Reference architectures shows a microservices deployed to Kubernetes
Rakesh Gujjarlapudi
 
Container Networking Deep Dive
Open Networking Summit
 
Kubernetes solutions
Eric Cattoir
 
Azure meetup cloud native concepts - may 28th 2018
Jim Bugwadia
 
Micro service session 1
Amin Arab
 
Iot cloud service v2.0
Vinod Wilson
 
{code} and Containers - Open Source Infrastructure within Dell Technologies
The {code} Team
 
Ad

Recently uploaded (20)

PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PPTX
Building and Operating a Private Cloud with CloudStack and LINBIT CloudStack ...
ShapeBlue
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PPTX
Extensions Framework (XaaS) - Enabling Orchestrate Anything
ShapeBlue
 
PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PDF
Rethinking Security Operations - SOC Evolution Journey.pdf
Haris Chughtai
 
PDF
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
PDF
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PPTX
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
PDF
Apache CloudStack 201: Let's Design & Build an IaaS Cloud
ShapeBlue
 
PDF
Building Resilience with Digital Twins : Lessons from Korea
SANGHEE SHIN
 
PPTX
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PDF
Women in Automation Presents: Reinventing Yourself — Bold Career Pivots That ...
DianaGray10
 
PPTX
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PDF
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
PDF
Why Orbit Edge Tech is a Top Next JS Development Company in 2025
mahendraalaska08
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Building and Operating a Private Cloud with CloudStack and LINBIT CloudStack ...
ShapeBlue
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
Extensions Framework (XaaS) - Enabling Orchestrate Anything
ShapeBlue
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
Rethinking Security Operations - SOC Evolution Journey.pdf
Haris Chughtai
 
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
Apache CloudStack 201: Let's Design & Build an IaaS Cloud
ShapeBlue
 
Building Resilience with Digital Twins : Lessons from Korea
SANGHEE SHIN
 
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
Women in Automation Presents: Reinventing Yourself — Bold Career Pivots That ...
DianaGray10
 
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
Why Orbit Edge Tech is a Top Next JS Development Company in 2025
mahendraalaska08
 
Ad

Monolithic to Microservices Architecture

  • 2. Browser Load Balancer Data Access Service Shipping Services StoreFront UI Account Services Cart Services DB Monolithic Architecture Monolithic architecture is the traditional unified model for the design of a software program.Monolithic software is designed to be self-contained; components of the program are interconnected and interdependent rather than loosely coupled as is the case with modular software programs.
  • 3. Browser Load Balancer StoreFront UI Account ServicesLoad Balancer DB Cart ServicesLoad Balancer DB Shipping ServicesLoad Balancer DB Microservices Architecture Microservices is a specialization and implementation approach for service- oriented architectures (SOA) used to build flexible, independentlydeployablesoftware systems.
  • 4. Comparison Monolithic • Simple full deployments • Inter-module refactoring • Binary failure modes • Symmetric Scaling • Technology monoculture Microservices • Partial deployments • Strong module boundaries • Graceful degradation • Asymmetric scaling • Technical diversity • Testing is complex
  • 5. Virtual Machines and Containers Virtual machines include the application, the necessary binaries and libraries, and an entire guest operating system -- all of which can amount to tens of GBs. Containers include the application and all of its dependencies --but share the kernel with other containers, runningas isolated processes in user space on the host operating system.
  • 6. Container Advantages • Rapid Development – Containers include the run-time requirements of the application • Portability - Servers/Cloud • Lightweight Foot Print – Size, Resources • Sharing and Collaboration of Images – Docker Hub • Application Isolation – Run in own space Container Challenges • Resource and State Management – What happens if a host has a trouble? – How to keep them running? – How to manage multiple hosts? • Data and Network Management – Volumes – Subnets • Monitoring – Identify container failures • Service Discovery – How to avoid port conflicts? • Deployment – Co-ordination among multiple services
  • 7. Refactoring to Microservices • Strategy 1 – Stop Digging – The Law of Holes says that whenever you are in a hole you should stop digging. This means that when you are implementing new functionality you should not add more code to the monolith. Instead, the big idea with this strategy is to put that new code in a standalonemicroservice. • Strategy 2 – Split Frontend and Backend – A strategy that shrinks the monolithic application is to split the presentation layer from the business logic and data access layers. – Instead of packaging all of your related WARs in one EAR, split them up into independentWARs • Strategy 3 – Extract Services – A large, complex monolithic application consists of tens or hundreds of modules, all of which are candidates for extraction. – Existing REST/JMS/SOAP/EJB services – Simple Servlet/JSP interfaces • Strategy 4 – Data Services – Isolated islands of data, De-normalize
  • 8. Container Software • Docker • CoreOS Rocket • Canonical LXD • Spoonium • Flockport • Solaris Zones (2004) Cloud Providers • Amazon Web Services • Microsoft Azure • Digital Ocean • Exoscale • Google Compute Engine • OpenStack • Rackspace • IBM Softlayer
  • 9. • Etcd o Service discovery / Globally distributed key-value store • Consul o Service discovery / Globally distributed key-value store • Zookeeper o Service discovery / Globally distributed key-value store • Crypt o Project to encrypt etcd entries • Confd o Watches key-value store for changes and triggers reconfiguration of services with new values Service Discovery Tools
  • 10. • Flannel o Overlay network providing each host with a separate subnet. • Weave o Overlay network portraying all containers on a single network. • Pipework o Advanced networking toolkit for arbitrarily advanced networking configurations. Docker Networking Tools • Dynatrace o High level metrics • Datadog o Monitor infrastructure, track metrics, events • SignalFx o Real time analysis with low latency • Sysdig o Monitoring microservices, sits at OS level • New Relic o Application and server centric Monitoring Tools
  • 11. • AWS ECS o Scheduler and Cluster Management • Fleet o Scheduler and Cluster management tool. • Marathon o Scheduler and Service management tool. • Docker Swarm o Scheduler and Service management tool. • Mesos o Host abstraction service that consolidates host resources for the scheduler. • Kubernetes o Advanced scheduler capable of managing container groups. • Compose o Container orchestration tool for creating container groups. Container Management Tools
  • 12. Release Processes Levels Source Build Test Production Continuous integration Continuous delivery Continuous deployment
  • 13. Code Pipeline Continuous Delivery Code Deploy Cloud Formation OpsWork Continuous Integration Code Commit SVN Continuous Development Code Build Configuration Management DevOps Tools
  • 14. AWS ECS Infrastructure Management • Monitoring and Logging ➢ Cloudwatch ➢ CloudWatch Logs (S3, Kinesis, Lambda, Elastisearch) • AutoScaling ➢ CloudWatch Alarm on a metric (MemoryReservation) ➢ Scaling policies to increase/decrease • Service Discovery ➢ ELB, Route 53 DNS • Security ➢ IAM Roles for ECS Tasks ➢ Logging with CloudTrail
  • 15. DevOps Borat @DEVOPS_BORAT To make error is human. To propagate error to all servers in automatic way is #devops.