| Code: | NET-arch-monolith |
| Category: | .NET Architecture |
| Format: | 30% lecture / 70% workshop |
| Duration: | 3 days |
| Target audience: |
developerzy architekci |
| Enrollment: | Groups, companies |
| Venue: | Client's office. |
The Modular Monolith training is dedicated to people and teams who are looking for techniques and patterns supporting the logical division of a monolithic solution into independent modules, ensuring a compromise between the advantages of developing a single application and the modularity and autonomy of independent services in the microservices approach. During the training, participants will learn the techniques and challenges related to the division of a monolith into independent parts (so-called vertical slice) and will focus on an example module implementation in a dedicated project. .
It's all about the content.
- Pragmatic modularisation
- Microservices-ready arch
- Healthy modules boundaries
Training Program
The content of our program can be customised during pre-training analysis.-
Theory- Division of systems in terms of modularity and dispersion
- "Classic" vs. modular monolith
- Advantages of implementing a modular monolith
- Division of systems in terms of modularity and dispersion
-
Application architecture- Clean architecture
- Basic building blocks from Domain-Driven Design
- CQS/CQRS
- Clean architecture
-
Implementation- Application overview, structure of files / directories / projects in a walkthrough.
- Implementation of the new module as a vertical slice.
- Application overview, structure of files / directories / projects in a walkthrough.
-
Communication between modules- Ways of communication between modules
- Local contracts vs. shared contracts
- Implementation of a modular communication mechanism
- Ways of communication between modules
-
Integration between modules- Synchronous integration (write transactional)
- Asynchronous integration between modules. Discussion of advantages and disadvantages (fire and forget vs async / await)
- Implementation of the modular integration mechanism
- Shared infrastructure and error handling
- Synchronous integration (write transactional)
-
Distributed business processes- Overview of existing solutions
- A practical application of the Saga pattern
- Overview of existing solutions
-
Testing- Unit tests
- Integration tests
- End-to-end tests
- Contract tests
- Performance tests
- Unit tests
-
Deployment strategies- Overview of mechanisms provided by the framework
- Dynamic implementation of modules
- Overview of mechanisms provided by the framework
-
Optional 4th day Day - Extraction of a microservice from the module- The challenges of microservices architecture
- Refactoring modular communication to HTTP communication
- Replacing modular integration with communication using a message broker
- Adaptation of the monolith's infrastructure to support two types of communication, i.e. inside and outside the process
- The challenges of microservices architecture
Download PDF