Sobes.tech
Middle — Senior

Migration of a monolithic application to microservices using DDD

livecode

Task condition

The company plans to transition from a monolithic architecture to a microservices architecture. It is necessary to formalize the process of system decomposition using the Domain‑Driven Design approach, covering the following aspects:

  • Approach to dividing the business domain into domains and subdomains;
  • Identification and formalization of bounded contexts;
  • Definition of aggregates and their root entities;
  • Designing a domain events model for asynchronous service interaction;
  • Ensuring data consistency and integrity between individual microservices;
  • Addressing issues related to distributed transactions;
  • Testing strategy focusing on integration tests;
  • Data migration from the monolith to new microservices;
  • Architectural solutions considering scalability, domain complexity, and the need for system evolution.