What is a Microservice?

A microservice is a small, autonomous, self-contained software component that is loosely coupled and built around a business domain. The component is exposed with standard protocols for easy consumption and follows the Service Orientation principles for publishing and discovery.

Microservice principles:

  • Model around business domain
  • Culture of automation
  • Hide implementation details
  • Decentralize individual functionalities
  • Deploy independently
  • Isolate failure
  • Highly monitorable

What is a Microservice Architecture?

A microservice architecture is an architectural approach to designing large applications as modular microservices. That means that the business functionality is decomposed into a set of individual, self-contained services that communicate with each other via an API. This type of architecture deviates from central and coordinated deployment in that each microservice is deployed in its own runtime such as a Virtual Machine on a Cloud or a Container within a Virtual Machine. As a result, companies are able to scale individual services independent of other components given that these containers can be configured to automatically replicate and increase the computing capacity. By splitting an application into smaller services and decoupling interdependencies, companies discover greater agility and flexibility. This architectural style also works well with automating the build-deploy-release cycles for continuous deployment and DevOps model.

Microservice architecture characteristics

  • Product not Projects (DevOps Compliant)
  • Smart endpoints and dumb pipes
  • Decentralized data management
  • Decentralized governance
  • Evolutionary design
  • Design for failure
  • Infrastructure automation

Open chat