Microservices Architecture
Prepared by: Ralph Osmond Rimorin
Agenda
• Why a microservices approach to building
applications?
• Monolithic vs. microservice design
approach
• What is a microservice?
• Let’s see an example
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.
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.
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.
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.
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.
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.
Done
• Credits
– https://azure.microsoft.com/en-
us/documentation/articles/service-fabric-
overview-microservices/
Done
• Credits
– https://azure.microsoft.com/en-
us/documentation/articles/service-fabric-
overview-microservices/

Discussion About Microservices Architecture

  • 1.
  • 2.
    Agenda • Why amicroservices approach to building applications? • Monolithic vs. microservice design approach • What is a microservice? • Let’s see an example
  • 3.
    Why a microservicesapproach 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 designapproach • 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 designapproach • 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 designapproach • 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 amicroservice? • 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 amicroservice? • 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.
  • 9.
  • 10.