I've been surprised at the way fairly traditional companies have embraced the cloud -- but don't always embrace the benefits. For most, the payoff has been relatively small and confined to the infrastructure layer.
The thing is, most of the benefits of IaaS (infrastructure as a service) have already been realized through virtualization, which during the last decade cut costs through the infrastructure equivalent of Conway's law. Every department wanted its own server or, worse, its own server farm. Virtualization provided those departments with the illusion of dedicated infrastructure, while at the same time enabling management to pool resources and centralize IT operations.
[ Which freaking PaaS should you use? InfoWorld helps you decide. | Stay on top of the state of the cloud with InfoWorld's "Cloud Computing Deep Dive" special report. | For a quick, smart take on the news you'll be talking about, check out InfoWorld TechBrief -- subscribe today. ]
This resulted in some great cost savings. Granted, the software was expensive -- I frequently heard people report that a VM cost 80 percent of its "metal" equivalent -- but those figures usually didn't count the ancillary costs. It was a pretty good deal.
Nonetheless, we often saw companies that had adopted virtualization deploy small virtual server farms by hand with no automation. Basically, it was the modern version of the IT guy with a stack full of floppies loading Windows on a bunch of machines.
Why IaaS is no panacea
Although the benefits vary based on the services offered, IaaS tends to be a small step up from in-house virtualization. Management in particular has a tendency to get all excited about the idea of "outsourcing to the cloud." Soon it becomes clear that maintaining cloud infrastructure takes nearly as much work -- plus, in many cases, special knowledge of a particular cloud service's peculiarities.
Most companies that have adopted Amazon's EC2 or other cloud offerings have merely ported their VM practices to the new system. If they were using automation before, then they're going with Puppet or whatever they previously worked with in the cloud. If they aren't, then it's bearskins and bone knives and step-by-step instructions.
For internal IT departments, this looks like efficiency, mainly because the procurement of software and hardware by itself is so political and time-consuming. In truth, there's really no reason for a human to touch repetitive system installation tasks -- in other words, pretty much all of them. While automating an installation stack with Puppet is a step in the right direction, if that stack is, say, Tomcat, then you're just reinventing your own PaaS.
Kick it up a notch with PaaS or SaaS
PaaS is a fully provisioned application development and deployment environment riding on top of a scalable IaaS your internal IT doesn't need to maintain. One indication of the value of PaaS is that most SaaS providers build their apps on one -- it's rare that the underlying structure isn't best off being PaaS at least on the application server layer.
The variety of PaaS offerings is stunning. We took a close look at six of them last year, but more have emerged since and they add to their functionality continuously.
Not that PaaS is a panacea, either. If you're throwing up a WAR file on a server that contains a packaged piece of software provided by an external vendor, it begs the question as to why they shouldn't just go ahead and maintain it for you SaaS style. With economies of scale, they should be able to get better at incorporating upgrades and migrations as part of their regular release cycle.
My main point: Let's all bark at least one more level up the stack in the name of efficiency! If you're hand-installing VMs on Amazon, at least start using Puppet. If you've reached some level of devops maturity, then take a good look at PaaS.
And for crying out loud, did you just write your own CMS? The world really needed another one of those. For commodity applications, turn to SaaS. As long as a SaaS app delivers the functionality you need, you'll raise yourself to the highest level of cloud efficiency of all.
This article, "The bare-bones cloud: Why bother?," was originally published at InfoWorld.com. Keep up on the latest developments in application development, and read more of Andrew Oliver's Strategic Developer blog at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.