Blue-green deployment is a release strategy that maintains two identical production environments called "blue" (the current live version) and "green" (the new version being staged). Once the green environment is fully deployed and verified, traffic is switched from blue to green. The blue environment remains as an instant rollback target.
The main advantage of blue-green deployments is zero-downtime releases with instant rollback capability. If the new version has problems, switching traffic back to the blue environment is immediate. This approach also allows thorough testing of the green environment under production-like conditions before it receives real traffic.
The trade-off is that blue-green deployments require maintaining two full production environments, which doubles infrastructure costs during the deployment window. Database migrations require special handling since both environments may need to work with the same database schema. Monitoring both environments during the switch — and after — ensures the transition is smooth.