2. Agenda
• Why a microservices approach to building
applications?
• Monolithic vs. microservice design
approach
• What is a microservice?
• Let’s see an example
3. Why a microservices approach
to building applications?
The changing business needs are:
•The need to build and operate a service at scale to enable
greater customer reach--into new geographical regions or
without having to deploy at customer locations, for
example.
•Faster delivery of features and capabilities to be able to
respond to customer demands in an agile way.
•Improved resource utilization to reduce costs.
4. Monolithic vs. microservice
design approach
• Monolithic approach
1. A monolithic app contains
domain-specific functionality and is
normally divided by functional
layers, such as web, business, and
data.
2. You scale a monolithic app by
cloning it on multiple
servers/VMs/containers.
5. Monolithic vs. microservice
design approach
• Microservices approach
3. A microservice application
separates functionality into
separate smaller services.
4. This approach scales out by
deploying each service
independently, creating
instances of these services
across servers/VMs/containers.
6. Monolithic vs. microservice
design approach
• To summarize, the microservice approach is to compose
your application of many smaller services running in
containers deployed across a cluster of machines.
• Each service is developed by a smaller team that
focuses on a scenario, and each service is
independently tested, versioned, deployed, and scaled,
so that the application as a whole can evolve.
7. What is a microservice?
• They encapsulate a customer or business scenario. What is the
problem you are solving?
• They are developed by a small engineering team.
• They can be written in any programming language and use any
framework.
• They consist of code and (optionally) state that are independently
versioned, deployed, and scaled.
• They interact with other microservices over well-defined interfaces
and protocols.
• They have unique names (URLs) that can be used to resolve their
location.
• They remain consistent and available in the presence of failures.
8. What is a microservice?
• Microservice applications are composed of small, independently
versioned, and scalable customer-focused services that
communicate with each other over standard protocols with well-
defined interfaces.