Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Monolithic application architectures are a prime target for modernization as they become increasingly cumbersome to build, debug, and even understand. You can rebuild them systematically to make them more modular. Using domain-driven design, you can migrate these types of applications to an agile microservices architecture.
Rebuilding a monolith requires a significant investment of time and budget to avoid failures or overruns. But the result is a fully modern, cloud-native application.
General approach to rebuilding with microservices
In general, to rebuild monolithic applications based on a microservices architecture, do the following:
- Assess the application, identifying its components and their dependencies.
- Use domain-driven design to define bounded contexts and identify microservices.
- Rearchitect the logic incrementally into microservices while maintaining service continuity.
- Containerize each microservice using Docker.
- Deploy the containers to Azure Kubernetes Service for management and orchestration.
Microsoft provides many resources to help you modernize applications. For more information, see Microservices on Azure.
Best practices for rebuilding with microservices
We recommend following these best practices:
- Use service isolation to ensure that each microservice can be independently deployed and scaled.
- Use Azure API Management as a gateway to manage and secure APIs.
- Introduce an anti-corruption layer for data that removes bias originating from data models required by the monolithic application. That way, your modernized, microservices-based applications work with only the data they require.
- Implement logging, monitoring, and tracing using Azure Monitor and Azure Log Analytics.
Next steps
Continue the Expand cycle and replace enterprise messaging and routing apps with serverless applications.