Mark As Completed Discussion

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 an API Gateway or Service 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 and system 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 where separate services communicate with each other via two-way communication to provide autonomy, scalability and flexibility.