📖 Business
Deploy vs Release
Deployment and release are not the same thing, and conflating them is one of the most common mistakes in software delivery. Deployment means putting code onto production servers. Release means making features available to users. When you decouple these two acts, you unlock the ability to deploy continuously — pushing code to production multiple times per day — while controlling exactly when and how users see new functionality. This separation is what makes true continuous delivery possible without terrifying the business.
2
Minutes
2
Concepts
+45
XP
1
How It Works

The core distinction:

  • Deploy = code is running on production infrastructure (but users may not see it)
  • Release = feature is visible and available to users

Techniques for decoupling:

Feature Flags (Feature Toggles)

  • Wrap new features in conditional logic controlled by configuration
  • Deploy code with the feature hidden, enable it when ready
  • Can target specific users, percentages, or segments

Blue-Green Deployments

  • Maintain two identical production environments (blue and green)
  • Deploy new version to the inactive environment
  • Switch traffic from active to inactive in one operation
  • If something breaks, switch back instantly

Canary Releases

  • Roll out to a small percentage of users first (1-5%)
  • Monitor error rates, latency, business metrics
  • If healthy, gradually expand to 10%, 25%, 50%, 100%
  • If problems appear, roll back only the canary group

Dark Launches

  • Deploy the feature and run it in production, but don't show results to users
  • Useful for testing performance impact of new code paths under real load