SlideShare a Scribd company logo
Microservice Architecture
Why?
To understand why, we first need to have a look at what do we use. In
general, it is a monolithic approach.
Monolithic Approach
In simplest terms, Monolithic means composed all in one piece. In this
approach, program components are interconnected and interdependent.
In monolithic approach, we can divide the code in following layers:
Presentation layer
Business layer
Data access layer
Monolithic Approach
For example, when a web client (browser) sends a request, following happens:
The business layer performs the business logic.
Data access layer performs database collects/stores specific tasks.
Presentation layer shows the data to the user.
Basically, all code (presentation, business layer, and data access layer) is
maintained within the same code base.
Problem 1
Due to one codebase, all changes need to be committed/deployed via single
repository, which, as code grows, becomes very inefficient to manage.
Problem 2
Even in order to work in a certain module (say, product), developer needs to pull
the whole codebase to his local and configure it which, in general, shouldn’t be
the case.
Problem 3
Often, project tasks are divided based on the layer — UI team, backend team,
database dev team etc. Teams are specialized in their domains, but they have
little knowledge about other layers. So when there's a critical problem, it
encompasses each layer and it takes additional time to decide which layer's
problem it is and which team needs to address it.
In case of a long running project, it may be possible that no single team
understands the entirety of the application.
Problem 4
Due to large codebase, Scaling monolithic applications can often be a
challenge. In a large, monolithic application, everything needs to be scaled
together. For example, an application consists of two modules – user and
product. Even if we want to scale product only, it is not possible in monolithic
application.
Some more
Adopting new technologies is cumbersome in monolithic applications since
these applications are implemented using a single development stack (i.e.
JEE or PHP etc), which, sometimes, limit the availability of the right
solution for the problem.
Monolithic applications are Fault intolerant so the application can crash,
even by the failure of a single component/functionality.
Solution ?
Microservices
A micro service is something which is self-contained, well-defined and does not
depend on the state of other services. It is a small(er) independently deployable
unit.
Transition to Microservices
The idea is to split current application into a set of smaller, interconnected
services instead of building a single monolithic application.
Each microservice is a small application that has its own architecture
consisting of business logic along with various adapters.
Most microservices would expose a REST API and most services consume
APIs provided by other services.
Technical impact of solution used
It tackled the problem of complexity by decomposing application into a set of
manageable services which are much faster to develop, and much easier
to understand and maintain.
Each service is independent so choosing programming language is more
dependent to actual problem, rather than choices made at the start of the
project which, ultimately, reduced barrier of adopting new technologies.
.. Continued
It improved fault isolation so that the application can remain largely
unaffected by the failure of a single service.
Scaling services, as the need arises, is much cost effective. As per earlier
example, an application consists of 2 modules – user and product. Now
we can scale product only. Also, with the AWS Lambda like auto scalable
services, it’s very easy and much more economical to scale micro-service,
in case of increased demand for a particular service.
More coming soon ...

More Related Content

PDF
Microservices architecture
PPTX
Microservice vs. Monolithic Architecture
PPTX
Monolithic architecture
PPTX
Introduction to Microservices
PDF
Microservices
PDF
Kinh nghiệm triển khai Microservices tại Sapo.vn
PDF
Understanding MicroSERVICE Architecture with Java & Spring Boot
PDF
Micro Frontends
Microservices architecture
Microservice vs. Monolithic Architecture
Monolithic architecture
Introduction to Microservices
Microservices
Kinh nghiệm triển khai Microservices tại Sapo.vn
Understanding MicroSERVICE Architecture with Java & Spring Boot
Micro Frontends

What's hot (20)

PPTX
Microservices
PPTX
Cloud testing
PDF
Microservice Architecture 101
PDF
Why Microservice
PDF
Your Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
PPTX
Introduction to microservices
PDF
Introduction to CICD
PPTX
Modern CI/CD Pipeline Using Azure DevOps
PPTX
Introduction to Microservices
PPT
CI and CD with Jenkins
PPTX
Gitlab CI/CD
PPTX
Microservice architecture design principles
PPTX
Serverless
PDF
The 12 Factor App
PDF
12 factor app - Core Guidelines To Cloud Ready Solutions
PPTX
Cloud native computing
PDF
Microservice architecture
PDF
MuleSoft Surat Virtual Meetup#25 - Anypoint Platform Features and Capabilitie...
PDF
Integration Solution Patterns
PPTX
Introduction to Microservices Patterns
Microservices
Cloud testing
Microservice Architecture 101
Why Microservice
Your Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
Introduction to microservices
Introduction to CICD
Modern CI/CD Pipeline Using Azure DevOps
Introduction to Microservices
CI and CD with Jenkins
Gitlab CI/CD
Microservice architecture design principles
Serverless
The 12 Factor App
12 factor app - Core Guidelines To Cloud Ready Solutions
Cloud native computing
Microservice architecture
MuleSoft Surat Virtual Meetup#25 - Anypoint Platform Features and Capabilitie...
Integration Solution Patterns
Introduction to Microservices Patterns
Ad

Similar to Microservice architecture : Part 1 (20)

PPTX
Software application architecture
PPTX
Unit No. II Architecture.pptx Cloud Microservices & Application
PDF
Microservice final final
PDF
Microservices vs. Monolithic Architecture.pdf
PDF
What Is Microservices Architecture and How Does It Benefit App Development.pdf
PDF
Architecting for speed: how agile innovators accelerate growth through micros...
PDF
Architecting for speed: how agile innovators accelerate growth through micros...
PPTX
Microservices architecture
PDF
Microservices: Detailed Guide
DOCX
Micro services vs Monolith Architecture
PDF
What are the Advantages and Disadvantages of Microservices?
PPTX
05 microservices microdeck
PDF
Operational impact: monolithic vs. microservices
PPTX
Over view of software artitecture
PDF
Monolithic Architecture: A Closer Look at the Benefits and Drawbacks
PDF
Microservices Interview Questions and Answers PDF By ScholarHat
PPTX
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
PDF
PPTX
Introduction to Microservices
PDF
Unlocking the Future of Software Development with Microservices Architecture.pdf
Software application architecture
Unit No. II Architecture.pptx Cloud Microservices & Application
Microservice final final
Microservices vs. Monolithic Architecture.pdf
What Is Microservices Architecture and How Does It Benefit App Development.pdf
Architecting for speed: how agile innovators accelerate growth through micros...
Architecting for speed: how agile innovators accelerate growth through micros...
Microservices architecture
Microservices: Detailed Guide
Micro services vs Monolith Architecture
What are the Advantages and Disadvantages of Microservices?
05 microservices microdeck
Operational impact: monolithic vs. microservices
Over view of software artitecture
Monolithic Architecture: A Closer Look at the Benefits and Drawbacks
Microservices Interview Questions and Answers PDF By ScholarHat
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Introduction to Microservices
Unlocking the Future of Software Development with Microservices Architecture.pdf
Ad

More from NodeXperts (20)

PDF
ECMA Script
PDF
Apollo Server IV
PDF
React Context API
PDF
Devops - Microservice and Kubernetes
PDF
Introduction to EC2 (AWS)
PDF
Reactive Application Using METEOR
PDF
Apollo server II
PDF
Apollo Server
PDF
Apollo Server III
PPTX
Getting Reactive Data
PPTX
State, Life cycle, Methods & Events
PPTX
Refs in react
PPTX
Flow router, components and props
PPTX
Using react with meteor
PPTX
Introduction to Reactjs
PPTX
Mobile apps using meteor - Part 1
PPTX
Reactive web applications using MeteorJS
PPTX
Improving build solutions dependency management with webpack
PPTX
Meteor workshop
PPTX
Introduction to meteor
ECMA Script
Apollo Server IV
React Context API
Devops - Microservice and Kubernetes
Introduction to EC2 (AWS)
Reactive Application Using METEOR
Apollo server II
Apollo Server
Apollo Server III
Getting Reactive Data
State, Life cycle, Methods & Events
Refs in react
Flow router, components and props
Using react with meteor
Introduction to Reactjs
Mobile apps using meteor - Part 1
Reactive web applications using MeteorJS
Improving build solutions dependency management with webpack
Meteor workshop
Introduction to meteor

Recently uploaded (20)

PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PPTX
Telecom Fraud Prevention Guide | Hyperlink InfoSystem
PDF
Chapter 2 Digital Image Fundamentals.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Electronic commerce courselecture one. Pdf
PDF
Sensors and Actuators in IoT Systems using pdf
PDF
AI And Its Effect On The Evolving IT Sector In Australia - Elevate
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPT
Teaching material agriculture food technology
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Modernizing your data center with Dell and AMD
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Empathic Computing: Creating Shared Understanding
PDF
madgavkar20181017ppt McKinsey Presentation.pdf
PDF
Advanced Soft Computing BINUS July 2025.pdf
Understanding_Digital_Forensics_Presentation.pptx
Spectral efficient network and resource selection model in 5G networks
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
Telecom Fraud Prevention Guide | Hyperlink InfoSystem
Chapter 2 Digital Image Fundamentals.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Electronic commerce courselecture one. Pdf
Sensors and Actuators in IoT Systems using pdf
AI And Its Effect On The Evolving IT Sector In Australia - Elevate
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Teaching material agriculture food technology
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Modernizing your data center with Dell and AMD
Dropbox Q2 2025 Financial Results & Investor Presentation
Empathic Computing: Creating Shared Understanding
madgavkar20181017ppt McKinsey Presentation.pdf
Advanced Soft Computing BINUS July 2025.pdf

Microservice architecture : Part 1

  • 2. Why? To understand why, we first need to have a look at what do we use. In general, it is a monolithic approach.
  • 3. Monolithic Approach In simplest terms, Monolithic means composed all in one piece. In this approach, program components are interconnected and interdependent. In monolithic approach, we can divide the code in following layers: Presentation layer Business layer Data access layer
  • 4. Monolithic Approach For example, when a web client (browser) sends a request, following happens: The business layer performs the business logic. Data access layer performs database collects/stores specific tasks. Presentation layer shows the data to the user. Basically, all code (presentation, business layer, and data access layer) is maintained within the same code base.
  • 5. Problem 1 Due to one codebase, all changes need to be committed/deployed via single repository, which, as code grows, becomes very inefficient to manage.
  • 6. Problem 2 Even in order to work in a certain module (say, product), developer needs to pull the whole codebase to his local and configure it which, in general, shouldn’t be the case.
  • 7. Problem 3 Often, project tasks are divided based on the layer — UI team, backend team, database dev team etc. Teams are specialized in their domains, but they have little knowledge about other layers. So when there's a critical problem, it encompasses each layer and it takes additional time to decide which layer's problem it is and which team needs to address it. In case of a long running project, it may be possible that no single team understands the entirety of the application.
  • 8. Problem 4 Due to large codebase, Scaling monolithic applications can often be a challenge. In a large, monolithic application, everything needs to be scaled together. For example, an application consists of two modules – user and product. Even if we want to scale product only, it is not possible in monolithic application.
  • 9. Some more Adopting new technologies is cumbersome in monolithic applications since these applications are implemented using a single development stack (i.e. JEE or PHP etc), which, sometimes, limit the availability of the right solution for the problem. Monolithic applications are Fault intolerant so the application can crash, even by the failure of a single component/functionality.
  • 11. Microservices A micro service is something which is self-contained, well-defined and does not depend on the state of other services. It is a small(er) independently deployable unit.
  • 12. Transition to Microservices The idea is to split current application into a set of smaller, interconnected services instead of building a single monolithic application. Each microservice is a small application that has its own architecture consisting of business logic along with various adapters. Most microservices would expose a REST API and most services consume APIs provided by other services.
  • 13. Technical impact of solution used It tackled the problem of complexity by decomposing application into a set of manageable services which are much faster to develop, and much easier to understand and maintain. Each service is independent so choosing programming language is more dependent to actual problem, rather than choices made at the start of the project which, ultimately, reduced barrier of adopting new technologies.
  • 14. .. Continued It improved fault isolation so that the application can remain largely unaffected by the failure of a single service. Scaling services, as the need arises, is much cost effective. As per earlier example, an application consists of 2 modules – user and product. Now we can scale product only. Also, with the AWS Lambda like auto scalable services, it’s very easy and much more economical to scale micro-service, in case of increased demand for a particular service.

Editor's Notes

  • #5: The business layer acts as an interface between Presentation layer and Data Access Layer
  • #14: Which improved performance