One Pager Cheat Sheet
- Microservice architecture is a service-oriented approach that consists of independent modules with separate logic, databases, deployment processes, communication protocols and an API gateway, designed to achieve the whole package of an application's functionality.
- The
microservice architecture
allows for flexibility and scalability by connecting individual databases through anAPI Gateway
orService Bus
, creating more independence between services. - Domain-Driven Design (DDD) is a design pattern that focuses on the core domain logic and creates complex designs based on the domain's model, allowing for collaboration with domain experts to improve and fix any issues.
- Containerization provides more efficiency and resource-savings than hypervisor-based virtualization, by allowing the
Operating System
to be shared across different containers. - Microservices usually require
unit tests
,performance tests
,stress tests
,usability tests
,integration tests
andsystem tests
, and are typically built using .NET (C#) and Spring Boot (Java), while DevOps enables automated releasing and standardization. Continuous Integration (CI) is a process that facilitates automated build and testing of code whenever it is modified. - Continuous Integration (CI) automates the process of combining changes and building and testing code, encouraging developers to share code and unit tests, and standardizing the process of releasing software frequently and automatically.
- Developers face functional challenges such as heavy infrastructure setup, investment and excessive planning, and technical challenges, including communication between
microservices
, skill level requirements, difficulty in automation and managing configurations. - Microservices are
decentralized architectures
whereseparate services
communicate with each other viatwo-way communication
to provide autonomy, scalability and flexibility.