Thanks to the emergence of a wide selection of containers as a service, or CaaS, offerings, installing and managing...
a Docker environment -- complete with orchestration, an image registry and more built in -- is now pretty easy.
This article explains what CaaS is and what to look for when choosing a CaaS option.
Defining containers as a service
CaaS is what you get when you take the platform as a service paradigm and apply it to containers. A CaaS is designed to be a complete, easy-to-install platform for hosting and managing containerized applications.
Think of a CaaS as a Linux distribution. If you want, you could take all the different pieces you need to create a Linux-based operating system, then build and configure them yourself. Or you could use a Linux distribution like CentOS or Ubuntu, where everything comes preassembled and ready to use out of the box.
Containers as a service works in similar way. Instead of forcing you to set up everything required to run and manage a container cluster, a CaaS gives you a turnkey container solution.
Most CaaS systems consist of the following core components:
- A Linux-based operating system that supports containers.
- A container runtime, usually Docker Engine.
- One or more container orchestration tools, such as Kubernetes, Swarm or Mesos.
- A container registry for hosting container images.
It's worth mentioning that CaaS is different from software as a service or infrastructure as a service. CaaS offerings are not strictly limited to the cloud; some CaaS platforms can be deployed on premises.
The list of containers as a service offerings available is rapidly growing. Here are the best-known platforms:
- Amazon Elastic Container Service, or ECS, a CaaS for the AWS cloud
- Azure Container Service, Azure's CaaS
- Google Container Engine
- Rancher by Rancher Labs, a CaaS that can run in the cloud or on premises
- Docker Datacenter, Docker's own CaaS
- MicroOS, a new CaaS from SUSE
- Tectonic, a CaaS built using Kubernetes and CoreOS
- OpenShift, Red Hat's cloud or on-premises CaaS
Choosing a CaaS
With so many CaaS offerings out there, how do you choose which one is right for you? Here are important factors to consider:
- Do you want to host a CaaS in the cloud, on premises or both? Some CaaS offerings namely, AWS ECS, Azure Container Service and Google Container Engine run only in the public cloud. Others, such as Rancher, can be installed on premises or on a virtual server in the cloud. OpenShift is probably the most flexible option; it can run on premises and on a virtual server in the public or private cloud, or via OpenShift Online, Red Hat's hosted version of the platform.
- Do you want to choose which components to use? Some CaaS options provide a lot of flexibility in choosing which orchestrators and registries you use. For example, Rancher supports all of the major orchestration tools. In contrast, OpenShift only works with Kubernetes, so if you prefer Swarm or Mesos instead, OpenShift is not an ideal choice for you.
- Which OS do you want to run on? Some CaaS platforms can run on any modern version of Linux. Here again, Rancher is an example, although Rancher developers offer a special Linux distribution, RancherOS, for hosting Rancher. You can use any other modern Linux distribution of your choice if you prefer. Other CaaS platforms are tied to a specific Linux distros. OpenShift runs only on Red Hat Enterprise Linux, for example. These differences might matter depending on which flavors of Linux are most familiar to you.
With so many containers as a service options now available, you have plenty of choices when selecting the platform that best fits your needs.
Learn about the emerging communications PaaS tools to strengthen your business processes
Microsoft Dockers to push containers toward production in enterprise environment
Getting to know more about CaaS
See what OpenShift containers can do for your business