Every retailer in Retailville loved the holiday shopping season a lot.
But the Grinch of continuous delivery and DevOps most certainly did not!
Last month, several retail giants including J. Crew, Lululemon, and Lowe’s suffered major website outages that left a taste in the mouth’s of customers as bad as Aunt Bethany’s Jello mold. Surely these companies knew well in advance about the level of website traffic headed their way, since it is on the same day each November — right?
So was it a planning snafu or was the Grinch to blame this holiday season?
While many have guessed, no one quite knows the reason.
But it’s safe to assume the most likely reasons of all
Is the time spent on a backup plan, continuous testing, and anticipating failure was too small.
Too often, companies will sacrifice reliability for speed and predictably and it comes back to bite them at the most costly moment. In the case of the aforementioned retailers, it was Black Friday. A major e-commerce website going down during the busiest online shopping time of the year due to “high demand” seems to be an alarming, yet consistent trend each year. With many “ghosts of Christmas past” examples to learn from, companies still have trouble avoiding similar problems. Enterprise releases and deployments are complex and their impact is far reaching. Trying to handle them manually increases risk and unpredictability in your processes. So what are the secrets to stopping the Grinch from stealing your continuous delivery and DevOps joy?
Better Control and Visibility
The speed at which modern enterprise releases and deployments operate requires DevOps teams to have full control and insight into their systems. This is vital to helping reduce potential site issues. And, with so many hands in the cookie jar, implementing compliance and auditing provides the needed visibility into the history of any release at each step of the process. Business leaders need to be able to determine whether code received 100% of the required testing and/or security validation. The end result is your systems have fewer issues at any given time. Why? Comprehensive testing coverage helps you discover those nasty little bugs and fix them faster.
Building, testing, and deploying software manually means error prone handoffs. On the other hand, when only a few teams implement scripts to automate part of their process, these kind of scripts are difficult to share and if you thought you could easily make them portable to other projects and environments, think again. Ideally, you want code commits to immediately launch your processes that will then automatically compile and test any changes. The benefit? Teams can now focus on development with the full confidence that the automation put in place ensures their code is always ready for prime time.
Keep IT Boring
Because releases have evolved to become so massive and highly complex, it is not easy to roll back to older versions when a problem pops up. This means that the bugs can do some serious damage when it comes to how long the problem lasts and their overall impact. The solution is implementing a process where environments contain releases that have fewer integration points and code branches. This makes them simpler and takes away the headache of implementing them. Additionally, when changes and variables require attention you can roll back your releases quickly and easily.
And what happened then…?
Well…our hope is they’ll say
That DevOps and continuous delivery grew for companies three sizes that day!
Learn more about how continuous delivery and release automation can help boost DevOps productivity and fuel business results with ElectricFlow.
Have a happy, healthy, and prosperous holiday season!