Cloud Storage, Cloud Syncing, Cloud Backups, and Cloud Apps (broadly defined) constitute the major categories of cloud services most consumers will care about. But just to broaden your horizons a bit, I want to mention a few other wispy fringes of the Cloud that even you, as an ordinary non-geeky individual, might find interesting.
Way back when, I signed up with a Web hosting service, and my personal Web site sat on a server with dozens of others. At a certain point, I decided I wanted more control, so I moved my site onto a Mac in my home office. But that didn’t have enough bandwidth or a reliable Internet connection, so I bought an Xserve (remember those?) and rented space, power, and bandwidth for it in a rack at a data center (that’s called colocation, in the lingo). After a few years, the Xserve started acting up, and I decided I had better things to do with my time than babysit my own server hardware. But I still wanted more control and flexibility than I could get with shared Web hosting. So I signed up for a virtual private server (VPS) account at a company called Linode.
As I explained in What’s with the Weird Cloud-related Acronyms like SaaS, PaaS, and IaaS?, a virtual private server is an example of IaaS, infrastructure as a service. I’m renting a virtual machine running Linux. That virtual machine, in turn, is running on a cluster of servers that also hosts numerous other such virtual hosts. I can do anything with my virtual machine, including turning it on or off as I please, installing a completely different operating system, putting whatever software I like on it, and fiddling with every last setting—exactly as if it were a physical PC running Linux.
But unlike physical PCs, my virtual server is scalable, up or down, at the click of a button. If I decide I need more (or less) RAM, disk space, processing power, or bandwidth, I simply log in to my account, change the settings, agree to pay a different monthly fee, and wait a few minutes for the changes to take effect. If the physical server on which my VPS is running were to develop hardware problems, I’d probably never even notice, because another server could take over almost seamlessly. And for all this, I pay a fraction of what it would cost to buy and colocate my own physical server.
Virtual private servers aren’t for everyone. They do require at least a little technical know-how, since you as the operator are responsible for everything, including installing the operating system. But as far as I’m concerned, this is on the low end of the geek scale—it doesn’t require any programming skills, for example. I know several other people who use a VPS for their domains, including Web, database, and email hosting among other tasks.
Besides Linode, other examples of VPS providers include Amazon Elastic Compute Cloud (EC2), DigitalOcean, Google Compute Engine, Media Temple, Microsoft Azure, and Rackspace.
Suppose you don’t want or need to run an entire server (virtual or otherwise) but you do know a bit about programming—or want to learn—and you aspire to make some sort of cloud service available to other people. How might you do that?
The increasingly popular answer is to use a cloud computing engine—this is an example of PaaS, or platform as a service. A computing engine, like a VPS, is easily scalable to meet your needs. But it doesn’t require that you install or even be aware of low-level things like operating systems and apps. You simply write software and it runs in the Cloud—no compiling, building, or other tedious steps required.
Three of the largest and best-known computing engines come from Amazon (AWS Elastic Beanstalk), Google (Google App Engine), and Microsoft (Microsoft Azure). Although the details vary by provider, they all support such common programming languages as Java, PHP, and Python. (Elastic Beanstalk and Azure also support Node.js, .NET, and Ruby; Google App Engine also supports Go.)
If all those names mean nothing to you, don’t sweat it. We’re not all coders. But someday you, or a friend, or one of your kids may want to develop a little Web app of some kind, and when that day comes, you’ll know where to go.
Numerous other cloud services don’t quite fit into any of the categories I’ve described. I’ll offer just two examples:
This service, which runs (of course) on Amazon’s cloud platform, lets people hire virtual workers to perform small tasks that can’t be done entirely by machine—they’re HITs, or Human Intelligence Tasks. Examples include summarizing Web pages, answering survey questions, transcribing audio recordings, categorizing images, testing Web apps, and translating small bits of text. The fee per task ranges from zero to tens of dollars, and there’s a ready workforce available at all hours of the day. Mechanical Turk relies on the Cloud for things like coordination, payment processing, and task assignment—and on human beings for the actual work.
These examples just scratch the surface of hard-to-categorize cloud services, but I wanted to mention them to illustrate what a little creativity combined with vast, global computing resources can create. Every indication is that the Cloud will continue to expand in ever more interesting and useful ways.