Heptio is an interesting startup, to say the least. Founded by the inventors of Kubernetes, they aim to make Kubernetes enterprise-ready by providing professional services built around it. Google has been the face of Kubernetes ever since they made their own internal orchestration tool Borg open to the public. Though Kubernetes is based on Borg, it is now the combined effort of thousands of developers in the open-source community. The way Heptio comes into the picture is because it isn’t all sunshine and roses setting up Kubernetes, and for first timers it can be quite a challenge indeed.
Founded by Craig McLuckie and Joe Beda, Heptio is to Kubernetes what Red Hat or Fedora is to Linux, except this isn’t a distribution. Instead of building their own distro, the folks at Heptio decided to use Kubernetes and build on it while providing professional services in the ecosystem. They feel that this is the best way to keep pace with the open source community, as OSS distributions often lag behind and end up having to release patches. They’re obviously on to something, and with the pedigree that comes from being the initial developers of Kubernetes, they have the backing of their investors to the tune of $8.5 million in one round.
Heptio-Kubernetes as a Service
The need to provide this professionally managed Kubernetes, or “Kubernetes as a Service,” obviously arises from the scores of enterprises looking to mimic Google, Netflix, Facebook, and Twitter’s success with containers. To successfully adopt containers like the above-mentioned success stories, attention needs to be paid not just on migrating to containers but adopting the practices that go along with it like DevOps, a microservices architecture, and advanced container orchestration that enables all this. Kubernetes plays a big part here, especially since it’s the most powerful and most popular orchestration tool in the Docker ecosystem.
If you’re wondering what it is exactly about containers that would make people want to go to great lengths to migrate their entire datacenters, here’s the low-down. Code deployment can get pretty complicated, and once you cross a few hundred thousand lines, and multiple servers and multiple development teams, it can be a nightmare. What containers do is create sealed, isolated, repeatable, and reliable units of code deployment. This makes breaking down your applications into microservices a lot more straightforward, and since it’s all running off one kernel, you essentially don’t have to worry about cross-platform compatibility or version differences.
Containers in the cloud
Enterprises that have switched to containers and have successfully learned how to orchestrate with Kubernetes have reported 50 percent-80 percent savings on their AWS bills. That kind of savings on your infrastructure is tempting, to say the least. However, once you get started (with Kubernetes) you might feel like you’ve bit off a bit more than you can chew. Though AWS is dominating the cloud at this point, cutting people’s bills in half would be considered disruptive. AWS has decided to embrace this disruption by going ahead and partnering with Heptio to ensure users have a smooth transition to containers.
On March 2, Heptio announced their partnership with Amazon and a Quick Start that takes about 10 minutes to launch a Heptio Kubernetes cluster on the AWS cloud. The Quick Start launches one EC2 instance for the master node and your choice of 1-20 instances for the worker nodes in an auto-scaling group. The container runtime is from Docker, and Kubeadm is used for cluster administration. The Quick Start also features a deployment guide that highlights reference architecture, configuration settings, and best practices along with step-by-step instructions on using Kubernetes on AWS.
Kubernetes in the cloud
When it comes to the cloud, a lot of people just feel safer using VMs since containers require a fundamentally different approach altogether. Getting people to unlearn is almost as hard as getting people to learn, and containers definitely need some unlearning. Though Docker is the No. 1 container engine, Kubernetes is used to orchestrate Docker containers because the tool is just so powerful in the hands of someone who knows what they’re doing.
It’s probably how Linux users felt before fancy GUIs came out that made it relatively easier to operate. Compared to Windows and iOS, Linux gives users a lot more power and control over their environment, though you need to know a thing or two about system administration and coding to make use of this power. So when you look at Google or Netflix and admire their success with containers, it can be deceptive because there’s a huge gap between what an enterprise-ready Kubernetes should be and what it actually is. Additionally, not everyone can put the time or effort into Kubernetes like Google or Facebook because, quite frankly, they can’t afford to yet.
DevOps and containers
Because of the way containerization gels with DevOps processes and tools, a lot of teams that move to DevOps look to move to containers as well. Though setting up Docker is relatively straightforward, to work with Kubernetes you need to be familiar with concepts like pods, services, and replication controllers. Since this deprives users of one of the main cloud benefits -- which is to free up developers to work on their applications -- we have not seen a large scale Kubernetes adoption in the cloud. There are a number of success stories by people who have taken the trouble to figure it out, though they’re a minority.
Amazon’s Elastic Container service left a lot to be desired, and a lot of people were using Kubernetes on AWS anyway. Now though Google Cloud may be small fry compared to AWS in the bigger cloud picture, when it comes to containers they’re serious contenders. Apart from being the face of and founders of Kubernetes, they’ve also probably been using containers for longer than anyone else. This strategic partnership with Heptio sort of levels the playing field in terms of Google having the insider advantage with regards to Kubernetes.
Kubernetes is the key
The Quick Start from Heptio really appeals to the average engineer who just wants to get containers running, especially since a lot of them don’t have the proper Kubernetes background to begin with. With Google already the pioneer of Kubernetes, and AWS’s partnership with Heptio, Microsoft isn’t being outdone. It has its own Kubernetes co-founder onboard in Brendan Burns. In fact, Microsoft announced a similar product about a month ago with improved Kubernetes support and a preview of Windows Server Containers working with Kubernetes.
Though a Kubernetes scheduler option under ECS isn’t ready for release yet, that’s what AWS customers are hoping is next for this AWS-Heptio partnership. With the top three cloud providers taking a serious interest in Kubernetes and the rise of DevOps and containers in general, it won't be surprising if a lot more startups enter this sector before long.
If cloud computing is all about delivering technology behind an API, Kubernetes APIs need help ASAP. But despite these shortcomings, the fact that Kubernetes is still the first choice for orchestration is surprising and fascinating at the same time. Since a lot of organizations have approached both Google and AWS for help with managing Kubernetes, a solution like Heptio’s that doesn’t tie you into any one platform definitely has a lot of attraction for the enterprise.