Cloud services for mobile developers: Google vs. Amazon vs. Azure vs. Parse
Cloud-based back ends for mobile applications combine key services with varying degrees of complexityFollow @peterwayner
The victory of the mobile platform has wrought many changes in the enterprise world. Emails are now more succinct because no one can type at length with the tiny keyboards. Web pages are simpler because no one's eyes can read all the detail on the tiny screens. And the cloud is essential. Mobile phones and tablets can't exist without a healthy collection of services from distant machines in faraway racks.
The cloud was always a good idea, but now it's indispensable. The ability to poke around in the file system of a desktop machine is an awesome freedom -- and a great responsibility. The desktop world still operates under the rules of living created during the frontier days of the early personal computer. They're your files; now show some gumption and take care of them.
[ Stay on top of the cloud with the "Cloud Computing Deep Dive" special report. Download it today! | From Amazon to Windows Azure, see how the elite 8 public clouds compare in InfoWorld's review. | For a quick, smart take on the news you'll be talking about, check out InfoWorld TechBrief -- subscribe today. ]
The mobile operating systems make rugged individualism all but impossible. Mobile users can't manipulate files or handle their own data unless they take extreme measures and root their phone. Maybe it evolved that way by accident because the early handsets were so relatively dumb. Maybe it was by design because Steve Jobs knew smartphone users didn't really want the traditional power given to desktop users. Maybe the smartphone creators were channeling Jack Nicholson in "A Few Good Men" because they knew we couldn't handle it.
In any case, it's now impossible to build almost any significant app for the mobile world without a stable connection to a reliable back end in the cloud. Email and notes better be stored somewhere because someone will drop a phone in a toilet, a lake, a puddle, a pot of soup, or who knows what. Even the little games for wasting time in the back row of class need to keep a user's history. Desktop games could store max scores on the local disk, but that doesn't work with phones. All of this data needs to live somewhere besides the handset.
The good news is cloud companies are ready to help. In the early days, you could always set up your own server, hook up your own routines, and start your own databases to take care of the mobile clients. Now Google, Amazon, Microsoft, and startups like Parse (acquired by Facebook last April) are stepping up to offer more of a turnkey system. They've built another layer of data services on top of their basic machines, and they're selling them to developers who want to buy a back end, bit by bit instead of wholesale. The packages do a good part of the work you'll need for your application and give you the ability to scale.
What follows is a tour through these four clouds that offer APIs they call "mobile services" or "mobile back end as a service" (MBaaS). While mobile services might sound completely new, in reality these clouds are mixing a number of old tools with a smattering of new ones, then stamping the result with the keyword "mobile." This isn't a shabby play on our gullibility, but a savvy repackaging. Desktops and other machines need many of the same services. After all, the only differences between mobile and desktop are often the size of the screen, the keyboard, and the pointing device. To a data center, the devices are exactly the same. It's not surprising that many of these APIs recognize that fact.