Deployment Strategy

Deployment strategies describe how we handle the release of the new code to an environment. Each has it's different use case, pros and cons.

Here is a (non-definitive) list of deployment strategies:

  • Recreate Deployment StrategyRecreate Deployment Strategy
    Recreate [[Deployment Strategy]] is a very simple strategy to set up. Here is how it works:

    you first terminate version A
    once that is done, you roll out version B

    The advantage of this appr...
  • Rolling Update Deployment StrategyRolling Update Deployment Strategy
    Rolling Update is a [[Deployment Strategy]] (also known as Ramped or Incremental), where we slowly replace version A with version B.

    How it works

    before we start, we have 2 instances of A runni...
  • Blue Green Deployment StrategyBlue Green Deployment Strategy
    Blue/Green is a [[Deployment Strategy]] where version B is deployed alongside version A, after which the traffic is switched from A to B.

    How it works

    before we start, we have 2 instances of A ...
  • Canary Deployment StrategyCanary Deployment Strategy
    Canary is a [[Deployment Strategy]] where we gradually shift traffic from version A to version B. This is usually done via weighted load balancing (e.g., 90% traffic to A, 10% traffic to B).

    How i...
  • AB Testing Deployment Strategy
  • Shadow Deployment Strategy

Status: #🗺️