In the race of container orchestrators, Kubernetes is surging ahead. But much like when I wrote my post on Docker hosting, people are often stuck on the step of getting their infrastructure to production. Unlike when I first wrote that, the industry has progressed massively, and as you will see, I found a lot of companies willing to offer you solutions for helping you get Kubernetes into production.
My criteria for inclusion in this article was companies that let me try their service easily. I excluded anyone with a 'contact us for a trial' or 'contact us for more information' button, and I wanted to see what they offered myself.
To reduce repetition, pretty much every provider offers all the base features Kubernetes offers, plus constant updates.
Google Cloud Platform (GCP)
I would hazard a guess that GCP was never that high on people's list for a cloud provider until Google released Kubernetes. It's reasonable that the best-managed option would originate from the company behind the birth of the project.
The GCP Kubernetes engine offers similar integration with other GCP products, much like many of the other large cloud providers in this article. In GCP's case, this includes:
Authentication and access rights
Logging and monitoring
Private image repositories and image builder
[caption id="attachment_6080" align="aligncenter" width="1280"]
Microsoft's Azure Container Service (curiously called 'AKS') is in public preview, so it's not recommended you use it in production, but it should be good enough to evaluate. It supports:
Multiple Kubernetes versions
Switching between Docker, DC/OS, and Kubernetes orchestration at will; the crucial factor is running containers
Integration with the Azure container registry, container monitoring solution
Access to all the Kubernetes APIs and toolchain via the
azCLI tool or the Azure portal
[caption id="attachment_6081" align="aligncenter" width="907"]
Stackpoint helps you install and manage a Kubernetes cluster hosted with AWS, GCE, Azure, and Digital Ocean. The setup process is quick and straightforward, and Stackpoint has a library of preconfigured images straight to your cluster during the setup phase, and from a graphical interface once the cluster is running.
Stackpoint provides their own GUI to access high-level details and links to the default Kubernetes GUI and
kubectl tool for everything else. [caption id="attachment_6082" align="aligncenter" width="2168"]
I'm sneaking AppsCode into this list -- while their cluster management solution lies behind a Request a Demo button, they also have a suite of open-source tools available for all sorts of Kubernetes-related tasks. And stringing some of them together, you can probably create similar solutions.
[caption id="attachment_6083" align="aligncenter" width="1134"]
Red Hat's OpenShift is one of the more veteran and comprehensive Kubernetes solutions, with a lot of development and community work from Red Hat thrown in for good measure. It's a standalone Kubernetes distribution, adding dozens of developer- and ops-related tools to make using Kubernetes more productive.
OpenShift comes in four varieties, and the names and differences are a little confusing, so hold on there:
OpenShift Origin: the open-source, do-what-you-want upstream version
OpenShift Enterprise that has its own sub-versions:
OpenShift Online: on-demand and in a public cloud
OpenShift Dedicated: a private, high-availability cluster, hosted on AWS or GCP but operated by Red Hat
OpenShift Container Platform: an enterprise private PaaS in your data center or private cloud [caption id="attachment_6084" align="aligncenter" width="1173"]
Confused? Well, don't worry too much about what version is right for you. Here's a quick roundup of some of the features OpenShift brings to Kubernetes:
Custom domain routing and software-defined network; an image library of prepackaged applications to install onto your cluster, checked and tested by Red Hat
Integration with other Red Hat platforms such as JBoss and RHEL
"Code and push" deployments from version control straight to running on a cluster
Multiple environments and release management
A GUI to access most functionality, a CLI tool, and integration with some (enterprise friendly IDEs)
IBM Cloud Container Service
IBM Cloud's Kubernetes offering is a simple affair, perfect for anyone looking for bare-bones Kubernetes cluster. You can access and manage your cluster through the default Kubernetes CLI and the IBM cloud CLI (for authentication and other IBM-specific tasks) and a basic GUI.
[caption id="attachment_6085" align="aligncenter" width="1150"]
Much like some of the other cloud offerings in this list, using the IBM Cloud Container Service gives you easy integration with their other services, and in IBM's case, the most tempting of these is the infamous Watson.
Canonical offers an Ubuntu-optimized version of Kubernetes for simple deployment to AWS. It doesn't add much to default Kubernetes beyond a simplified semi-graphical installation interface, but if you're an existing user of the Ubuntu ecosystem, then you might find it a comfortable fit.
[caption id="attachment_6086" align="aligncenter" width="1118"]
I had featured Containership before in my Docker hosting roundup, when they were using a custom orchestrator, and they have also added support for Kubernetes. It works similarly to some of the other providers on this list, helping you create and manage multi-cloud infrastructures. However, it offers other providers not found on many others in this list such as Digital Ocean, Packet, and Linode.
In addition to creation and management, Containership offers access to private image repositories, snapshotting your cluster and a preconfigured library of services to install to your cluster (again including lesser known options).
[caption id="attachment_6087" align="aligncenter" width="1166"]
Taking a different but potentially confusing approach to managing your Kubernetes cluster, GoPaddle uses a visual UML-style service designer that you then push to a provider. I don't know how useful it is, but after reviewing so many dashboards and lists for this article, it was a refreshing change.
Beyond this, GoPaddle offers the features you will find in many of the other services listed here, including authentication, logging, continuous integration, and with one additional bonus, support for Terraform templates.
Nirmata offers the option to connect preexisting Kubernetes clusters, or have the platform set up a vanilla one for you. You can deploy your cluster to a variety of public and private clouds.
It offers the typical authentication, logging and prepackaged images of many of the other options in this article, plus GUI-accessible resource policies and a simple dashboard view of cluster state(s).
[caption id="attachment_6088" align="aligncenter" width="1169"]
Kubermatic offers deployment to AWS and Digital Ocean, with an easy-to-use GUI for creating and managing clusters with logging and metrics built in. Their core software is also open source, and they are one of the few European companies on this list 🇪🇺.
Joyent is one of a handful of the smaller companies steadily and successfully running cloud-native deployments for the past few years, so adding a Kubernetes offering is an obvious move. Similar to GoPaddle, Triton uses Terraform templates under the hood that you can change to suit your needs.
Triton lets you install a cluster to their own public or private cloud, as well as GCP, AWS, VMWare, Azure, and your servers. The installation process is one of the more complicated on this list but leverages a lot of familiar DevOps tools, so may suit some of your existing workflows better.
Tectonic from CoreOS takes a similar approach to Triton, using Teraform templates to deploy their take on Kubernetes to bare metal machines, AWS, or Azure. Naturally Tectonic runs CoreOS with all the benefits to Kubernetes and container-based applications that involves.
!Sign up for a free Codeship Account
I also came across a handful of large Chinese companies that had Kubernetes-based offerings that I couldn't effectively test as I don't speak any Chinese languages (I do hope to change that in 2018). While they often offer English language versions, typically once you were a few levels deep, the Chinese origins showed and I was confused. If you're interested, here are the ones I found:
In Early Access
I came across a handful of services that weren't ready yet, but by the time you read this, they might be.
Pivotal Container Service
At the time of writing, Pivotal Container Service was not yet publicly available, but if you are entrenched in the Pivotal/VMWare ecosystem, then it might be ready for you when you are.
Wercker has two new services called Deploy and Operate planned that are for, you guessed it, deploying and operating Kubernetes clusters.
AWS is top of many developers' lists when it comes to hosting, and they typically offer a solution for every need you might have. Their Kubernetes offering is in an invite-only preview, so it's hard to provide a comprehensive review. From what I can tell, it will offer features such as:
Integration with the other myriad tools of AWS for load balancing, authentication, availability zones, service isolation, private network access, and logging
Automatic updates, patching
Access to the
There Will Be More
And that's it for now! I'm sure there are some I missed, so keep your suggestions coming in the comments.
PS: If you're interested in learning more about Kubernetes you might be interested in this Codeship eBook: CD for Docker Apps to Kubernetes.