Is There Any Choice in the Cloud?

Lew Moorman, President of Rackspace. Share your thoughts on lock-in, OpenStack and more in the comments section below.

Here’s a question. What if your computing needs outgrow the horsepower and features of your current stable of PCs and servers? Simple. You go buy better ones. Maybe try a different brand. And if you hate the new ones? No problem. Simply try another option. Or go back to the original. You always have a choice with hardware.

That, however, was yesterday. Today, companies of all sizes are getting themselves out of the hardware business and instead are buying their computing as a service, in the cloud. Trouble is, the freedom of choice and portability that you’ve enjoyed when purchasing computer hardware has been largely absent when you’re buying cloud services.

To see what I mean, consider movie rentals: a business revolutionized by cloud computing. Remember just a few years ago when you had to drive to Blockbuster and hope the movie you wanted wasn’t already checked out? Now, the cloud has enabled a growing list of services like Netflix, which allow us to stream any movie onto any device with the click of a button. Today’s cloud gives movie buffs unlimited choice and freedom. But is it giving businesses that same kind of choice and freedom?

Listen to what Adrian Cockcroft, Netflix’s Director of Architecture, is saying about his cloud provider, Amazon Web Services. He loves it. And yet, he too wants choice. “Please try to build AWS clones that scale!” he asks.

Why is he saying this? Through no fault of Netflix, its business is deeply integrated into the Amazon cloud, with long-term implications for costs and capabilities. Like Amazon, Netflix is a pioneer, and at the time when it decided to move its business to the cloud, there was no open cloud platform available. All the cloud providers used proprietary software. My question is: if Netflix wanted to move, could it? How hard would it be? As for many who are using the full power of the cloud offerings of today, I think the answer is clear: moving would be very hard.

Here’s why: the cloud is a very different model for running applications, as compared to traditional infrastructure. Your applications don’t ride on top of the infrastructure like a jockey on a horse. Instead, those apps fuse to the cloud infrastructure, like the riders of the banshees in Avatar, who join for life with their flying beasts. This integration is central to the power of cloud computing: its nimbleness and speed; its automation and scaling. In traditional computing, when a company needs more servers to run its application, an operations technician has to ask for them. In the cloud, the application is capable of making these decisions automatically based on its needs – and the cloud responds accordingly.

But here’s the catch: Once your applications are integrated into the infrastructure of a proprietary cloud, switching providers becomes much harder. It requires at least some recoding of your application.

Furthermore, once your apps are fused into a proprietary cloud, there is a strong temptation to use its proprietary features. Amazon has innovated rapidly in this area, offering cool but proprietary products such as SimpleDB and DynamoDB that simply have no implementation outside its cloud. Once the customer uses such features, their applications are fully fused into that one stack.

To update an old computing metaphor: you date your hardware provider; you marry your cloud.

But wait. What about that polygamy arrangement that Netflix seems to be pleading for? Let’s just copy Amazon’s APIs and all should be fine, right? This is what Netflix wants, and its cry for help has much of our industry obsessed with API standards.

Trouble is, cloning APIs in this way is impossible. APIs are just an adapter between your app and the cloud. They show you how to ask for things and what to expect. But it’s the actual cloud, all the back-end technology, that delivers the results. To match the performance of AWS, you need the technology of AWS — not just the APIs. And that technology, the thing that really matters to your application, is unavailable. It’s closed and proprietary.

Today, several cloud companies are working to clone Amazon’s cloud. They are trying hard, but they cover only a fraction of Amazon’s services and its advanced features. And they don’t scale. So they fail on both of Adrian’s asks: They’re not clones and they don’t scale the same way. This is not because they have built bad technology; it is because they have built different technology.

You might ask: Who cares? So long as Amazon and other proprietary cloud vendors are adding features and cutting prices, what does it matter that customers get locked in? Many startups may not care. But the ones that intend to scale, as well as mature enterprises, will care a great deal. They are asking: What if you need to expand your business into a country or region that your proprietary cloud provider doesn’t serve? What if some feature is critical to advance your service, but is a low priority for your cloud provider? What if your provider gives poor support? What if you could get huge savings from customizing some piece of the architecture?

Netflix recently launched its own private CDN. Why? At its scale, the ability to own and customize delivery of movies will allow it to pay less money to telecom companies, which are at once its vendors and its rivals in the digital movie business. How long will it take until Netflix and other big cloud users feel the same way about computing?

So, what would an alternative to the proprietary cloud providers look like? It would be an open system that can be deployed by all — by service providers and enterprises alike. It would be built on an open-source code base. It would allow free innovation and unlimited extension.

The good news is that this alternative now exists. It’s called OpenStack — the open-source project launched two years ago by Rackspace and NASA. OpenStack now has more than 180 companies participating in its development, including Cisco, Dell, HP, IBM, and Red Hat.

Starting with the core elements of computing, storage and networking – the OpenStack codebase is ready. The Rackspace public cloud will shift to that codebase on August 1. And the innovation will expand rapidly from there. Projects spanning much of the innovation developed by proprietary vendors and beyond are in the works from companies across the globe. And given the open architecture, any open source project or legacy vendor can plug in and power traditional enterprise capabilities and extension of the core engine.

The past five years have shown us the potential of the cloud. I give Amazon kudos for its leadership. But the cloud is the platform that will drive all of modern computing. An open alternative is the prerequisite for real choice. And it is here now. So my advice to cloud users is: don’t get in too deep. Keep your options open. Go to OpenStack.org to learn more, and to join the open cloud.