Catalog
method#DevOps#Platform#Rolling Deployment

Rolling Deployment

Rolling Deployment allows incremental rollouts of software updates without downtime.

Rolling Deployment is a method where software updates are gradually distributed to a multitude of servers.
Established
Medium

Classification

  • Medium
  • Technical
  • Design
  • Advanced

Technical context

CI/CD PipelinesMonitoring ToolsDocker Containers

Principles & goals

Minimization of DowntimeGathering Quick FeedbackGradual Introduction of New Features
Iterate
Team

Use cases & scenarios

Compromises

  • Unexpected Bugs during the Rollout
  • User Acceptance Might Be Affected
  • Difficulties in Monitoring
  • Regularly review rollout strategies.
  • Incremental testing during rollout.
  • Gather user feedback during the rollout.

I/O & resources

  • Documentation of Existing Infrastructure
  • Resources for Testing Environments
  • Technical Contacts
  • Completed Rollout Log
  • User Feedback Data
  • Performance Monitoring Reports

Description

Rolling Deployment is a method where software updates are gradually distributed to a multitude of servers. This technique allows the system to remain available while new features are introduced. By implementing a rolling approach, better feedback can be gathered, and potential issues can be identified more quickly.

  • Reduction of Risks during Updates
  • Better Control over User Experiences
  • Increased Availability

  • Complexity in Rollback Processes
  • Increased Planning Effort
  • Potential for Uneven User Experiences

  • Rollout Speed

    The time taken to deploy an update across all servers.

  • User Satisfaction

    Measurement of user satisfaction after an update.

  • Error Rate

    The frequency of errors or issues during the rollout.

E-commerce Platform Update

A national e-commerce company incrementally updated its platform to enhance user experience.

Streaming Service Feature Launch

A streaming service incrementally rolled out a new recommendation system to monitor acceptance.

Productivity Tools for Teams

A company incrementally translated its productivity tool for its teams to integrate feedback.

1

Define the rollout strategy.

2

Prepare testing environments.

3

Execute the rollout and monitor results.

⚠️ Technical debt & bottlenecks

  • Technical debt due to excessive complexity.
  • Insufficient documentation.
  • Resistance to change.
Monitoring ComplexityRollback ChallengesArchitecture Complexity
  • Fast deployment without sufficient testing.
  • Ignoring user feedback.
  • Rollback when the cause is not understood.
  • Too fast rollout without monitoring.
  • Unrealistic schedules.
  • Poor communication about changes.
Knowledge in Continuous DeliveryExperience with Deployment StrategiesSkills in Monitoring
Flexibility of ArchitectureAdaptability to ChangesIntegration with Existing Systems
  • Resources for Rollout Management
  • Infrastructure for Implementation
  • Security Regulations