
I'm sick of seeing a picture of a cloud every time someone talks about "cloud services." So here's a picture of a T-Rex instead.
Clouds are big puffy white things that float in the sky. Some clouds look like little animal creatures. Other clouds just look like clouds. Sometimes water leaks out of them, and rain happens.
No, cloud computing has nothing to do with clouds, or anything in the sky for that matter. I think we just needed a new word beyond “Internet” and Web.” “Internet” is too geeky, and “Web” is too spidery. “Cloud” is vague and conveys something far away from us that we can’t quite grasp. Maybe clouds are just friendlier than spiderwebs. I’m not sure why “cloud” caught on so well, but the whole concept is essentially using other people’s computers to do our bidding via web services. These people charge us by the hour to use their computing power, and we rely on them to scale and not fail.
There are quite a few services available now, but the big three you should probably know about are Amazon, Google, and Microsoft. Amazon started the whole trend and offers the most wide array of services. Google offers one specific service for cloud hosting (although you can arguably say that almost every Google product is a “cloud service”), and Microsoft is the one getting the least attention, but their strength in the business world may end up making their services the most widely used.
Amazon
I think it was Amazon who really popularized the whole “cloud” trend, and considering their extensive page of services, it looks like they have a pretty big presence in this realm. Ironically enough, out of the three, Amazon is the one whose services I know the least about. I just haven’t gotten the opportunity to look into what Amazon has to offer.
From what I know, three popular services they offer are Elastic Compute Cloud (EC2), SimpleDB, and Simple Storage Service (S3). EC2 gets at the heart of cloud computing: You literally pay for computing power. SimpleDB is a database in the cloud, and S3 is for more basic data storage needs, like simply storing images and videos.
As with any cloud service, the advantage to using them is that you let someone else deal with the overhead of managing and scaling, while you just worry about what really matters: getting things done. Instead of spending time setting up servers, planning for failure scenarios, and worrying about scaling from 10 users to 10,000 users, all I have to do is pay Amazon some fee per hour or month, upload my data, and I’m good to go.
Most of Google’s products exist “in the cloud,” but I’m going to ignore that for now. Gmail, Google Calendar, Docs, etc.—they don’t count. Yes, those products are Software-as-a-Service, but I’m really focusing on the whole “cloud computing” and “hosting in the cloud” thing for now. So, when you narrow it down, Google has one: Google App Engine.
Out of the three companies I’m mentioning, Google’s service is the only one I’ve actually played with. On one hand, Google’s at a disadvantage because their offering is the most generic. Both Amazon and Microsoft offer services that let you specifically utilize computing power, or specifically utilize data storage, etc. App Engine is just a place online where you can host Java and Python apps. Granted, you could, for instance, make an app that lets you utilize Google’s data storage mechanisms, but it’s more work and indirect than Amazon or Microsoft’s offering.
The biggest treat Google gives you in comparison to the other two, however, is that App Engine is free. There’s no cost to developing on App Engine. However, this is only useful if you’re like me and just want to use it to host small apps. If you want to do something enterprise-level, you’ll want to purchase additional resources for your App Engine app.
Microsoft
Amazon made their EC2 and S3 services very popular. Google’s App Engine is free, which automatically makes everyone use it and talk about it. That leaves Microsoft. Don’t feel bad if you haven’t heard of their cloud offerings before; it wasn’t until a few months ago that I first heard of what they were doing. It’s called Windows Azure.
Windows Azure seems somewhere in between Amazon’s and Google’s strategies. They offer more services than Google, and like Amazon, they have specific solutions for each computing need. There’s Windows Azure itself, which is essentially like Google App Engine. A downside is that Azure isn’t free to use. However, if you’re a .NET developer, you get to enjoy all the goodies that Microsoft has to offer by joining their technologies together. Moving an ASP.NET app to Windows Azure can be simple as editing a few Web.config files. There’s also SQL Azure, and I bet you can guess what type of service that is: basically, SQL Server in the cloud.
Wrapping it up
I know this post wasn’t very informative, but it wasn’t to teach you how to use any of those cloud technologies; it was to let you know that they exist, and to point you in the right direction on where to get more information. If you want to give cloud services a try, then sign up for a Google App Engine account (it’s free). Look at Windows Azure and see if what they offer may help your business reduce costs and scale their websites. Don’t forget to check out Amazon’s plethora of services and see if any of them are a right fit for you.
Photo by scottkinmartin