Deployment patterns: Difference between revisions
From Freephile Wiki
first draft |
m minor rewording |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
== Classical deployment pattern == | ==Classical deployment pattern== | ||
[[File:Classic-deployment-pattern.png|600px|right|Dev -> Test -> Staging -> Production]] | [[File:Classic-deployment-pattern.png|600px|right|Dev -> Test -> Staging -> Production]] | ||
In a classical development and deployment environment, (monolithic) software moves in stages between environments culminating in a | 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. | ||
[[File:Dump truck in Acre, Brazil (cropped).jpg||600px|right|Dump truck in Acre, Brazil]] | [[File:Dump truck in Acre, Brazil (cropped).jpg||600px|right|Dump truck in Acre, Brazil]] | ||
== Modern deployment patterns == | ==Modern deployment patterns== | ||
In a Continuous Delivery environment, where testing is encouraged in | 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 | * Blue-green deployments | ||
* Canary releases | * Canary releases | ||
* Dark launching | * Dark launching | ||
* A/B testing | * A/B testing | ||
* Progressive exposure or ring-based deployment | * Progressive exposure or ring-based deployment | ||
* Feature toggles | * Feature toggles | ||
[[Category:Continuous | [[Category:Continuous Delivery]] |
Latest revision as of 12:15, 31 January 2024
Classical deployment pattern

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.

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