Deployment patterns

From Freephile Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Classical deployment pattern

Dev -> Test -> Staging -> Production
Dev -> Test -> Staging -> Production

In a classical development and deployment environment, (monolithic) software moves in stages between environments culminating in a release like a dump truck delivering a load of dirt. If you're delivering software this way, it's a complete misnomer to call this a feature release. Instead, it is a new "version", with a whole bunch of new features, bug-fixes and changes bundled together.

Dump truck in Acre, Brazil
Dump truck in Acre, Brazil

Modern deployment patterns

In a Continuous Delivery environment, where testing is encouraged in Production, changes are not delivered in a "big bang" or by the truck-load. It's possible to deploy features without exposing them to all users and to deploy them as discreet enhancements.

Modern deployment patterns in a Continuous Delivery environment include:

  •    Blue-green deployments
  •    Canary releases
  •    Dark launching
  •    A/B testing
  •    Progressive exposure or ring-based deployment
  •    Feature toggles