Electric Cloud Automates Rolling Deployments for Zero-Downtime Updates
Electric Cloud wants to free up deployment teams’ weekends by eliminating the heavy scripting and manual steps involved in releasing new software.
The latest feature for its ElectricFlow release automation software is rolling deployments with the push of a button, allowing customers to choose the deployment strategy — including rolling, blue/green, canary — that suits them best.
“We’ve heard about the Facebooks, the Etsys, the Twitters, the unicorns, all the wonderful stuff they do in how they deliver software,” said Anders Wallgren, Electric Cloud chief technology officer.
“They’ve been able to do that through massive amounts of resources. They’ve spent many years building these bespoke systems to very efficiently push software into production through their delivery pipelines. We’ve been focusing in the past few years on bringing those capabilities to companies that are not unicorns that don’t have the resources or capabilities to build these things from scratch.”
He notes that the latest State of DevOps report found that high-performing IT organizations deploy 200 times more frequently than low performers, and the industry overall has a poor record in achieving the imperative of releasing software faster.
Its customers are large enterprises, including Qualcomm, Lockheed Martin, Huawei, Cisco, GE, and Gap. Manuel Edwards, systems engineering manager at E-Trade, spoke at DevOps Enterprise Summit (DOES15) about how Electric Cloud helped his organization speed up the build, test and deploy cycles by 12X.
“Companies are telling us they need to do a zero-downtime deployment. They can’t afford to take down their website to do a deployment. They’re growing in scale and having difficulty deploying all the software they need to in the timeframe or the capability to do it,” Explained Wallgren.
Many companies still do deployment through scripts, along with Excel spreadsheets painstakingly documenting the hundreds of steps involved in the process.
“They get 15 people on the phone on a Friday or Saturday night trying to deploy software through very error-prone, slow manual processes to deploy software. From a competitive point of view, that doesn’t work anymore,” Wallgren said. “If you’re only able to deploy software every month or three or six months and your competitors deploy 10 or 100 times more frequently, that’s a massive competitive disadvantage.”
The rolling deployments feature allows teams to “practice” deployments in QA, staging and pre-production environments so full rollout isn’t the first time it’s been done, making them more reliable.
It allows teams to model the deployment, group resources either automatically or manually, and define the order of phases, then execute them automatically or manually.
You can choose phases with targeted handpicked machines to be part of certain groups, roll out with specified batch sizes — say two machines at a time — or by percentages, or determine which machines to use per phase.
You can skip phases, change the order or insert manual or automatic validations.
The company has a bank customer that by the end of 2017 is looking to do 3.2 million deployments per day in a two-hour time window, according to Sam Fell, Electric Cloud senior director of product marketing.
“Think of the savings from moving from manual processes for doing 3.2 million deployments in different environments and the chaos of trying to manage what is where, what versions are running where, what dependencies are not being met. Just taking all that worry away from the ops teams so they can enable the dev and QA teams can do what they need to do from a testing perspective. And knowing the fidelity of those artifacts, the fidelity of those environments and processes, so that when they promote that to production, it’s not some brand new thing that they’re trying for the first time. It’s something that’s been practiced,” he said.
“We’re bringing that same sort of mentality to these deployment strategies on top of the deployment processes,” he said.
Picking up the Pace
The company itself is releasing new versions about once a month, Wallgren said.
The latest version of ElectricFlow with rolling deployments is now available through an invitation program and will be generally available in August. Its other new features include environment calendaring to reduce team scheduling conflict; automated environment discovery, which automatically populates resource and environment parameters with a new extensible plug-in architecture; visualization of dependencies.
The 14-year-old company, based in Sunnyvale, Calif., about three years ago changed its focus from continuous integration to the “last mile — how do you release software,” according to Fell.
“We started focusing on ‘how to we make this easy for ops people to accept this pace?’ You don’t have to give up that compliance or velocity. It’s to help ops people get more comfortable, the legal and security teams, the finance teams get more comfortable with the faster pace of delivery,” he said.
ElectricFlow is available for testing in a free community edition for OS X, Linux and Windows, and runs on VirtualBox.