

Some environments might reflect the production environment and be long lived, and others might be short lived and have fewer capabilities than production. The types have different capabilities and lifecycles. You need various types of environments to validate and stage deployment operations. This design area provides recommendations on how to optimize deployment and testing processes with the goal of minimizing downtime and maintaining application health and availability. Manual interventions must be avoided because they can introduce reliability risks. The same application artifacts and processes should be used to deploy the infrastructure and application code across different environments. Deployment and testing processes and tools must be highly available to support overall application reliability.Ĭonsistent deployment processes.

Users should be able to continue their interactions with the application without interruption. It should be possible to roll out updates at any time without affecting users. Updates shouldn't introduce defects, vulnerabilities, or other factors that might jeopardize application health. Design your continuous integration and continuous deployment (CI/CD) pipelines to support those goals. Be prepared to deploy weekly, daily, or more often. Your approach to deployment and testing plays a critical role in the overall reliability of a mission-critical application.ĭeployment and testing should form the basis for all application and infrastructure operations to ensure consistent outcomes for mission-critical workloads. Failed deployments and erroneous releases are common causes for application outages.
