Let Us Define Cloud Computing

by Don Jones

The term cloud computing has become extremely overloaded as marketing experts seek to associate themselves and their products and services with this “hot” new term. So let’s put some definitions in place:

Cloud computing is, in many respects, a form of Web hosting. In a traditional Web host, you rent either a complete, dedicated server, or space on a server that hosts Web sites for many customers. The server typically provides some kind of Web server, such as Microsoft’s IIS or Apache. It often provides data storage, perhaps in the form of a MySQL database or a Microsoft SQL Server database. There is typically support for several different Web programming languages, perhaps including ASP.NET, PHP, Perl, Cold Fusion, and so on. The hosting provider usually includes a certain amount of bandwidth in your service, which is utilized when information is transferred to or from your Web site. There is also usually some amount of disk storage included in your plan, which is used to store your Web pages, database contents, images, and other content associated with your site.

The trick with this traditional kind of hosting is that you’re constrained to a single server. For example, suppose you start off with “shared hosting,” on a server that hosts Web sites for many customers. If your site outgrows that environment, you could opt for a “virtual dedicated server,” whereby you get a server that is shared by fewer customers. From there you go to a “dedicated server,” where your site is the only thing that server does.

From there, your site pretty much has to grow in one-server increments, and you have to pay for all of the servers all of the time, even during periods when your site isn’t busy. Designing and programming a multi-server Web site can be substantially more complicated than a single-server Web site; if your Web site starts to outgrow your single back-end database, then growing the site becomes even more complicated as you start having to scale that back-end database across multiple servers. Database server technologies like replication can help do that, but they can be incredibly complicated and difficult to maintain.

While the term “cloud” has long been used to generically refer to the Internet in general, and before that to any kind of centralized architecture (it was, for example, common to use “cloud” to refer to telecommunications carriers in frame relay setups and other telecom arrangements), the term “cloud computing” has come to mean something more specific. In a true cloud computing environment, such as Amazon’s Elastic Web Services or Microsoft’s Windows Azure, the hosting company provides you with the same basic elements of any Web host: A Web hosting platform, support for Web programming languages, disk space for your files, a back-end database, and bandwidth.

The difference is the cloud computing platforms don’t use traditional computer operating systems. They use customized, “elastic” operating systems that are designed to automatically replicate data across a worldwide infrastructure. The result is that the cloud provider can dynamically engage more resources, such as servers, storage, and bandwidth, as your site needs them. You don’t pay for all of that power unless you’re actually using it: Most providers charge you for actual bandwidth use, actual computing time used, actual disk space used, actual number of requests, and so on. So you pay for what you use, with the ability to dynamically expand to a massive, globally-distributed computing platform on-demand. Most providers also give you the ability to throttle your utilization, which can help you specify an upper limit on your costs for a given period of time by limiting the amount of resources your site can consume.

Cloud computing does not typically refer to hosted applications and services. For example, the popular Google Docs service is not cloud computing per se. It’s a hosted application, or “software as a service” (SaaS); it’s hosted in “the cloud,” and it may well be hosted on a “cloud computing” platform, but it’s running someone else’s application, not yours. Google isn’t (in this instance) selling you the cloud computing platform, they’re selling a complete application. The same applies to hosted services like a hosted Exchange Server or hosted SharePoint Server. Those services do not exhibit the “dynamic elasticity” of cloud computing; they’re merely hosted services. That doesn’t mean they aren’t useful or meaningful — they’re just not cloud computing.

You’ll also see the term private cloud, which is supposed to describe products that emulate a cloud computing architecture in a private, intranet environment. I dislike the term because no offering currently described this way offers the true on-demand elasticity of cloud computing.

Here’s a fundamental truth about cloud computing: In a true cloud computing environment, the provider, rather than you, invests in excess capacity to handle spikes and surges in demand. You only pay for the portion of their infrastructure that you are actually using at any given time; any excess capacity is made available to you automatically on-demand, but you do not pay for any computing capacity that you are not actively using.

Cloud computing, in a strict sense, does not simply refer to hosting a service “in the cloud” or on the Internet; a service only qualifies as cloud computing if it offers the dynamic, on-demand elasticity that I’ve described here.

There is, however, a fine line. For example, Amazon.com originally build their cloud computing architecture to support their own Web sites. That didn’t mean Amazon.com was selling cloud computing – they were still selling books and stuff. Now, however, Amazon specifically makes that platform and architecture available to host other people’s Web sites, which is selling cloud computing. SalesForce.com is another example: The company’s main product is a Web-based customer relationship management (CRM) application. When you buy that, you’re not buying cloud computing, although you are buying access to an application that is hosted on a cloud computing platform — a fine distinction. The company does, however, provide a platform whereby customers can write their own applications to run on SalesForce.com’s platform — and that is selling cloud computing. The distinction is that in cloud computing, you’re putting your applications and Web sites into the cloud, rather than merely consuming someone else’s applications.

 

About the Author

Don Jones has more than a decade of professional experience in the IT industry. He's the author of more than 30 IT books, including Windows PowerShell: TFM; VBScript, WMI, and ADSI Unleashed; Managing Windows with VBScript and WMI; and many more. He's a top-rated and in-demand speaker at conferences such as Microsoft TechEd and TechMentor, and writes the monthly Windows PowerShell column for Microsoft TechNet Magazine. Don is a multiple-year recipient of Microsoft's "Most Valuable Professional" (MVP) Award with a specialization in Windows PowerShell. Don's broad IT experience includes work in the financial, telecommunications, software, manufacturing, consulting, training, and retail industries and he's one of the rare IT professionals who can not only "cross the line" between administration and software development, but also between IT workers and IT management. Don is a co-founder of Concentrated Technologies, and serves as author and series editor for Realtime Publishers.

DOWNLOAD THIS BOOK NOW!

If you found this tip helpful, consider downloading the following book:

right-module-bottom
SIGN UP FOR OUR NEWSLETTER!

Sign up for our Realtime Nexus newsletters and book alerts and discover when new books on your favorite IT topics are available!

  • © 2012 Realtime Publishers
  • // Google Analytics Tracking