Notes Deployment Strategies




Big Bang Deployment

  • Big Bang deployment is a software release approach where the entire system is deployed in one go, replacing the existing system entirely.
  • It involves high risk and disruption since all users transition simultaneously.
  • It requires thorough testing and preparation to ensure a smooth transition and rollback to previous version in case of deployment failure.

Rolling Deployment

  • Rolling deployment is a software release approach where updates are deployed gradually, with a subset of the system or users at a time.
  • It involves deploying the new version while keeping the existing version running.
  • It reduces the risk and impact of deployment by allowing for monitoring, testing, and addressing issues incrementally.
  • It enables a smoother transition, as updates are applied in stages, ensuring minimal disruption to the overall system.

Blue Green Deployment

  • Blue Green Deployment is a release strategy where two identical environments, “blue” and “green,” are maintained.
  • The blue environment represents the current production version, while the green environment is an exact replica of where the new version is deployed.
  • Traffic is initially directed to the blue environment.
  • Once the green environment is tested and validated, the switch is made, redirecting traffic from blue to green.
  • This approach allows for zero-downtime deployments, easy rollback, and quick recovery in case of issues, as the previous version is still available in the blue environment.

Canary Deployment

  • Canary Deployment is a release strategy where a new version of the software is deployed to a small subset of users or servers, known as the “canary group.”
  • This group receives the updated version while the rest of the users continue with the existing version.
  • It allows for testing and monitoring the new version in a real-world environment, ensuring its stability and performance.
  • If the canary group experiences no issues, the new version is gradually rolled out to the remaining
  • Canary + Rolling Deployment ensures the best results


Feature Deployment

  • Feature Deployment is a release strategy where specific features or functionalities are deployed to a subset of users or environments.
  • It involves enabling new features for a targeted audience while keeping the existing functionality intact for others.
  • This approach allows for incremental rollout and testing of new features, gathering feedback, and addressing issues before a broader release.
  • It offers flexibility, scalability, and the ability to iterate on features based on user feedback and requirements.
  • Feature Toggle can be used in combination with any other deployment strategies.

Reference :

This post is licensed under CC BY 4.0 by the author.