I’m still trying to wrap my head around the networking/loadbalancing aspect of blue green.

Yeah man, I think with a roundrobin system or a server pool it would work best. You can introduce one or two from the new stack while taking away servers from the other stack. Or just add a handful of new servers to the pool. Testing prior to switching is viable, too, then you just point the Green DNS at Blue.

We have a service called overseer that runs on an instance in the VPC for our environment. That scripts adjusts ASG target numbers and LB targets.

We have ASGs for frontend and backend everything, then for each of those, we have A and B. (blue and green)

A new environment will see A with our target of 3-5 (depending on prod or dev) workers on the ASG. When the worker instances spin up, they ping the overseer that tells them to pull in the latest docker containers and spin up the services for that specific environment.

When we switch, we just tell overseer to crank up the B ASGs. When they are up, (and updated) overseer changes the ALB targets and soft-kills the A workers. We have a large environment, so the whole process takes about 30 minutes, but we really only have approx 15 seconds of downtime, so it’s pretty much imperceptible to end users.

I would love to share code and whatnot, but I’m not sure my NDA would allow that.

When we switch, we just tell overseer to crank up the B ASGs. When they are up, (and updated) overseer changes the ALB targets and soft-kills the A workers. We have a large environment, so the whole process takes about 30 minutes, but we really only have approx 15 seconds of downtime, so it’s pretty much imperceptible to end users.

That is really badass. I think you are utilizing the power of containers more than most. I’ll try and think of questions and send them your way.

For those of you that listened to the episode, any pros, cons, neutrals?