Containers-as-a-Service (CaaS) is a cloud service model that allows users to manage and deploy containers, Linux applications and clusters through container-based virtualization. Container engines, orchestration and the underlying compute resources are delivered to users as a service from a cloud provider. The CaaS model is designed to help both developers and IT departments develop, run and manage containerized applications. In a CaaS model, containers and clusters are provided as a service that can be deployed in on-site data centers or in the cloud.
CaaS allows users to start, stop, scale and manage containers using a provider’s API calls or web portal interface. Like most cloud services, users pay only for the CaaS resources – such as compute instances, load balancing and scheduling capabilities – that they use. The basic resource for CaaS is a container, rather than a virtual machine (VM) or a bare-metal hardware host as in IaaS. Containers can run within a VM or on a bare metal system. Most cloud providers offer some type of CaaS product. The key difference between CaaS offerings is typically the container orchestration platform, which handles container deployment, cluster management, scaling, reporting and lifecycle management. CaaS providers can use a variety of orchestration platforms, such as Kubernetes and Docker. For developers, a CaaS model streamlines the process of building a scaled-out container and applications deployment. For IT departments, CaaS offers a completely enabled container deployment service with security and governance control for IT management.
Enterprises use CaaS to simplify container management in their software-defined infrastructures.