100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
DevOps

Rolling Deployment

IntermediateTechnique6.1K learners

Rolling deployment is a release strategy that incrementally replaces instances running the old version of an application with instances running the new version, rather than switching everything at once.

Definition

Rolling deployment is a release strategy that incrementally replaces instances running the old version of an application with instances running the new version, rather than switching everything at once.

Overview

In a rolling deployment, a fixed pool of application instances is updated in batches: a small number of old instances are taken out of service and replaced with new ones, health-checked, and added back to the load-balanced pool before the next batch is updated. This continues until every instance is running the new version, without ever having zero healthy instances available to serve traffic. Rolling deployment is the default update strategy in Kubernetes for Deployments, where the `maxSurge` and `maxUnavailable` settings control how aggressively old pods are replaced with new ones. It requires less duplicate infrastructure than blue-green deployment, since it doesn't need two complete parallel environments, but rollback is slower and both old and new versions serve traffic simultaneously during the rollout, which requires the two versions to be compatible with each other (for example, sharing a database schema). Compared to canary deployment, which deliberately limits exposure to a small percentage of traffic while closely monitoring metrics, rolling deployment typically proceeds through the whole fleet at a fixed pace without the same emphasis on gradual, metrics-gated exposure.

Key Concepts

  • Incremental replacement of old instances with new ones in batches
  • Continuous availability — some healthy instances always serving traffic
  • Default update strategy for Kubernetes Deployments
  • Configurable batch size and surge capacity during rollout
  • Lower infrastructure overhead than blue-green deployment
  • Requires old and new versions to be compatible during the transition

Use Cases

Updating stateless application instances with zero downtime
Default deployment strategy for Kubernetes Deployment resources
Gradually replacing servers behind a load balancer without a full cutover
Reducing infrastructure cost compared to maintaining parallel environments
Applying incremental updates across large horizontally scaled fleets

Frequently Asked Questions

From the Blog