Microservices


Microservice architecture an architectural approach to building software applications as a collection of small and independent services focusing on a specific business capability.

  • A microservice is an independent, single-function module with well-defined and lightweight interfaces and operations
  • Each microservice is designed to be modular
    • with a well-defined interface and a single responsibility
  • allows developers to build and deploy complex applications more efficiently
    • enables teams to work independently on different application features
      • easier to scale and update individual components without affecting the entire system
  •  Risks are largely attributed to integration issues
    • while individual components operate well independently
    • they often reveal problems difficult to isolate and resolve once they are integrated
  • often implemented using IaC practices
    • ensures consistency and repeatability across different environments
    • allows for more efficient development and deployment of microservices
      • can independently automate the provisioning and deploying infrastructure for each microservice