Blue-Green Deployment
advancedDefinition
A way of releasing a new version of an app with no downtime. You set up the new version on a second, identical environment running quietly alongside the live one. Once it's tested and looks good, you flip all visitors over to the new environment in an instant. And if something goes wrong, you flip back just as fast.
In the wild
A booking site has its current version (call it 'blue') serving every customer. The team sets up the new version on an identical 'green' environment, runs their checks, and then flicks a switch: every visitor instantly lands on green. If errors start popping up, one more flick puts everyone safely back on blue.
More from DevOps & Deployment
Canary Release
A careful way to launch a new version: instead of giving it to everyone at once, you send it to a small group first and watch how it performs. If everything looks healthy, you let in more people. If problems show up, you stop the rollout before most users ever notice.
CI/CD (Continuous Integration / Continuous Delivery)
An automatic assembly line for software. Every time someone saves a change, the system runs the tests, packages the new version, and (if everything looks good) puts it in front of users: all without anyone clicking a deploy button. It catches mistakes early and lets teams ship updates many times a day instead of once a month.
Container
A neat little package that bundles an app together with everything it needs to run: the right tools, the right settings, the right helper files. Once it's packaged, the container will run the same way on any computer, which solves the classic 'but it worked on my laptop!' problem.
Deployment
The act of putting a new version of an app or website live so real people can use it. In modern teams, deployments happen smoothly and often, sometimes many times a day, instead of being big, risky events that take all weekend.
Docker
The most popular tool for building and running containers. Those neat self-contained packages that hold an app plus everything it needs. Docker is what made containers easy enough for everyday use; saying 'I containerized it' usually means 'I used Docker.'
Environment Variable
A setting handed to a program from the outside, instead of being baked into the code. It lets the same program behave differently depending on where it's running: for example, talking to a test database while you're developing and the real one in production.