Skip to content

Instantly share code, notes, and snippets.

@rxgx
Created April 29, 2020 21:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rxgx/04981530c73c71e30b1cd66537021f4a to your computer and use it in GitHub Desktop.
Save rxgx/04981530c73c71e30b1cd66537021f4a to your computer and use it in GitHub Desktop.
Deployment strategies

How to incrementally introduce functionality to micro-service-based deployments:

  • add new thing to data source (if needed)
  • use new thing to backend
  • use new thing in client
  • remove old thing in client
  • remove old thing from backend (as all client nodes have upgraded)
  • remove old thing from database (if data source changed, as all backend nodes have upgraded)

How to incrementally introduce functionality to environment-based deployments:

  • add new thing to QA data source (if needed)
  • use new thing to QA backend
  • use new thing in QA client
  • add new thing to Prod data source (if needed)
  • use new thing to Prod backend
  • use new thing in Prod client
  • remove old thing in QA client
  • remove old thing from QA backend
  • remove old thing from QA data source (if data source changed)
  • remove old thing in Prod client
  • remove old thing from Prod backend
  • remove old thing from Prod data source (if data source changed)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment