
Rolling Update (or ramped or incremental)
Version B is slowly rolled out and replacing version A

Recreate
Version A is terminated then version B is rolled out. When no requirement for zero-downtime

Blue-Green
Version B is released alongside version A, then the traffic is switched to version B

Canary
Version B is released to a subset of users, then proceed to a full rollout

A/B Testing
Version B is released to a subset of users under specific condition. Test multiple versions of an application simultaneously (who’s performaing best?)

Shadow
Version B receives real-world traffic alongside version A and doesn’t impact the response
