A Zero Downtime Release (ZDR) is a software deployment method where an application is updated or maintained without any service interruptions for end users. The primary goal is to keep the software continuously available so that users do not experience any downtime or issues during the deployment.
This approach is often used in highly available systems and production environments where even brief downtime is unacceptable. To achieve a Zero Downtime Release, techniques like Blue-Green Deployments, Canary Releases, or Rolling Deployments are commonly employed:
Blue-Green Deployment: Two nearly identical production environments (Blue and Green) are maintained, with one being live. The update is applied to the inactive environment, and once it's successful, traffic is switched over to the updated environment.
Canary Release: The update is initially rolled out to a small percentage of users. If no issues arise, it's gradually expanded to all users.
Rolling Deployment: The update is applied to servers incrementally, ensuring that part of the application remains available while other parts are updated.
These strategies ensure that users experience little to no disruption during the deployment process.