Cloud-based servers simple enough to be at the beck and call of every Joe Schmo off the street are a compelling vision, but presently not a realistic one. At this point, in fact, one could argue that the holy grail of the consumer cloud has already been realized. In the business world, it’s called software as a service, but the rest of the world just knows it as “the cloud.”
In a blog post on Thursday, Anil Dash laid out a vision that pretty much boils down to this quote: “[W]e need a consumer cloud offering. An app store for EC2 or a marketplace for Rackspace. The same one-click stores that offer us easy apps on our own local devices should let us purchase consumer-friendly apps that run on our own individual cloud servers.” It reads well, but until cloud computing prices drop far enough that individual servers cost next to nothing, the vision seems infeasible. That’s why multitenant cloud services, what Dash calls “centralized services,” are proving so popular.
Although Dash dismisses the idea of centralized services as being primarily the realm of profit-hungry platform companies such as Google and Facebook, and archaic compared with the type of edge innovation that mobile apps enable, that’s not entirely the case. The truth is that there’s a whole slew of entrepreneurs building consumer-friendly services atop cloud platforms — like almost every popular web and mobile app you can think of, including Instagram, Draw Something , Tumblr, Wordnik, Foursquare, you name it.
Yes, it’s true there isn’t yet a cloud service for every possible need a consumer could have, but new ones are popping up every day. Some of them are actually targeting the compute-intensive workloads Dash thinks aren’t profitable enough for large platform providers to build but that might require an entire virtual server. I’m thinking of Zencoder (and the host of other video-rendering services), Animoto and Aviary, but there are plenty of other examples floating about.
It’s all about cost and architecture
For a variety of reasons economic and architectural, a centralized model is just so much more efficient than having every version of an app running on its own server. A big one is that most apps don’t need the power of an entire server, which is why multitenancy works so well. There’s also the issue of OS patches and other administrative tasks that are a lot easier with centralized control and not so easy when apps are running on their own servers god-knows-where. These are among the same reason businesses love SaaS, by the way.
And then there’s the cost; applications that rely on consumers spinning up their own servers are not going to be cheap. If an app were running 24 hours a day on a standard Amazon Machine Image (a requirement if you don’t want to wait minutes for a new server to power on every time you open the app), it would cost just less than $60 a month for compute alone, not to mention charges for storage, database calls, etc. I can’t imagine a freemium model that can support than kind of cost. Multitenant SaaS providers can keep prices low and still turn a profit by taking into account peaks and valleys in usage, but I don’t see how that’s possible in a single-tenant model.
Amazon Web Services actually has an AWS Marketplace, but it consists primarily of business applications — and for good reason. While tens to hundreds of dollars a month is a relatively good deal for business software, it’s a terrible deal for consumers. That’s why multitenant, or centralized, cloud architectures work so well.
It’s also why many mobile applications have a foot in the cloud to provide a distributed datastore, but offload computing where possible to our increasingly powerful mobile phones and laptops. Such architectures also provide the added benefit of letting apps run offline but sync with the cloud backend when devices are back online.
Built right (that can be easier said than done, I know) a centralized cloud service can stay online during an outage that would knock individual servers offline and take consumers’ instances with them.
Don’t get me wrong, I completely see where Dash is coming from in wanting, essentially, a world in which consumers can buy cloud apps that mirror and perhaps outdo their PC apps in terms of features and computing power. I just don’t see it happening given the myriad advantages cloud services have as a business model. Anyone can write and host their own application in the cloud — the advent of platform as a service makes that easier than ever before — but if they build something the rest of the world might want to use, the economics of a single-tenant architecture just aren’t there yet.
Feature image courtesy of Shutterstock user italianestro.