Rolling deployment vs kill switches: Choosing a deployment strategy
Blog post from Unleash
Michael Ferranti's article explores the advantages and disadvantages of rolling deployment and kill switch strategies for application deployment, emphasizing their roles in risk management, system availability, complexity, and recovery time. Rolling deployment involves gradually updating application servers in small batches, maintaining service availability and reducing deployment risks by allowing issues to be identified and addressed before a full rollout. However, it requires careful orchestration and may lead to temporary inconsistencies due to multiple versions running simultaneously. On the other hand, the kill switch strategy allows for immediate disabling or rollback of features, offering rapid response to production issues but potentially exposing all users to initial deployment problems. Feature flags enhance both strategies by providing fine-grained control over feature visibility and system behavior, allowing for sophisticated deployment patterns and rapid issue resolution. The article also compares rolling deployment with other strategies like canary and blue-green deployments, highlighting their distinct approaches to risk management, speed, and resource requirements, and concludes with the recreate deployment strategy, which involves complete service downtime but ensures no version conflicts.