Having covered the packaging and deployment models of cloud-native applications, we will now cover the patterns used for deploying cloud-native applications. Traditionally, applications get deployed in several environments such as development, testing, staging, pre-production, and so on, and each of these environments might be a scaled-down version of the final production environment. Applications move through a series of pre-production environments and get deployed finally to the production environment. However, one significant difference is that while downtime is tolerated in all other environments, downtime in a production deployment could lead to serious business consequences.
With cloud-native applications, it is possible to release software with zero downtime. This is achieved by the rigorous application of automation to every aspect of the development...