An intriguing report from Forrester Research, Cloud Keys an Era Of New IT Responsiveness and Efficiency, outlines how IT organizations will adopt and control cloud computing going forward. It presents a number of recommendations that every IT shop should take to heart.
The report breaks down into two areas:
- What's going on with applications and software engineers
- How IT infrastructure and operations should respond so that the overall business gets what it needs from cloud computing.
While there is some sobering news—that application developers love cloud computing and have no plans to go back—there are also some practical solutions for Infrastructure and Operations (I&O) departments.
Learn to Stop Worrying and Love the Cloud
The capabilities of cloud computing are now the benchmark for what software engineers expect. Public cloud computing—which, in this context, essentially means Amazon Web Services—enable rapid resource access, high productivity and inexpensive development. Developers will avoid or evade anything that doesn't deliver that. In particular, this means many IT organization's plans to implement a private cloud need to be evaluated (or re-evaluated) in light of whether they meet the competition.
Forrester analyst James Staten can be quite scathing about the hobbled virtualization environments that some IT organizations seek to pass off as a private cloud. The salient point is that developers now have expectations of how things can be, and they're unlikely to be satisfied with something less capable. Another recent Forrester survey found developers largely indifferent to private cloud implementation efforts. Their attitude could be summed up as, "If it helps me do my job, I'll use it, but if it doesn't, I'll just stick to the cloud environment I'm already using."
Coercive efforts to force developers to use the "official" cloud are, of course, unlikely to be productive. Dont think of this as shadow IT going off on its own, either. Developers are being sanctioned in the use of cloud computing by the sponsors of the applications they're developing: the business units.
Is the Solution IaaS, PaaS—or Something Else?
One interesting finding in the report is what kind of development frameworks software engineers are looking for. The current, vanilla Infrastructure as a service offerings of virtual machines, storage and network connectivity don't just hinder high productivity. They also force developers to manage "plumbing" instead of devoting more focus to application functionality.
The "solution" proffered to address the too-simple, high-effort IaaS environments has been Platform as a Service. The logic is that a programming framework offers common services that free developers from details and rely on the framework to perform necessary tasks such as persistent data storage, identity management and the like.
The report shows great insight in discerning the problem with that approach. Frameworks are fine, as long as all you want to do is something the framework delivers. All too often, however, the application requires some functionality that the framework does not offer, and therefore requires direct access to lower-level capability. The high-productivity framework then becomes a set of shackles.
Forrester instead states that developers want a mix of capabilities—namely, services that liberate them from lots of grunt work while still allowing access to lower-level functionality as required. It's no accident that AWS offers a rich set of developer services, such as its Simple Queue Service, while still offering direct access to computing primitives to let developers implement or install capability outside of the services AWS offers.
The report notes that independent software vendors (ISVs) are getting into this game as well, building SaaS versions of their infrastructure products. Informatica, one such firm, now offers a cloud-based integration service that lets developers tie different applications together. The result is that enterprise applications are now becoming a rich stew—or, if you prefer a more technical term, composite collections—of self-developed code, cloud services and ISV-delivered functionality. Developers do more assembling than writing applications.
5 Things I&O Must Do to Control the Cloud
The report carries an unmistakable message: I&O must respond to these developer expectations or risk becoming obsolete. Its new charter, then, is to enable agility, not manage assets.
To that end, Forrester provides five recommendations to help I&O fulfill this charter:
Become a service organization. I&O now faces competition in the form of external cloud service providers, all of which are busting a gut to help developers. I&O needs to be just as responsive. My view on this is that I&O needs to streamline its approach and avoid its traditional custom service approach. While providing custom configurations appears highly customer-centric, it paradoxically imposes overhead on every transaction and causes tasks to stretch to intolerable timeframes.
Part of being a service organization is providing a rich development environment with access to important application services. I&O should look to create a portfolio of pre-approved SaaS vendors—companies such as Informatica that provide technical services over the wire—so developers can access their offerings immediately, with none of the overhead associated with negotiating contracts.
Create a service catalog. This is incredibly powerful. Instead of forcing developers to implement their application configurations from scratch, thereby run the risk of misconfiguring components or neglecting to apply critical patches, create preconfigured and patched images that developers can immediately access. Preconfigured images accelerate development and are highly attractive to developers. This incentive lets I&O ensure that applications run on approved configurations and on up-to-date versions. It's certainly more effective than a post-development audit.
Let EA designs patterns and developers consume them. Continuing in the theme of increasing developer agility while enabling consistency—and, of course, governance—Forrester recommends leveraging enterprise architecture to create application designs and patterns and making them available for development groups. This ensures a set of benefits, among them consistent use of approved components and application architectures, lower operating costs due to a more homogenous environment and better skill-sharing in the employee base. The more convenience drives developer adoption, the easier standardization will be.
Make costs transparent. A constant message from Forrester has been that the pay-per-use model of cloud computing is very attractive, provided you make sure resources are used effectively. Otherwise, costs are incurred without any benefit.
Unlike on-premises equipment in which an initial investment is made up front, pay-per-use incurs costs throughout the lifetime of the application. Forrester recommends making the costs of the application transparent to all parties. This lets developers design applications that can be scaled up and down according to load. Operations, meanwhile, has an incentive to operate applications efficiently.
Achieve application lifecycle agility via DevOps. Self-service for developers is attractive and certainly provides benefits, including greater engineering efficiency and happier engineers. Failing to achieve agility throughout the application lifecycle, however, means the business does not obtain all the financial and market responsiveness benefits that cloud computing offers.
Accomplishing lifecycle agility requires optimization and coordination among all involved parties. Even if you hate the term DevOps, you need what it aims to accomplish. Now that cloud computing makes resources available without delay, IT processes need to have their delays taken out as well. That's only going to happen when development and operations collaborate—which is DevOps by another name.
The logic of automation and agility that underpins cloud computing calls for completely rethinking existing processes, with an eye to making them as efficient as the provisioning of computing resources. The message of this report is that the rapid growth of cloud computing makes these process changes imperative. The development groups embracing the cloud aren't going to wait around.
Bernard Golden is the vice president of Enterprise Solutions for enStratus Networks, a cloud management software company. He is the author of three books on virtualization and cloud computing, including Virtualization for Dummies. Follow Bernard Golden on Twitter @bernardgolden.