Containers as a service (CaaS) is a form of container-based virtualization in which container engines, orchestration and the underlying compute resources are delivered to users as a service from a cloud provider. In some cases, CaaS is also used to describe a cloud provider's container support services.
With CaaS, users can upload, organize, run, scale, manage and stop containers using a provider's API calls or web portal interface. As is the case with most cloud services, users pay only for the CaaS resources - such as compute instances, load balancing and scheduling capabilities -- that they use.
Within the spectrum of cloud computing services, CaaS falls somewhere between Infrastructure as a Service (IaaS) and Platform as a Service (PaaS). However, CaaS is most commonly positioned as a subset of IaaS. The basic resource for CaaS is a container, rather than a virtual machine (VM) or a bare metal hardware host system, which are used to support IaaS environments. However, the container can run within a VM or on a bare metal system.
Public cloud providers including Google, Amazon Web Services (AWS), IBM, Rackspace and Joyent all have some type of CaaS offering. For example, AWS has its Amazon EC2 Container Service (ECS), a high-performance container management service for Docker containers on managed Amazon EC2 instances. Amazon ECS eliminates the need for users to have in-house container or cluster management resources. Google's Container Engine service offers similar cluster management and orchestration capabilities for Docker containers.
The key difference between providers' CaaS offerings is typically the container orchestration platform, which handles key tasks, such as container deployment, cluster management, scaling, reporting and lifecycle management. CaaS providers can use a variety of orchestration platforms, including Google Kubernetes, Docker Machine, Docker Swarm, Apache Mesos, fleet from CoreOS, and nova-docker for OpenStack users.
CaaS offerings are usually used by application developers deploying new applications.