Albert Einstein once said, "Life is like riding a bicycle. To keep your balance, you must keep moving." Turns out it's not just life that's like riding a bike; deploying applications in today's complex data center environments also requires a balance of momentum and equilibrium.
The notion of continuous motion -- or, more appropriately when applied to IT, continuous delivery -- is tied closely to the DevOps movement. It stems primarily from the need to continually roll out the increasing number of applications, and updates to applications, being passed over the wall by developers who have adopted agile as a primary methodology. To keep application deployments in what certainly appears to be perpetual motion, DevOps has adopted many techniques associated with agile, top among them automation, version and source control, and scripting.
Applying these techniques will deliver greater infrastructure stability, even as operations deploys applications at what might seem like a breakneck pace. At least, that's the expectation. InformationWeek decided to ask both application development/systems administration and network operations professionals whether DevOps is delivering. More than 450 people clicked into the survey; even though 25% were excluded because of lack of familiarity with the concept, that response shows there's interest. Of the 318 taking the survey, 204 are dev, 114 ops (full results of the survey will be released in December).
Most respondents anticipate or have realized at least some improvements in speed and stability. That's a difficult balance to achieve, given that increasing speeds generally equal degraded stability, regardless whether we're talking bicycle riding, NASCAR racing or application deployments.
That's likely because of the repetition inherent in the practice of DevOps. When you deploy or update an application only once a year, you're likely to be rusty with respect to provisioning and configuring all the moving parts in the infrastructure. But if you're executing those same processes frequently, they're very nearly at your fingertips all the time. You start to develop an intimacy that not only enables you to come up with refinements that improve efficiency (and thus increase speed even more) but makes it so you can consistently produce the same results over and over. And when those results are successful time and time again, you end up with a more stable environment despite a nearly constant rate of change.
In the survey, those saying they're not adopting DevOps cite inability to find business reasons or benefits. To them I say, how is a more stable infrastructure environment not a business benefit? Given the number of respondents who admit to application failures occurring on a regular basis, causing downtime and disruption, the more refined and polished the deployment process, the better for everyone involved -- especially the business.