Can a traditional enterprise, seeking to make itself into a digital business, really expect to operate at the speed of Netflix?
DevOps and Continuous Delivery of software are among the latest celebrated approaches to faster software development and deployment, following in the wake of virtualization, cloud, and Agile software development. These were one of the most celebrated topics at Interop, the technology trade show in Las Vegas that wrapped up last week.
Digital business is the notion that every business today needs to become more of a software business because businesses increasingly interact with consumers and with other businesses through digital channels, including websites and apps, as well as mobile and wearable devices. In addition to producing high quality software for these interactive experiences, digital businesses also need to put it into production faster, compressing the cycle of testing, staging, and deploying software, as well as provisioning additional server and network resources as needed to keep it performing well. Technologies such as virtualization simplify some of this, but automation and business process discipline are required to make it go faster.
DevOps is the idea that software developers and the operations teams who servers and networks need to be on the same team, coordinating their activities to allow more frequent releases of software code into production. Enterprises that embrace DevOps are essentially committing to act more like Amazon.com or Netflix, e-commerce businesses that push new code live on a daily basis. Maybe for an enterprise weekly would be close enough. That way, software changes gradually, with beneficial new features released sooner and those that don’t perform as desired removed or retooled more quickly – compared with a traditional release cycle where many new features are introduced at once.
That’s the related idea of Continuous Delivery. Together, they aim to apply the incremental and iterative aspects of Agile software development to the infrastructure of software deployment.
Another goal of DevOps is to give operations personnel a deeper understanding of software and the business goals it serves, while developers gain a deeper appreciation of how well their software performs in a production environment.
Andi Mann, VP Strategy in the Office of the CTO at CA Technologies, said a common theme he hears from customers such as AutoTrader who have worked with CA on their DevOps strategy is that “shared goals” between the developer and operations teams make a difference. When developers feel more responsible for making sure their software performs well in production, better performance tends to be the result, he said. Both groups of employees “start to care about the other team and what they do,” he said. “The more you measure the results, the better the results are.”
CA is promoting a set of products to support a DevOps strategy, for example with tools to encourage the development and sharing of application programming interfaces, or APIs. With stable APIs, code modules can be developed and updated more independently because they connect to each other to exchange data or perform joint functions according to well-defined rules. Compartmentalizing functions is important to controlling the complexity of ambitious software products.
Speaking at the InformationWeek Conference, a leadership event held at Interop, IW columnist Joe Emison questioned whether DevOps in the enterprise is for real. Emison is CTO at BuildFax, operator of an online service that provides insurers and mortgage lenders with condition reports on commercial properties, and an advisor to other technology-powered businesses. The systems management technology to support DevOps is still at a stage where it depends on IT personnel having the skills to write scripts to automate a required series of actions, and in most organizations those skills do not yet exist, he said.
“I think it’s mostly people doing it badly, managed by people who have no idea how it’s done,” Emison said. “Netflix does a great job of it with one application and geniuses,” he said, while most businesses must muddle through with fewer geniuses on hand and many applications to manage.
Toby Redshaw, another authority on IT strategy participating in the IW event, agreed enterprises may be only “occasionally” succeeding at DevOps but said they need to make the effort to learn. “If they don’t model DevOps, they have no chance of achieving the third generation of Agile,” he said, referring to the school of software development associated with improving the reliable delivery of quality software. DevOps plus good software architecture “is a fantastic combination,” he said.
My take: Just as with many other good ideas in computing that aim to boost flexibility and quality, DevOps is not magic. More organizations will adopt the buzzword than will adopt the best practices that make it worthwhile and powerful.
This article was written by David F. Carr from Forbes and was legally licensed through the NewsCred publisher network.