Rolling deployment vs smoke testing: Choosing a deployment strategy
Blog post from Unleash
Michael Ferranti's article discusses different software deployment strategies, focusing on rolling deployment and smoke testing. Rolling deployment involves gradually updating server instances or containers to ensure service availability and minimize deployment risk by limiting the blast radius of potential issues. This strategy offers built-in rollback capabilities and is effective for applications with load balancers. Smoke testing, on the other hand, is a validation strategy that runs critical tests immediately after deployment to verify basic functionality and catch major issues early. It serves as an early warning system and can trigger immediate rollbacks if critical failures are detected. The article also compares rolling deployment to other strategies like canary and blue-green deployments, highlighting their differences in risk management and traffic distribution. Feature flags are mentioned as a complementary tool that provides additional control over feature exposure during rollouts, further enhancing deployment resilience and recovery. Rolling deployment is favored for environments where continuous operation is critical, while smoke testing is best for significant changes or critical systems.