SlideShare a Scribd company logo
Microservice Architecture
By Touraj Ebrahimi
Monolithic Applications
› A monolithic application is built as a single unit.
Enterprise Applications are built in three parts:
– a database (consisting of many tables usually a relational
database management system),
– a client-side user interface (consisting of HTML pages and/or
JavaScript running in a browser),
– and a server-side application.
Monolithic Architecture
What is Microservice
In short, the microservice architectural style is an approach to
developing a single application as a suite of small services,
each running in its own process and communicating with
lightweight mechanisms, often an HTTP resource API. These
services are built around business capabilities and
independently deployable by fully automated deployment
machinery. There is a bare minimum of centralized
management of these services, which may be written in different
programming languages and use different data storage
technologies.
Roots: its roots go back at least to the design principles of Unix
Other Features of Microservice
› services are independently deployable
› services are independently scalable
› Lightweight containers
› Polyglot programming environment
› Out-of-the-box capabilities
› Security
› Mediation and intelligent routing
› Hot swap-ability
› Monitoring and manageability
Complexity VS. Productivity
Cons and Pros
Granularity of Architectures
Microservice architecture
Microservice Architecture
Gartner View
Pivotal Cloud Foundry Architecture
Scalability
Polyglot persistence approach
To make matters worse, different microservices often use
different kinds of databases. Modern applications store
and process diverse kinds of data and a relational
database is not always the best choice. For some use
cases, a particular NoSQL database might have a more
convenient data model and offer much better performance
and scalability. For example, it makes sense for a service
that stores and queries text to use a text search engine
such as Elasticsearch. Similarly, a service that stores social
graph data should probably use a graph database, such as
Neo4j. Consequently, microservices-based applications
often use a mixture of SQL and NoSQL databases, the
so-called polyglot persistence approach.
Microservice architecture
Microservice architecture
Sample Spring Cloud
Ribbon :: Client-Side Load Balancing
The graphic Below illustrates a 4-microservice setup, with the connections between them indicating a
dependency.
The configuration service sits at the top, in yellow, and is depended on by the other microservices. The
discovery service sits at the bottom, in blue, and also is depended upon by the other microservices.
Configuration Service
› The configuration service is a vital component of any microservices
architecture. Based on the twelve-factor app methodology,
configurations for your microservice applications should be stored in the
environment and not in the project.
› The configuration service is essential because it handles the
configurations for all of the services through a simple point-to-point
service call to retrieve those configurations. The advantages of this are
multi-purpose.
› Let's assume that we have multiple deployment environments. If we have
a staging environment and a production environment, configurations for
those environments will be different. A configuration service might have a
dedicated Git repository for the configurations of that environment. None
of the other environments will be able to access this configuration, it is
available only to the configuration service running in that environment.
Note: twelve-factor :: https://12factor.net/
Configuration Service
Discovery Service
The discovery service is another vital component of our
microservice architecture. The discovery service handles
maintaining a list of service instances that are available for
work within a cluster. Within applications, service-to-service
calls are made using clients.
Spring Cloud Feign, a client-based API for RESTful microservices
that originated from the Netflix OSS project
Recommendation:,use Netflix Eureka, and the other Consul from
Hashicorp. Having multiple discovery services provides the
opportunity to use one (Consul) as a DNS provider for the
cluster, and the other (Eureka) as a proxy-based API gateway.
Feign
API Gateway
The API gateway service is another vital component if we are going to
create a cluster of services managing their own domain entities. The
green hexagons below are our data-driven services that manage their
own domain entities and even their own databases. By adding an API
gateway service, we can create a proxy of each API route that are
exposed by the green services.
Let’s assume that both the recommendation service and the movie
service expose their own REST API over the domain entities that they
manage. The API gateway will discover these services through the
discovery service and inject a proxy-based route of the API methods
from the other services. In this way, both the recommendation and
movie microservice will have a full definition of routes available
locally from all the microservices that expose a REST API. The API
Gateway will re-route the request to the service instances that own
the route being requested through HTTP.
API Gateway
Circuit Breaker
Microservice architecture
Microservice architecture
Microservice architecture
Microservice architecture
Why embracing Microservices
Container Orchestration Trends
Microservice architecture
Monolithic :: SOA :: Microservices
Frameworks Trends
Operation Model and Actual Component
Mapping (Spring and Netflix OSS)
Monolithic Frontend Vertical Decomposition Composite Frontend
• development time integration
• Runtime Integration
Future of the world
Microservice architecture

More Related Content

PDF
Microservices communication styles and event bus
PDF
Kafka and kafka connect
PDF
Integration Microservices
PPTX
Connecting All Abstractions with Istio
PDF
Microservices for Enterprises
PDF
Microservices: Where do they fit within a rapidly evolving integration archit...
PDF
Service mesh in Microservice World to Manage end to end service communications
PDF
Microservice architecture-api-gateway-considerations
Microservices communication styles and event bus
Kafka and kafka connect
Integration Microservices
Connecting All Abstractions with Istio
Microservices for Enterprises
Microservices: Where do they fit within a rapidly evolving integration archit...
Service mesh in Microservice World to Manage end to end service communications
Microservice architecture-api-gateway-considerations

What's hot (20)

PPTX
Think Small To Go Big - Introduction To Microservices
PDF
The Complete Guide to Service Mesh
PPTX
Navigating the service mesh landscape with Istio, Consul Connect, and Linkerd
PDF
Microservices
PDF
Microservice Architecture
PDF
Deploying Microservices as Containers
PDF
Orchestration Patterns for Microservices with Messaging by RabbitMQ
PPTX
Cloud native microservices for systems and applications ieee rev2
PDF
DEVNET-1184 Microservices Patterns
PDF
Microservices Integration Patterns with Kafka
PPTX
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
PPTX
Microservice vs. Monolithic Architecture
PDF
Introduction to microservices Jornada Microservices
PDF
Istio : Service Mesh
PDF
Full lifecycle of a microservice
PDF
REST vs. Messaging For Microservices
PPTX
Adaptive and Iterative Integration for Microservices and Cloud Native Archite...
PPTX
Microservice architecture design principles
PDF
Managing microservices with Istio Service Mesh
PDF
Stop reinventing the wheel with Istio by Mete Atamel (Google)
Think Small To Go Big - Introduction To Microservices
The Complete Guide to Service Mesh
Navigating the service mesh landscape with Istio, Consul Connect, and Linkerd
Microservices
Microservice Architecture
Deploying Microservices as Containers
Orchestration Patterns for Microservices with Messaging by RabbitMQ
Cloud native microservices for systems and applications ieee rev2
DEVNET-1184 Microservices Patterns
Microservices Integration Patterns with Kafka
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Microservice vs. Monolithic Architecture
Introduction to microservices Jornada Microservices
Istio : Service Mesh
Full lifecycle of a microservice
REST vs. Messaging For Microservices
Adaptive and Iterative Integration for Microservices and Cloud Native Archite...
Microservice architecture design principles
Managing microservices with Istio Service Mesh
Stop reinventing the wheel with Istio by Mete Atamel (Google)
Ad

Similar to Microservice architecture (20)

PDF
Microservices - Hitchhiker's guide to cloud native applications
PPTX
Intro to spring cloud &microservices by Eugene Hanikblum
PDF
Microservices Interview Questions and Answers PDF By ScholarHat
PPTX
Microservices architecture
PPTX
Spring cloud-netflix-oss-microservices
PPTX
Micro Services Architecture
PPTX
Microservices
PPTX
Springboot Microservices
PDF
Microservices architecture
PDF
Cloudify your applications: microservices and beyond
PPTX
Software Architectures, Week 3 - Microservice-based Architectures
PDF
Building microservices on azure
PDF
#ATAGTR2020 Presentation - Microservices – Explored
PDF
Microservice-based software architecture
PDF
20141210 - Microservice Container
PPTX
Microservices in the Enterprise
PDF
Everything you want to know about microservices
PPTX
Microservices with mule
PPSX
Microservices Architecture, Monolith Migration Patterns
PPTX
Microservices: The Right Way
Microservices - Hitchhiker's guide to cloud native applications
Intro to spring cloud &microservices by Eugene Hanikblum
Microservices Interview Questions and Answers PDF By ScholarHat
Microservices architecture
Spring cloud-netflix-oss-microservices
Micro Services Architecture
Microservices
Springboot Microservices
Microservices architecture
Cloudify your applications: microservices and beyond
Software Architectures, Week 3 - Microservice-based Architectures
Building microservices on azure
#ATAGTR2020 Presentation - Microservices – Explored
Microservice-based software architecture
20141210 - Microservice Container
Microservices in the Enterprise
Everything you want to know about microservices
Microservices with mule
Microservices Architecture, Monolith Migration Patterns
Microservices: The Right Way
Ad

Recently uploaded (20)

PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
medical staffing services at VALiNTRY
PDF
Nekopoi APK 2025 free lastest update
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Introduction to Artificial Intelligence
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Transform Your Business with a Software ERP System
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Digital Strategies for Manufacturing Companies
PDF
System and Network Administration Chapter 2
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
Design an Analysis of Algorithms I-SECS-1021-03
medical staffing services at VALiNTRY
Nekopoi APK 2025 free lastest update
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Introduction to Artificial Intelligence
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Wondershare Filmora 15 Crack With Activation Key [2025
L1 - Introduction to python Backend.pptx
Transform Your Business with a Software ERP System
ISO 45001 Occupational Health and Safety Management System
Odoo Companies in India – Driving Business Transformation.pdf
Navsoft: AI-Powered Business Solutions & Custom Software Development
Understanding Forklifts - TECH EHS Solution
Digital Strategies for Manufacturing Companies
System and Network Administration Chapter 2
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
VVF-Customer-Presentation2025-Ver1.9.pptx

Microservice architecture

  • 2. Monolithic Applications › A monolithic application is built as a single unit. Enterprise Applications are built in three parts: – a database (consisting of many tables usually a relational database management system), – a client-side user interface (consisting of HTML pages and/or JavaScript running in a browser), – and a server-side application.
  • 4. What is Microservice In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies. Roots: its roots go back at least to the design principles of Unix
  • 5. Other Features of Microservice › services are independently deployable › services are independently scalable › Lightweight containers › Polyglot programming environment › Out-of-the-box capabilities › Security › Mediation and intelligent routing › Hot swap-ability › Monitoring and manageability
  • 12. Pivotal Cloud Foundry Architecture
  • 14. Polyglot persistence approach To make matters worse, different microservices often use different kinds of databases. Modern applications store and process diverse kinds of data and a relational database is not always the best choice. For some use cases, a particular NoSQL database might have a more convenient data model and offer much better performance and scalability. For example, it makes sense for a service that stores and queries text to use a text search engine such as Elasticsearch. Similarly, a service that stores social graph data should probably use a graph database, such as Neo4j. Consequently, microservices-based applications often use a mixture of SQL and NoSQL databases, the so-called polyglot persistence approach.
  • 18. Ribbon :: Client-Side Load Balancing
  • 19. The graphic Below illustrates a 4-microservice setup, with the connections between them indicating a dependency. The configuration service sits at the top, in yellow, and is depended on by the other microservices. The discovery service sits at the bottom, in blue, and also is depended upon by the other microservices.
  • 20. Configuration Service › The configuration service is a vital component of any microservices architecture. Based on the twelve-factor app methodology, configurations for your microservice applications should be stored in the environment and not in the project. › The configuration service is essential because it handles the configurations for all of the services through a simple point-to-point service call to retrieve those configurations. The advantages of this are multi-purpose. › Let's assume that we have multiple deployment environments. If we have a staging environment and a production environment, configurations for those environments will be different. A configuration service might have a dedicated Git repository for the configurations of that environment. None of the other environments will be able to access this configuration, it is available only to the configuration service running in that environment. Note: twelve-factor :: https://12factor.net/
  • 22. Discovery Service The discovery service is another vital component of our microservice architecture. The discovery service handles maintaining a list of service instances that are available for work within a cluster. Within applications, service-to-service calls are made using clients. Spring Cloud Feign, a client-based API for RESTful microservices that originated from the Netflix OSS project Recommendation:,use Netflix Eureka, and the other Consul from Hashicorp. Having multiple discovery services provides the opportunity to use one (Consul) as a DNS provider for the cluster, and the other (Eureka) as a proxy-based API gateway.
  • 23. Feign
  • 24. API Gateway The API gateway service is another vital component if we are going to create a cluster of services managing their own domain entities. The green hexagons below are our data-driven services that manage their own domain entities and even their own databases. By adding an API gateway service, we can create a proxy of each API route that are exposed by the green services. Let’s assume that both the recommendation service and the movie service expose their own REST API over the domain entities that they manage. The API gateway will discover these services through the discovery service and inject a proxy-based route of the API methods from the other services. In this way, both the recommendation and movie microservice will have a full definition of routes available locally from all the microservices that expose a REST API. The API Gateway will re-route the request to the service instances that own the route being requested through HTTP.
  • 34. Monolithic :: SOA :: Microservices
  • 36. Operation Model and Actual Component Mapping (Spring and Netflix OSS)
  • 37. Monolithic Frontend Vertical Decomposition Composite Frontend • development time integration • Runtime Integration
  • 38. Future of the world