The most recent DevOps Enterprise Summit (DOES) in October 2015 put the evolving IT practices of large organizations under a microscope. This growing focus on how DevOps can be applied to the massive, complex IT systems of these firms is, as The Wall Street Journal put it, a sign that DevOps has finally hit the big time.
The "green sprig" of enterprise DevOps
Looking back at some of the highlights of the DOES event on their The Cloudcast podcast, Aaron Delp and Brian Gracely talked about how DevOps is a fundamentally different undertaking for enterprises than it is for startups. One interesting image that they put forth during the show was of DevOps as a single "green sprig" within the relentless "lava flow" of traditional enterprise IT.
It's an odd and unsettling picture, perhaps, and one that implies that the procedural, cultural and technical innovations of DevOps are often doomed to failure because of the sheer inertia of traditional IT. More specifically, team leaders may want to ensure that certain standards are met and/or particular tools are used, practices which can clash with the DevOps emphasis on speed and agility.
Speed versus stability
This tension was explored in a June 2015 story in The Wall Street Journal, about how Netflix approached security in a DevOps world. The rapid pace of DevOps, with building, testing and deployment all rolled into a continuous process shared by devtest and ops, can be an issue for any process (such as security) that has in the past been staked on careful, time-consuming and predominantly manual work. Netflix addressed this problem by turning to automated tools such as Scumblr and Security Monkey that were optimal for its Amazon Web Services environments.
Of course, what Netflix (or Facebook or Google) can do on this front is a lot different than what the typical enterprise is capable of. Netflix's extensive use of AWS at the expense of anything else is a perfect case in point: Whereas the biggest name in video streaming can be cloud-first/cloud-only, numerous enterprise organizations are saddled with heterogeneous IT environments that feature a mix of legacy, physical, virtual and cloud assets. Automation is not assumed across the board.
Accordingly, the need to ensure the stability of the legacy portions of their environments (which in many cases still support mission-critical applications) take priority over the all-in pursuit of DevOps. This prioritization affects everything from how long apps take to update to what kinds of tools the organization's teams are allowed to use.
Delp and Gracely touched upon how the uptake of Chef, Jenkins and other stereotypically "agile" utilities is obviously out of step with the controlled processes that prevail in enterprise IT. At the same time, getting enough people around the organization to start using these tools can create critical mass and ultimately lead to some heightened degree of freedom for DevOps adherents, while still allowing for audits and oversights. The key to striking this balance, they suggested during the show, may be to settle on a set of common tools as well as a cloud orchestration solution, and leave the actual speed of the DevOps initiative up to organizational discretion. This approach can remove the "speed versus stability" dichotomy and lead to environments that are more agile yet capable of supporting many types of infrastructures, tools and methodologies.
DevOps and hybrid cloud in the enterprise
If DevOps is indeed a green sprig of hope threatened by an inexorable lava flow of age-old enterprise IT practices - replete with its 18-month cycles and 5-hour maintenance windows - then it needs help in gaining traction at large organizations. IT and cloud automation tools such as QualiSystems CloudShell that are focused on DevOps rather than just production/operations can help significantly. This means addressing the need to rapidly bring up and tear down infrastructure sandbox environments and create rapid integrations with a wide range of tools and vendors.
"Hybrid cloud can complement DevOps."
Moreover, hybrid cloud architectures are often used to complement DevOps initiatives and ensure their sustainability. Cloud, agile and DevOps all go hand-in-hand, but with any DevOps-related effort there is the risk that DevOps will create a new silo around programmable infrastructure, leaving still-important legacy systems behind. A hybrid cloud helps enterprises steer clear of this problem, by letting them hold onto critical in-house infrastructure while still being able to take advantage of public cloud services as needed.
Within a hybrid cloud environment, it makes sense to centralize development assets and, as we noted above, to take up a common set of tools that will provide a foundation for the collaboration that is the bread and butter of DevOps. Enterprises are quickly warming to the potential of the hybrid cloud for DevOps in particular and business agility in general. The 2015 RightScale State of the Cloud Report found that 82 percent of enterprises had a hybrid cloud strategy in place, up from 74 percent the year before.
Where does DevOps go next?
Many enterprises are only getting started with their explorations of DevOps. All the same, the rapidly changing design of business applications (the most realistic use cases for DevOps, as Delp and Gracely pointed out) may force these organizations to take DevOps a step further into the realm of infrastructure-as-code (IaC).
David Linthicum examined the rise of IaC in a recent post for InfoWorld. Basically, IaC allows the platform to be configured for the application, rather than the other way around. This approach can help save costs and reduce the overall amount of IT overhead. It provides a potential way out of the time-consuming configuration management practices that have held many enterprises back, but it still represents the bleeding edge of IT practices.
"Is passing control of the infrastructure to developers a good thing?" Linthicum asked. "You bet. With the rise of DevOps and its tight coupling of developers and operations, the ability for developers to dynamically configure their deployment platforms via APIs is a better way to manage many applications and many platform instances."
The takeaway: DevOps has become an area of intense interest for enterprises, as they follow the lead of startups and hyperscale cloud-first organizations. There are natural, significant challenges to DevOps success within the enterprise, though, including the persistence of legacy systems (e.g., dedicated servers) and the presence of long, drawn-out processes that prioritize stability over agility. By turning to a cloud platform and DevOps automation tools, enterprises can find a viable path toward DevOps, one that enables them to address a full range of infrastructure (legacy, physical, virtual and cloud) while still keeping their eye on new approaches to application development that emphasize flexible platforms and APIs.