Notes on Microservices
🚢

Notes on Microservices

Tags
Computer Science
Published

What is a microservices architechture

A microservices architecture is a software design approach where a complex application is broken down into smaller, independent services that communicate with each other through well-defined APIs (Application Programming Interfaces). Each microservice focuses on a specific business function or feature, such as user authentication, payment processing, or inventory management. These services can be developed, deployed, and scaled independently, often using different programming languages and technologies. Microservices promote flexibility, scalability, and ease of maintenance, making it easier to update or add new features without disrupting the entire application.

Monolith vs Microservice

In contrast, a monolithic architecture is a traditional approach where all components of an application are tightly integrated into a single codebase and executable. In a monolith, different functionalities are typically organized into modules or classes within the same application, and they share the same database and runtime environment. While monolithic applications can be simpler to initially develop, they can become challenging to manage as they grow in complexity. Changes or updates to one part of the monolith can have unintended consequences elsewhere, and scaling the application may require replicating the entire monolith, which can be inefficient. Microservices address these challenges by breaking the application into smaller, independent units that are easier to develop, maintain, and scale individually, offering greater agility and resilience in modern software development.
notion image
 

Anatomy of a Microservice

 

Microservice patterns

Category patterns

More patterns

Orchestration and development

 

Tools for that