Like many young data-driven companies, BuildFax decided in 2008 to host its construction data services on Amazon Web Services. But now, it's moving some systems to Google's new infrastructure-as-a-service (IaaS) offering, some to other cloud providers and some to its first in-house servers.
BuildFax's vice president of research and development, Joe Emison, says he was at first delighted with Amazon's low costs and pay-as-you-go model. But he soon wanted a choice of public and private clouds so he'd have the flexibility to get the best price, performance and disaster recovery options as his needs changed -- and as computing technology and the capabilities of IaaS providers changed.
"You can take advantage of the benefits of the cloud without locking yourself down to Amazon" -- or any other provider, he says.
That viewpoint is slowly gaining traction as the IaaS business model grows beyond serving only smaller organizations and supporting less-critical systems such as development and testing. But becoming cloud-agnostic requires new tools and mindsets: Users must design applications that can survive the unpredictability of the cloud, and they have to ensure proper security.
The Role of IaaS
In the alphabet soup of the cloud, IaaS is the service that gives customers the greatest access to -- and control over -- servers, storage and networks, with options that include a choice of operating system and drivers, says Andre Pino, vice president of marketing at CloudBees, a platform-as-a-service (PaaS) provider. But it also requires customers to do much of the "low level" work they do with in-house systems, he says, noting that users must, for example, dynamically update load balancers whenever clusters are modified.
PaaS, the next level up, provides frameworks of software and processes that ease application deployment.
The highest-level cloud option, software as a service (SaaS), provides a complete application over the Web. The "higher" a cloud service the customer buys, the less work its own staffers must do. On the other hand, those services cost more and customers who use them have less control over their systems and data.
IaaS remains most popular for applications that experience large and unpredictable spikes in demand, short-lived applications and applications that are built using Web technologies or designed to cope with the unpredictable latency of IaaS. By "bursting" temporarily into the cloud, compute or storage workloads can be moved into a lower-cost public cloud during peak demand periods as needed. One particularly strong market is made up of users who have extensive data analysis needs and tap cloud-based computing power for short, intensive analysis, says Ellen Rubin, vice president of cloud products at hosting company Terremark Worldwide. IaaS is less appropriate for applications with steady, predictable workloads, which can be less expensive to run in-house. It's also not recommended for applications that can slow down or crash if a server fails or a temporary jam slows the Internet.
Storage is a particular concern. While many customers use expensive storage area networks because they offer low and predictable latency, many IaaS vendors consider SANs to be a dangerous single point of failure and instead rely on disk that is direct-attached to servers. "With Amazon, using their block storage, sometimes it's milliseconds, other times hundreds of milliseconds, to get the same data," says Ken Pepple, vice president at Cloud Technology Partners, a Boston-based cloud computing consultancy. (Amazon declined comment for this story.)