0% found this document useful (0 votes)
82 views18 pages

Spring Boot PPT Part 1 - Microservices

The document discusses microservices architecture, contrasting it with traditional monolithic systems. It highlights the advantages of microservices, such as maintainability, scalability, and flexibility, while addressing the limitations of monolithic architecture. Additionally, it outlines communication protocols used in microservices, including HTTP/REST and AMQP.

Uploaded by

deepanshu jain
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
82 views18 pages

Spring Boot PPT Part 1 - Microservices

The document discusses microservices architecture, contrasting it with traditional monolithic systems. It highlights the advantages of microservices, such as maintainability, scalability, and flexibility, while addressing the limitations of monolithic architecture. Additionally, it outlines communication protocols used in microservices, including HTTP/REST and AMQP.

Uploaded by

deepanshu jain
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

presents

Microservices
Part - 1

Deepanshu Jain | Software Architect


Topics

● Monolithic System Architecture


● Service-Oriented Architecture (SOA)
● How Microservices Implement Web Service
Concepts
● Microservice Protocols and Standards
● Decomposing a Monolith Application
Traditional Legacy Application
Monolithic System Architecture
● A 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. In a tightly-coupled architecture, each component

and its associated components must be present in order for code to be executed or

compiled.
Why Monolithic?

● Simple to develop.
● Simple to test. For example you can implement end-to-end testing by
simply launching the application and testing the UI with Selenium.
● Simple to deploy. You just have to copy the packaged application to a
server.
● Simple to scale horizontally by running multiple copies behind a load
balancer.
What’s wrong with Monolithic
Architecture
● Application is too large and complex to fully understand and made
changes fast and correctly.
● The size of the application can slow down the start-up time.
● You must redeploy the entire application on each update.
● Extensive manual testing, as impact can break any module.
● Continuous deployment is difficult.
● Reliability, one module failure can impact others, and results with
application failure.
● Monolithic applications has a barrier to adopting new technologies.
● Scalability?
Microservice Architecture
Microservices - also known as the microservice architecture - is an architectural style that structures an application
as a collection of services that are

● Highly maintainable and testable


● Loosely coupled
● Independently deployable
● Organized around business capabilities
● Owned by a small team

Microservice architecture is an architectural style that structure the application as set


of services that are organized around business capabilities.
Microservice Architecture

Rest APIs Rest APIs Rest APIs

Microservice 1 Microservice 2 Microservice 3 Microservice 4


Microservice Architecture Advantages

● Easier to build and maintain applications as each business


module is a service (microservice).
● Organized Around Business Capabilities
● Improved Productivity and Speed
● Flexibility in using technologies
● Autonomous, Cross-functional Teams
● Cost effective scalability
● Improve fault tolerance
● Increase testability of code
Microservice Protocols and Standards
So, after the larger considerations of microservice-to-microservice communications,
what do most people do?

● Use HTTP/REST (synchronous) communication for services outside of the


internal microservices structure. The HTTP/REST communication is ideal for
external requests, as it’s built to easily handle items like real-time interactions
from a client.
● Use AMQP (asynchronous) for communication methods within the internal
microservices structure.

You might also like