Source: Wikipedia Commons

The rise, fall and resurrection of the private cloud

Derrick Harris
> S C A L E
Published in
9 min readMay 8, 2015

--

The private cloud market as it once existed appears to be fading fast, but don’t blame OpenStack. Its real killer was a flawed idea from the start.

OpenStack was once heralded as the open source answer to VMware on local servers and Amazon Web Services in the cloud — and it helped spell doom for any number of private-cloud startups and products that came before it — but the project has become a lightning rod of disagreement.

According to an April article in BusinessInsider, the OpenStack foundation is populated with huge technology vendors all fighting to mold the project in their own images. The author writes that the project is “on life support” and “venture capital support for OpenStack startups has all but dried up.”

While its supporters argue the project is gaining maturity and users by the day (claims that are undeniably true), others see slower-than-expected adoption and the closure or change of focus of some high-profile startups as very bad omens.

Some of this skepticism is fair, but at the heart of the matter is the fact that OpenStack — like nearly every cloud software technology that came before or after it — was playing a game it probably couldn’t win. By trying to create locally hosted versions of AWS, OpenStack and a slew of competing “private cloud” technologies were arguably trying to do the impossible.

A brief history of the cloud

In the ‘00s, there were a handful of technologies floating around that promised what were essentially private-cloud-like systems. They were described by terms like grid computing, utility computing and elastic application platforms. The technologies differed, but the general idea was the same: create a pool of computing resources, mete them out to applications as needed, and provide some level of scheduling, high availability and failover.

The electrical grid analogy so often used to describe cloud computing actually made a lot of sense with this class of technologies. In theory, we wouldn’t need to care about individual servers just like we don’t need to care about the individual sources from which our electricity providers get their power. We could just plug our applications into the grid, as it were, and power would come from somewhere.

Then, in late 2006, Amazon Web Services released its Elastic Compute Cloud and blew people’s minds. Forget about getting the most out your current servers, these suckers are running in Amazon’s data centers! And you can rent them by the hour for a flat rate! (Sun Microsystems might have had the idea first, but AWS really ran with it and took it mainstream.)

Just a few of many instance types available on Amazon EC2 today.

But as revolutionary as it was and continues to be — and as much as it helped pull the rug out from under the server industry — AWS also implicitly reinforced the idea that servers still matter. It was faster and easier than ever to provision machines and get access to computing power, but users were still renting virtual machines with preordained allocations of CPU, RAM and local storage, and their own unique IP addresses.

Infrastructure as a Service, or IaaS, meant developers had to think less about servers, but they still had to think about them.

This is what the utility computing players were trying to abstract away. After it became clear that cloud computing was the future, offerings such as Microsoft Azure, Google App Engine and Heroku tried to abstract away server management again, this time under the moniker of Platform as a Services, or PaaS.

But the die had been cast and for better or worse (probably better in a lot of ways), the AWS model had won. The utility computing vendors all closed shop or faded into oblivion, replaced by a sea of private-cloud startups and large-vendor products — and then OpenStack and its ecosystem of startups and large-vendor adopters — created largely in Amazon’s image. And while their original PaaS offerings live on, Microsoft and Google eventually were forced to launch new cloud services that compete with AWS at the IaaS level.

The private cloud quandary

Technologically, though, many private cloud efforts lacked the money, institutional knowledge and laser focus to rebuild a platform similar to AWS, much less something more innovative. This was especially true when OpenStack launched in 2010, after AWS had spent nearly 4 years adding new features and services.

In some ways, trying to build general-purpose products that could be deployed and customized within companies of all stripes is more resource-intensive than doing what AWS did. Especially in the early years, AWS was content to deploy its platform once and essentially tell users to take it or leave it. And if the name of the game is simply provisioning virtual servers, shared storage and networking, probably with some authentication wrapped around them, AWS and VMware already existed.

Source: Amazon Web Services

It’s easy to understand why people were excited first about private clouds, and then about OpenStack-based private clouds. But while they waited for those technologies to mature and the platforms to distinguish themselves meaningfully, it seems like a lot of people just said, “Screw it. We’ll use AWS and VMware.”

Maybe the huge tech vendors now pushing OpenStack-based private clouds will ultimately deliver on a vision that enterprise users will buy into. If anyone has the money, brainpower and enterprise experience to pull it off, they do. Or maybe they and the world will move onward and upward, and embrace cloud computing as perhaps it always should have been.

The rise developers of the hyperscale web

A few years ago, two important shifts began to take place almost simultaneously: the rise of the developer and the rise of the hyperscale web. As it turns out, the two are so intertwined they’re almost inseparable. And they helped spur the creation of new technologies that are making some people rethink what a private cloud actually is.

For application developers, AWS meant freedom. Emboldened by easy access to computing resources and services, they started building more applications and looking for ways to make their lives even easier. From this search came a slew of new tools and technologies — a whole new business market, really — all centered around developer productivity.

Some of them are hugely successful, if mindshare, user count and investor activity are any indication. Docker, MongoDB and Elastic have each raised more than $100 million in venture capital in the past few years. New Relic is now a public company. Other household names include GitHub and Stripe.

But they’re just the tip of the iceberg. Everywhere you turn, there’s another well-funded startup or open source project trying to improve the database experience, deliver a business process such as analytics via API, or otherwise speed the process of taking code from idea to test to production.

A whiteboard diagram of LinkedIn’s data architecture from 2013. Source: Derrick Harris

Around that same time when AWS was freeing developers to see their world in a new light, some of the web’s largest companies — namely Google, Facebook, LinkedIn, Yahoo and Twitter — were reaching hyperscale. In order to deal with the crazy challenges brought by having to serve millions, even billions, of users, they began hiring the smartest computer scientists in the world to build entirely new databases, infrastructure-management and data-analysis systems.

And then they began talking about these systems — and in many cases open sourcing them. It’s largely thanks to these companies that we have things such as Hadoop (and Hive), Cassandra, Mesos and Kafka, as well as dozens of other important open source technologies. If they weren’t always easy to use, they were certainly always powerful.

The worlds of everyday developers and the hyperscale web became forever intertwined when the glut of new applications developed on the cloud (largely on AWS) began taking off. Some were cloud-based business applications that grew steadily over months, while others were consumer mobile apps that went viral literally overnight.

All of a sudden, Google’s scalability challenges became Pinterest’s (or Airbnb’s or Instagram’s or Spotify’s) scalability challenges. Google’s opportunities around analyzing user data became Pinterest’s, Instagram’s and Spotify’s opportunities.

A virtuous cycle had begun. Startups now adopt these webscale technologies from the start, eventually contribute to the projects they built upon, and often create and open source their own tools. And the cycle goes on with each startup that grows big and each new startup that comes online.

Source: Airbnb

Discerning the real value of cloud computing

Among the most pronounced results of all of this — the rising importance of developers and the broadening applicability of webscale technologies — has been a fundamental rethinking of what cloud computing can and should be. It’s no longer enough to just buy virtual servers from web companies like Amazon, Microsoft or Google, or even to adopt some of the technologies they and their peers have created.

Today, smart companies of all sizes realize that whether they run their infrastructure in the cloud or in their own datacenters, they need to operate like web companies, too — flexibly, efficiently and automatically. This entails everything from the hardware level (Open Compute) to the network level (software-defined networking) to the orchestration level (Mesos) to the application level (containers).

The latter two levels are particularly interesting because they have the potential to remake how companies think about deploying applications in the cloud, either public or private. Finally, nearly a decade after cloud computing really came to prominence, we’re starting to stop talking about servers. Just like the utility computing folks promised us we would.

Companies like Google and Microsoft stopped worrying about them long ago when it came to operating their own datacenters and applications. The most famous example is Google’s Borg system (and its subsequent Omega system) that intelligently schedules workloads and ensures applications get the resources they need by running them inside Linux control groups. Developers specify which services their resources connect to and what resources their applications need, and the system takes care of the rest.

Borg and Omega, however, are still locked up inside Google. For the rest of the world, the pieces are coming together in the form of technologies such as Mesos, Docker and Kubernetes (which was created by Google). Docker containers opened developers’ eyes to an easier and more-portable way of configuring applications, while Mesos and Kubernetes let developers run those containerized applications at scale.

Like shipping containers, many Linux containers can fit on a single host, and they move easily from one to another. Source: Flickr / Dave Gingrich

This combination, as well as some other important new technologies, is allowing cutting-edge companies to manage all their servers (physical or in the cloud) as single pools of resources. Big data and database systems and web services run on the same cluster, intelligently sharing resources rather than competing for them. The notion of a dead server isn’t so scary when there are a thousand more to pick up the slack. Microservice architectures are replacing monolithic applications.

It’s a powerful approach to operating datacenters and building applications, evidenced by how quickly even huge cloud providers such as AWS, Google and Microsoft — which make billions of dollars a year renting virtual machines — moved to support containers on their platforms. And then, after that, how quickly they added options built in-house and externally for managing all the containers that users want to deploy.

Servers are not going away and virtual machines are not going away, but our interactions with them are about to become much less intimate.

Yesterday’s architectures won’t cut it for tomorrow’s applications, which will increasingly resemble the types of scalable, distributed, services-based ones built by large web companies over the past decade. If the tools in place don’t fundamentally improve developers’ lives, improve operations teams’ lives, and generally make companies more competitive, people will find something that will.

Just ask the private cloud.

--

--

Derrick Harris
> S C A L E

Hi :) Find me on Twitter to see what I’m up to now.