Determining the Best Cloud Computing Provider

by Don Jones

In the world of technology, best often means something like fastest, or most features. In the world of cloud computing, the situation can be a bit more complicated. Major cloud providers — Microsoft Windows Azure, Amazon EC2, Google App Engine, GoGrid, and so on — offer substantially different services. EC2, for example, is a Linux-based environment where you have root access and the ability to run pretty much any application you want. App Engine is also Linux-based, but is restricted to a limited Python language and a proprietary database back-end. Windows Azure doesn’t provide direct access to the operating system, supports SQL Server, and can use ASP.NET or PHP.

Amazon’s service is an unbundled offering. In other words, if you need Web servers, you launch virtual machines in their EC2 service. If you just want a place to dump data, you can put it in their Simple Storage Service (S3). There’s a sort of database built on S3 as well. Your application elements can communicate using a message-passing programming interface called Simple Queuing Service (SQS). Everything is open to the Web and accessible as a Web service, and Amazon provides ample documentation. Everything tends to be managed from a Linux command-line, however, so if you’re not comfortable in that environment then you’ll spend a lot of time in the documentation looking for syntax examples. Amazon works by essentially giving you one or more Linux-based virtual machines; they move those VMs around their physical servers as needed to give you the computing capacity you require. When you begin to exceed a single VM’s capabilities, you can spin up another to take some of the burden. You’re essentially creating a traditional Web farm, but there’s an abstraction between the VMs you have control over and the physical hardware on which they run.

App Engine is pretty different. While you can run any application you want, it has to be written in Python, and Google offers a modified version of Python that has some features removed to help address potential security issues. Data can only be stored in Google’s back-end database — there’s no writing files on the Web server, for example. Weirdly, App Engine currently requires you to link your account to a cell phone, and it tests that cell phone number by sending a text message to it. This is probably done to help prevent scammers, but it’s an odd step for a business-focused service. App Engine right now is well-suited for fairly lightweight, Python-based applications, which certainly limits the flexibility of the offering.

Windows Azure is, again, pretty different. You’re essentially uploading a Web application — both ASP.NET and PHP are supported — to the Azure hosting platform. It takes care of replicating your content so that it can be accessed by any number of Web servers. Essentially, you’re always running on a “Web server farm” with Azure. SQL Server (called Microsoft SQL Azure Database) is available for storing data. You don’t get a dedicated virtual machine as you do with EC2; you never really get any insight into how many servers are running your Web application, nor how many other customers might be sharing time on “your” servers. From your perspective, it’s basically one gigantic server that everyone shares time on, and that gets bigger as needed. The SQL back-end scales, too, magically replicating your content so that more “SQL Servers” can serve it up as needed, although again you’ll never know how many servers are handling your database nor what other customers might be being served by those same servers.

Which of these — or any other cloud provider — is “best” depends entirely on your needs and your willingness to fit into a particular provider’s business model.

 

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