A Cloud Computing Primer
The DEMO conference may not be the stellar event it with once was, but its still a good indicator of the computing zeitgeist. At least week’s edition in Santa Clara, CA, it was pretty clear that the tech world is still buzzing about clouds. As a result, anything with online components–and that is pretty much everything–is being billed as a service in the cloud. It’s time to take a look at what the cloud is, and isn’t.
Even if we try to be fairly rigorous about the meaning, its clear that the term “cloud computing” refers to two very different things. One, which I will call the personal cloud, refers to services provide both online storage and allow you to sync content to local storage on multiple, diverse devices. And What I’ll call the infrastructure cloud provides flexible, remote computing capability as a service to companies.
The personal cloud has been around for a long time in various forms. Email has functioned as a cloud service since the development of the POP3 and IMAP protocols. But lately we have seen enormous growth in generalized clouds that provide storage and syncing with various degrees of integration into desktop and mobile apps: DropBox, SugarSync, Apple MobileMe/iCloud, Microsoft SkyDrive, and the imminent Google Drive are all examples of such services.
The services are going to become increasingly important as personal computing shifts from PCs with abundant local storage and often limited connectivity to tablets and other mobile devices with very limited storage and no real file system but ubiquitous connections. And the limited processing power of mobile devices argues for greater apps in which much of the computational load is carried by a server. These apps are sometimes called cloud computing, too, though the more traditional “web services” is probably a better description.
The infrastructure cloud is a very different beast. It’s what allows organizations,from startups to large enterprises, to do their processing on someone else’s computers,adding and shedding capacity as needed and paying only for what you use. It has been particularly revolutionary for startups, since it lets them both provide services without any capital investment and to scale very rapidly if their offering takes off.
The infrastructure cloud exists in three forms, though the divisions between them are not always very sharp. Infrastructure-as-a-Service (IaaS) offers basic servers, set up with your choice of operating system, storage, and connectivity. Amazon Web Servicesi s the best-known purveyor of IaaS, especially with its Elastic Cloud Computing (EC2) and Simple Storage Service (S3). You pay Amazon for the number of virtual servers you use (with different charges for varying amounts of processing capacity), your storage, and the amount of data you move in and out of the system, with additional charges for added services, such as load-balancing.
Platform-as-a-Service (PaaS) moves a step up the software stack. Instead of a bare server, you get a system provisioned for a specific platform. well known examples are Microsoft’s .NET-based Azure, Google’s App Engine, and Safesforce.com’s Force.com.
At the top of the stack is Software-as-a-Service (SaaS), which offers specific applications or clusters of applications. SaaS is not conceptually very different from familiar Web apps such as Gmail, but on an enterprise scale. Leading examples include Google Apps for Business and Salesforce.com’s cloud-based customer relations management software.
Cloud services are hot right now, but they aren’t the solution to all business technology problems. They are terrific for startups, which typically are cash-poor and need to minimize capital expenditures. They also have great advantages for companies that need to meet highly variable demand or need to scale rapidly. Investing in a server infrastructure designed to meet peak demand but then sits idle much of the time is generally a bad way to allocate your resources.
On the other hand, many companies are not comfortable trusting all of their data to third-party hosts, or may face legal or regulatory restrictions in doing so. Some folks just want to have control over their own systems. and at some point of scale, the economics often tip in favor of running your own servers.