Microservices - Introduction



Table of Contents

Microservices are services that each perform a small task.
Each microserivce is relatively a small set of related functionalities. The benefits of taking this approach are:

  • easier for a developer to understand/develop
  • can be deployed independently of other services
  • easier to scale up or out
  • improved fault isolation
  • no long-term commitment to a technology stack

Microservices vs Monolithic

a monolithic application consists of one big deployable unit, usually containing three parts:

  • a database (consisting of several tables usually in a relational database management system)
  • a client-side user interface (consisting of HTML pages and/or JavaScript running in a browser)
  • a server-side program.

Modularity

the physical and logical decomposition of large and complex things into smaller and manageable components.

Physical Decomposition?

With the use of Container Technology, physical decomposition can be done.

Logical Decomposition?

Domain Driven Design helps to decompose the system logicaly

Capability Model

The following capability model provides a modular, service oriented overview of the microservices architecture requirements.