I’ve got an axe to grind, and it’s about the cloud. That big, amorphous, shiny hyper-virtualized cloud that we’re all supposed to love. The one that is going to solve all of our problems, making hosting infrastructure a thing of the past. I don’t buy it. Especially if you’re the type who prefers to look through the windshield instead of at the rear-view mirror.
Why Multi-Tenant Virtual Clouds Have it Wrong
We all know that AWS, Microsoft and Google offer amazing tools filled with solid innovation backed by nearly unlimited scale. While this was the perfect foundation for the last wave of innovation, I’ve become convinced that it isn’t the best vehicle for the next wave.
Why? Well, technology, as usual, is reshuffling the deck. Today’s instigator is the application container (e.g. Docker) and it’s making the case for a service-focused infrastructure that doesn’t need or even want a hypervisor. Despite all that horsepower, the big box clouds are handicapped by the very thing that has defined them: a multi-tenant focus that is increasingly complex.
Here is why I think today’s clouds have lost their thunder when it comes to enabling cutting-edge applications:
- Nobody likes noisy neighbors, no matter how good they are at engineering around them.
- Nobody likes complex pricing that requires a calculator or a 5 page spreadsheet to summarize.
- Nobody likes lock in that forces you to build company intellectual property against services and API’s you’ll never be able to move elsewhere.
- Nobody likes thinking about servers, let alone hundreds or thousands of small servers with funny names and strange pricing.
While there is plenty to love about the reach, scale and stability of the big virtual clouds, I’m willing to bet that those who care deeply about their end user experience are seeking better platforms to run their own workloads. And I’m sure they wouldn’t mind something simpler, less noisy, and more open.
A (Very Short) History of Infrastructure Innovation
The internet infrastructure world isn’t that old, but it’s been through a few notable revolutions. Understanding this cycle can help to frame what is coming next. Here’s what I’ve witnessed in my 15 years mucking with servers, networks, and delivering bits of information on the ‘net:
- 1999 - Sun puts the “dot” in dot com. Startups spend most of their VC money on giant colocated Solaris servers that sell for pennies on the dollar on eBay the next year.
- 2001 - ThePlanet and ServerBeach sell you custom servers by the year, sometimes by the month. Big setup fees are the norm.
- 2005 - Softlayer automates the datacenter, transforming the dedicated hosting market and making monthly servers the standard.
- 2012 - Launched in 2006, AWS now runs a large part of the internet on its elastic compute services. An entire generation of developers grows up in an EC2-first world.
- 2014 - Docker hits critical mass with the developer world, introducing a legitimate alternative to paravirtualized environments.
For me, Softlayer charted a compelling path towards automated infrastructure, but it was still blurry and was geared for the IT crowd. There were too many similarities to the old way of ordering custom dedicated servers and waiting a few weeks for them to show up.
AWS blew that away, consumerizing infrastructure by drawing a clear line between infrastructure fabrics that could be automated and those that could not. Most hosting, colocation and infrastructure providers raced to catch up, creating a graveyard of virtual “me too” clouds. But AWS had already captured the flag, and in the process changed what we all thought was possible with infrastructure.
So that’s the end of the story right? AWS (and friends) offering an elastic, always available service. A service that is still highly complex, with hundreds of API calls and complex pricing tiers tying together an immense blog of infrastructure, forcing developers to learn ops skills and sysadmins to learn developer skills. Alas, the new job title of “DevOps” has emerged, and every company or startup needs a few of these ninjas around to wrangle their AWS instances and keep them up and secure.
Wait a second - that can’t be right. Is that really the end of the innovation road? Remember - Even ninjas get confused by AWS!
It’s All About the Developer!
In 2013, Docker burst onto the scene with a nifty way to control server resources/configs using standard programming models and things developers already knew (Git). It was crazy fast to use and to adopt. It worked on your Macbook Air or on your servers or on AWS. And it didn’t make developers become ops people! (You can call it DevOps, but honestly, who really loves the Ops part?)
It was the first approach to infrastructure that put developers as first class citizens. And because of that, we’re seeing a jaw-dropping pace of innovation in infrastructure software -- from Mesosphere, to Deis, to Docker Machine, to Atlas and more. And NONE of this needs a hypervisor. In fact, it’d be better without those noisy neighbors, performance variances, slow virtual routers and resource waste issues.
So why aren’t any of these projects truly active on bare metal cloud platforms? Great question! Well, the answer is simple: bare metal is stuck in 2009, about where SoftLayer left it before being acquired by Big Blue. The current generation of “bare metal clouds” just aren’t good enough for what’s next.
Enter Bare Metal 2.0
With the tipping point reached on the software side, deploying and maintaining “private clouds” or your very own PaaS is no longer a pipe dream. Simply put, software is eating our world and it is enabling developers to forget about virtual servers. But aside from the convenience, this software is built to be resilient, portable, and hardware agnostic. Essentially, it’s getting to be dead simple to use any sufficiently automated infrastructure. And if that’s the case, why use some noisy-neighbor, chopped up infrastructure solution for your next game-changing application? (hint, most of the boundary pushing applications are not - they’re doing it on bare metal: check here and here).
Packet believes that bare metal offers the ideal building block to power modern web workloads - and we’re not alone. The new breed of workload automation and orchestration technologies crave the streamlined power of bare metal “done right”: uncongested compute, memory, storage and network resources in their most raw format.
What’s It Look Like?
What do I mean by “bare metal done right”? Here’s a short list of basic requirements that we put together when we started our company on this premise:
- A curated set of premium configurations - not 100’s of variations.
- Consistent availability in each configuration - like every time. No waiting.
- Deployable in global locations, in nearly real time (5 minutes or less).
- Billing options, by the hour or month.
- Full automation via modern API’s, with support for cloud-config, meta/user data, etc.
- Unsaturated, scalable and software defined network assets.
So what else makes Bare Metal 2.0 work?
- Physical network performance with the control of virtual networks - no Layer 2 vlans or overlays!
- Security groups and programmable ACLs
- Bring your own IPs if you need to (and avoid that nasty lock in)
- Destination based billing, so you don’t pay for internal traffic
- Killer access to eyeball networks
- Redundancy in power, connectivity, and hardware
- Leading edge gear - NVMe drives, 2 x 10GB NICs, etc.
Suddenly, you have screaming fast servers available to be spun up (and down) via smart platforms tools like Mesosphere and Docker Machine. You skip past hypervisors that eat up resources and avoid noisy neighbors or congested networks that slow down your app at key times. You have a clear, proven networking model that allows for true innovation, without the overhead of building your entire world inside of a proprietary ecosystem.
We’re excited about the innovations that Packet Bare Metal can power. What do you think? Is 2015 the year of the virtual clouds or the time for Bare Metal compute to finally strut its stuff? Shout it out via @packethost or email us at [email protected]. We're listening!