A few years ago, all the services of the same application were coded in the same application block. This architecture design was legitimate since the application was managed in waterfall mode (https://activecollab.com/blog/project-management/waterfall-project-management-methodology), so new versions of the application were deployed in very long cycles. Since then, many changes have taken place in software engineering practices, starting with the adoption of the agile method and DevOps culture, then continuing with the arrival of the cloud.
This evolution has brought many improvements, not only in applications but also in their infrastructure.
However, in order to take advantage of an effective DevOps culture to deploy an application in the cloud, there are good practices to consider when designing software architecture and also when designing...