Wondering which containers-as-a-service (CaaS) offering is the best fit for you? Here are the two questions you should ask before deciding which CaaS solution to adopt.
CaaS refers to platforms that integrate Docker alongside all of the other components required to run a complete container environment. Those include things such as container registries, orchestrators and, in some cases, infrastructure.
CaaS offerings are relatively new, but they are becoming an increasingly popular way of deploying Docker. That only makes sense—as Docker has matured, it is natural for organizations to seek turnkey solutions for deploying it.
Choosing a CaaS
Which factors should you consider when evaluating the options available today? Following are the two main questions.
Do You Want a Hosted or On-Premises Solution?
Most CaaS offerings currently available are hosted in the public cloud. These includes services such as Google Container Engine and Amazon ECS, which bundle hosting infrastructure with the rest of your container environment. Because these services run on public cloud servers, scaling up is easy.
On the other hand, if you prefer an on-premises container solution, you’ll be best-served by platforms such as OpenShift or Rancher. Although these CaaS solutions can be deployed on public cloud servers if desired, they also can run on any local servers (or, for that matter, in a private cloud).
Do You Need a Flexible Framework?
The second major difference between the various options available today is the extent to which they are “pure-play” solutions. Some CaaSes feature pluggable frameworks that allow users to use multiple kinds of orchestrators, registries and so on. Rancher is an example in this category; it supports Swarm, Kubernetes, Mesos and Cattle as orchestrators, and almost any type of registry. (In case you’re wondering, Cattle is Rancher’s home-grown container orchestration tool.)
On the other hand, CaaSes such as OpenShift and Google Container Engine are less flexible. Both of these work only with Kubernetes. That’s fine if you like Kubernetes and don’t anticipate needing to change your orchestration framework anytime soon. But it’s not ideal if you require more flexibility.
The CaaS offerings for Docker currently remain relatively limited. As Docker adoption increases and more CaaS options appear, the considerations involved in choosing which option likely will become more complicated. For now, however, they boil down essentially just to what type of infrastructure you plan to use your CaaS on, and how flexible the framework needs to be.