Files
system-design-101/data/guides/kubernetes-deployment-strategies.md
Kamran Ahmed ee4b7305a2 Adds ByteByteGo guides and links (#106)
This PR adds all the guides from [Visual
Guides](https://bytebytego.com/guides/) section on bytebytego to the
repository with proper links.

- [x] Markdown files for guides and categories are placed inside
`data/guides` and `data/categories`
- [x] Guide links in readme are auto-generated using
`scripts/readme.ts`. Everytime you run the script `npm run
update-readme`, it reads the categories and guides from the above
mentioned folders, generate production links for guides and categories
and populate the table of content in the readme. This ensures that any
future guides and categories will automatically get added to the readme.
- [x] Sorting inside the readme matches the actual category and guides
sorting on production
2025-03-31 22:16:44 -07:00

1.9 KiB

title, description, image, createdAt, draft, categories, tags
title description image createdAt draft categories tags
Kubernetes Deployment Strategies Explore Kubernetes deployment strategies for seamless application updates. https://assets.bytebytego.com/diagrams/0247-kubernates-deployment-strategy.jpeg 2024-03-07 false
devops-cicd
Kubernetes
Deployment

Kubernetes Deployment Strategies

Each strategy offers a unique approach to manage updates.

Recreate

All existing instances are terminated at once, and new instances with the updated version are created.

  • Downtime: Yes
  • Use case: Non-critical applications or during initial development stages

Rolling Update

Application instances are updated one by one, ensuring high availability during the process.

  • Downtime: No
  • Use case: Periodic releases

Shadow

A copy of the live traffic is redirected to the new version for testing without affecting production users.

This is the most complex deployment strategy and involves establishing mock services to interact with the new version of the deployment.

  • Downtime: No
  • Use case: Validating new version performance and behavior in a real environment

Canary

The new version is released to a subset of users or servers for testing before broader deployment.

  • Downtime: No
  • Use case: Impact validation on a subset of users

Blue-Green

  • Two identical environments are maintained: one with the current version (blue) and the other with the updated version (green).

  • Traffic starts with blue, then switches to the prepared green environment for the updated version.

  • Downtime: No

  • Use case: High-stake updates

A/B Testing

Multiple versions are concurrently tested on different users to compare performance or user experience.

  • Downtime: Not directly applicable
  • Use case: Optimizing user experience