How DevOps Can Accelerate the Cloud Application Lifecycle
In the past, infrastructure deployment and application updates both slowed the development lifecycle. Now that cloud computing lets organizations provision resources in minutes, not months, it's time to alter the application lifecycle accordingly. DevOps can help -- but only if it extends beyond 'culture change' to actually achieve continuous deployment.
Tue, February 11, 2014
CIO — As I wrote in my last column, it's clear that cloud computing enables, and imposes, enormous change in applications. In that article, I focused on the technical changes cloud computing is forcing on application architecture — all designed to support the increased scale and load variability, higher performance expectation and changed pricing that cloud computing imposes.
What I didn't address was another traditional application assumption that cloud computing is upending: The application lifecycle. Specifically, the cloud requires a significantly faster rhythm of application management, which will impose change on IT organizations.
On the face of it, it may not be obvious why the technical capability of cloud computing would transform IT organizations and their processes. However, the critical foundation for the technical capability that cloud computing offers, automation, also requires accelerating the application lifecycle.
Cloud Computing Puts Onus on Organization, Not Its Infrastructure
In the past — that is, before cloud computing — a leisurely pace of application feature creation and roll out wasn't a big issue. There was tremendous friction in the underlying resource infrastructure process, such that it was impossible to imagine quickly improving application functionality and making frequent updates to production environments. It took so long to obtain, install and configure infrastructure that slow-moving application development and deployment wasn't perceived as the biggest problem IT faced. Put another way, infrastructure friction outweighed application friction.
Cloud computing's automation removes all that infrastructure friction. Today it's trivial to obtain new computing resources in minutes, enormously faster than the weeks (or months) it used to take to get new infrastructure resources available. Today it's clear that lengthy infrastructure provisioning timeframes are imposed by organizational process, not the underlying infrastructure resource itself.
At the same time, the increasing integration of digital information into mainstream business offerings, such as the Internet-connected Nest thermostat, means that operating parts of the business demand faster application functionality availability. With the removal of infrastructure friction, the primary impediment to this is the application lifecycle itself. Consequently, we can expect the next dislocation caused by cloud computing to be within the application development and deployment process. Simply put, IT must make the application lifecycle faster.
[ Analysis: SDN Adoption Puts DevOps Pros in High Demand ]
[ Commentary: How Cloud Computing Changes Enterprise IT Economics ]
That's where DevOps comes in. A portmanteau that mashes up "development" and "operations," DevOps symbolizes the combination of formerly separate organizations and processes. The vision standing behind the word is one of streamlined, integrated organizations that speed application updates through a joined-up process, enabling changes to be rolled out in hours or days, instead of weeks (or months).
But how does that magic DevOps stuff happen?