From CI to CD – Sometimes It’s the Simple Things

Andy McGrath Coaching, DevJam News

Helping teams as a coach is sometimes as simple as making them aware of practices and techniques they don’t know, often because they’re too busy getting work done to stay current with newer practices and techniques. At times, even simple things can make their world a whole lot better.

Helping a Team Reframe a Problem

I recently had an experience where I was able to quickly introduce teams to a blue/green deployment model to improve their production deployments. The teams were great to work with. They were open to new ideas and they worked well with each other. If anything, they were victims of their own success. They had come to a point where they were delivering frequently, but they didn’t have an easy way to roll out changes.  Upgrading production meant bringing down systems, disrupting clients, and having developers work late into the night during ‘change windows.’

Seeing this pattern, I decided to dig into it with some of the team members. I asked them about their constraints and what they had already tried.

These conversations eventually lead to a discussion with their engineering director. He mentioned a huge constraint was data (terabytes worth). In addition to that hurdle, he had talked with his teams about building a parallel environment, but they didn’t want the DNS propagation of the live environment to cause bad experiences for their clients.

We talked about what would happen if the volume of data and the DNS propagation weren’t issues.

I mapped out a simple strategy using a load balancer with a blue ‘live’ environment and a green ‘internal environment.’ We could test the green environment with local access and then make the cutover at the load balancer.

There would be no impact to DNS…could this work?

Two Weeks Later…

The team leaped at the opportunity and two weeks later the load balancer was in place. Now they can roll out deployments during the day, validate them, and do a quick, seamless cutover.  Considering the developer hourly rate, the cost of the load balancer was recouped after one deployment. Not to mention how much happier the teams were.

Sometimes as coaches we don’t need the flashiest solution, we just need to focus on the simplest thing that will work within the current constraints.