Deployment patterns: Difference between revisions

From Freephile Wiki
m Text replacement - "Category:Continuous Deployment" to "Category:Continuous Delivery"
m minor rewording
 
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 "feature release" like a dump truck delivering a load of dirt.
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 "Production", changes are not delivered in a "big bang". It's possible to deploy features without exposing them to all users.
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.


For example:
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 Delivery]]
[[Category:Continuous Delivery]]

Latest revision as of 12:15, 31 January 2024

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