BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
NEW YORK -- The bloom is off the DevOps rose, if ever so faintly.
The rush by some organizations to implement a DevOps mainstay, continuous deployment (CD), was skewered by Avishai Ish-Shalom, CTO at Fewbytes Technologies, an Israeli IT consulting firm specializing in cloud systems and automation. Ish-Shalom slammed organizations for deploying continuous integration (CI) and CD tools without the proper organizational structure in place, or for the wrong reasons, in a session here at O'Reilly's Velocity Conference.
Implementing CD (a close cousin of another CD, continuous delivery) can speed up the rate at which new code is delivered, first with quality assurance testing, encouraging teams to automate servers and builds, and eventually deployment. Things are going swimmingly, "until the system breaks, and nobody can get it back up," Ish-Shalom said.
"With CD, the processes that you put in place to help you introduce changes break your system more often, in a more disastrous way than before," Ish-Shalom said. "There's a lot of hype around continuous deployment, but no one is talking about the organizational and cultural implications," he said. "At the office, we call it continuous disaster."
For one attendee, the case against CD is more pragmatic: compliance. Providing both devs and ops teams with access to test and production systems can be a direct violation of some security regulations, for example Sarbanes-Oxley Act, said Chris Maier, principal architect for product shared services with managed cloud provider Rackspace. In such environments, developers are not allowed to have access to production systems, and ops teams don't have access to test and dev environments, in order to enforce a separation of concerns.
DevOps is still a very worthy goal, but just implementing the right tools and calling yourself DevOps doesn't cut it, said Rodrigo Campos, IT operations manager for Walmart.com Brazil.
"We had Chef, OpenStack, Docker and Git, so people would say, 'that makes us a DevOps shop, right?'" Campos said. In truth, "things were a mess, even though we had a DevOps team. The operations team dealt with legacy infrastructure, and the DevOps team was filled with superstar ninjas," he said, straining relations between the groups.
Campos said Walmart.com actually saw better results after it eliminated its dedicated DevOps team and replaced it with production management and production engineering groups that interface with the business and infrastructure teams, respectively, and where everyone takes ownership and responsibility for the success of the Walmart.com web site.
To get to DevOps, "we needed to change the mentality," Campos said. More than tools or even processes, Campos said his definition of a successful DevOps organization is one that is communicative, collaborative and transparent.