A Container-as-a-Service (CaaS) provides container platforms as hosted, all-in-one solutions via the cloud. In this guide, we’ll explain what this service entails and introduce four of the most popular CaaS platforms. Ad­di­tion­ally, we’ll outline how to leverage cloud-based container services in a business context.

What is CaaS?

CaaS—short for Container-as-a-Service—is a business model in which cloud computing providers offer platforms for container-based vir­tu­al­isa­tion as a scalable online service. This allows busi­nesses to utilise container services without the need to provide the required in­fra­struc­ture them­selves. The term is a marketing concept inspired by other cloud service models like In­fra­struc­ture-as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS).

What are container services?

A container service refers to the offering from a cloud computing provider that allows users to develop, test, run, or dis­trib­ute software within ap­plic­a­tion con­tain­ers across IT in­fra­struc­tures. This concept ori­gin­ates from the Linux ecosystem and enables vir­tu­al­isa­tion at the operating system level. In­di­vidu­al ap­plic­a­tions, along with all their de­pend­en­cies such as libraries and con­fig­ur­a­tion files, are executed as en­cap­su­lated instances. This approach allows for the parallel operation of multiple ap­plic­a­tions with different re­quire­ments on the same operating system and enables de­ploy­ment across diverse systems.

CaaS typically includes a complete container en­vir­on­ment, featuring or­ches­tra­tion tools, an image catalog (known as a registry), cluster man­age­ment software, as well as a suite of developer tools and APIs.

Compute Engine
The ideal IaaS for your workload
  • Cost-effective vCPUs and powerful dedicated cores
  • Flex­ib­il­ity with no minimum contract
  • 24/7 expert support included

How does CaaS differ from other cloud services?

Since the mid-2000s, cloud computing has provided busi­nesses and in­di­vidu­al users with an al­tern­at­ive to hosting IT resources on their own premises (on-premises). Beyond CaaS, the following three service models have become par­tic­u­larly popular:

  • IaaS: In­fra­struc­ture-as-a-Service provides virtual hardware resources such as computing power, storage space, and network capacity. IaaS vendors provide these basic IT in­fra­struc­ture building blocks in the form of virtual machines (VM) or virtual local area networks (VLANs).
  • PaaS: The middle tier of the cloud computing model is known as Platform-as-a-Service. Within the framework of PaaS, cloud providers provide pro­gram­ming platforms and de­vel­op­ment en­vir­on­ments over the internet. PaaS is based on IaaS.
  • SaaS: The top level of the cloud computing model deals purely with ap­plic­a­tions. Software-as-a-Service involves providing ap­plic­a­tion software over the internet. The provided programs run on this service model on the provider’s own server, rather than on the customer’s hardware.
Image: Schematic representation of the cloud service models IaaS, PaaS, and SaaS
Com­par­is­on of cloud service models IaaS, PaaS, and SaaS on providing resources on their own premises.

In the tra­di­tion­al clas­si­fic­a­tion of the three es­tab­lished cloud computing models, CaaS can be po­si­tioned between IaaS and PaaS. However, Container-as-a-Service dis­tin­guishes itself from these service models through a fun­da­ment­ally different vir­tu­al­isa­tion approach: container tech­no­logy.

Defin­i­tion

Container-as-a-Service is a form of container-based vir­tu­al­isa­tion that provides the runtime en­vir­on­ment, or­ches­tra­tion tools, and all un­der­ly­ing in­fra­struc­ture resources through a cloud computing provider.

How does CaaS work?

Container-as-a-Service is a computer cluster that is available through the cloud and is used to upload, create, centrally manage, and run container-based ap­plic­a­tions on the cloud platform. The in­ter­ac­tion with the cloud-based container en­vir­on­ment takes place either through the graphical user interface (GUI) or in the form of API calls. The provider dictates what container tech­no­lo­gies are available to users: However, the core of each CaaS platform is an or­ches­tra­tion tool (also known as or­ches­trat­or) that allows complex container ar­chi­tec­tures to be managed.

The following functions are important:

  • Dis­tri­bu­tion of con­tain­ers across multiple hosts
  • Grouping con­tain­ers into logical units
  • Container scaling
  • Load balancing
  • Storage capacity al­loc­a­tion
  • Com­mu­nic­a­tion interface between con­tain­ers
  • Service discovery

The choice of or­ches­trat­or used within a CaaS framework directly impacts the features available to users of the cloud service. Currently, the market for container-based vir­tu­al­isa­tion is primarily dominated by the following or­ches­tra­tion tools: Docker Swarm, Kuber­netes, OpenShift, and Amazon Elastic Container Service (ECS).

Tip

You can find a detailed de­scrip­tion of the most popular or­ches­tra­tion tools and Docker tools as well as an in-depth com­par­is­on between OpenShift and Kuber­netes in separate Digital Guide articles.

What makes a Container-as-a-Service provider stand out?

When choosing a CaaS service for business use, it’s important for users to ask them­selves the following questions:

  • What or­ches­tra­tion tools are available?
  • Which file formats for container ap­plic­a­tions are supported?
  • Is it possible to run multi-container ap­plic­a­tions?
  • How are clusters for container op­er­a­tions managed?
  • What network and storage features are supported?
  • Does the provider offer a private registry for container images?
  • How well is the container runtime en­vir­on­ment in­teg­rated with other cloud services provided by the vendor?
  • What billing models are available?

An overview of CaaS providers

Container tech­no­logy is thriving, leading to a vast array of CaaS services. Vir­tu­al­isa­tion services at the operating system level can be found in the port­fo­li­os of nearly all public cloud providers. Major players such as Amazon, Microsoft, Google, and IONOS—currently among the most in­flu­en­tial in the CaaS market—have expanded their cloud platforms to include Docker-based container solutions.

Note

Docker is the most popular container platform on the market. The container format developed by Docker – a further de­vel­op­ment of the Linux container (LXC) – is widely used and supported by all CaaS providers.

IONOS Cloud Managed Kuber­netes

Managed Kuber­netes is the ideal platform for high-per­form­ance and highly scalable container ap­plic­a­tions. The service is directly ac­cess­ible through the IONOS Cloud Panel and combines the IONOS IaaS platform with leading container tech­no­lo­gies, Docker and Kuber­netes.

Image: Product website of IONOS Managed Kubernetes
IONOS Cloud Managed Kuber­netes: Cluster-hosting, container de­ploy­ment and or­ches­tra­tion – all in one place.

The IONOS CaaS solution is designed for de­velopers and IT op­er­a­tions teams, enabling the pro­vi­sion­ing, man­age­ment, and scaling of container-based ap­plic­a­tions in Kuber­netes clusters. Its feature set includes:

  • Managed cloud nodes with dedicated server resources
  • Cus­tom­is­able cluster man­age­ment
  • Full access to ap­plic­a­tion con­tain­ers
  • User-defined or­ches­tra­tion
  • Pro­fes­sion­al support for using and creating container clusters in the Cloud Panel, provided by IONOS First Level Support
  • IONOS Cloud Community

The IONOS support covers pro­vi­sion­ing and managing container clusters. However, direct support for kubectl or the Kuber­netes dashboard is not provided. Through the IONOS Cloud Panel, users can access various third-party ap­plic­a­tions such as Febrac8, Helm, GitLab, or Auto­scaler as one-click solutions. Ad­di­tion­ally, the DockerHub online service can be in­teg­rated as a registry for Docker images.

IONOS Cloud Managed Kuber­netes enables the fully automated setup of Kuber­netes clusters. The service itself is entirely free—users only pay for the un­der­ly­ing IONOS Cloud in­fra­struc­ture that is actually pro­vi­sioned.

Ad­vant­ages Dis­ad­vant­ages
Full Kuber­netes com­pat­ib­il­ity No software support for kubectl and Kuber­netes
Wide selection of pre-installed third-party solutions
High port­ab­il­ity
IONOS Cloud Managed Kuber­netes
Container workloads in expert hands

The ideal platform for demanding, highly scalable container ap­plic­a­tions. Managed Kuber­netes works with many cloud-native solutions and includes 24/7 expert support.

Amazon Elastic Container Service (ECS)

Since April 2015, the online retailer Amazon has been offering container-based vir­tu­al­isa­tion solutions under the name Amazon Elastic Container Service (ECS) as part of its AWS (Amazon Web Services) cloud computing platform. Like the IONOS service, ECS ex­clus­ively supports con­tain­ers in the Docker format.

FnFvpIsBrog.jpg To display this video, third-party cookies are required. You can access and change your cookie settings here.

Amazon ECS provides users with various in­ter­faces to run isolated ap­plic­a­tions in Docker con­tain­ers within the Amazon Elastic Compute Cloud (EC2). Tech­nic­ally, the CaaS service is based on the following cloud resources:

  • Amazon EC2 Instances (Elastic Compute Cloud Instances): Scalable compute capacity from Amazon’s cloud computing service, available as rentable instances.
  • Amazon S3 (Simple Storage Service): A cloud-based object storage platform.
  • Amazon EBS (Elastic Block Store): High-avail­ab­il­ity block storage volumes for EC2 instances.
  • Amazon RDS (Re­la­tion­al Database Service): A database service sup­port­ing re­la­tion­al engines like Amazon Aurora, Post­gr­eSQL, MySQL, MariaDB, Oracle, and Microsoft SQL Server.

Container man­age­ment in ECS is handled by a pro­pri­et­ary or­ches­trat­or by default, acting as the master and com­mu­nic­at­ing with an agent on each node of the managed cluster. Al­tern­at­ively, the open-source module Blox allows for custom sched­ulers and third-party tools like Mesos to be in­teg­rated into ECS.

A key strength of Amazon ECS is its in­teg­ra­tion with other Amazon services, such as the per­mis­sion man­age­ment tool ‘AWS Identity and Access Man­age­ment (IAM)’, the cloud load balancer ‘Elastic Load Balancing’, and the mon­it­or­ing service ‘Amazon Cloud­Watch’.

However, a notable drawback is the re­stric­tion to EC2 instances. Amazon’s CaaS service does not support IT in­fra­struc­tures outside of AWS—neither physical nor virtual. This means hybrid-cloud scenarios and combining resources from various public cloud providers (multi-cloud) are not possible. This lim­it­a­tion aligns with Amazon’s business model: ECS is tech­nic­ally free to use through AWS, with costs only incurred for the cloud in­fra­struc­ture, such as an EC2 instance cluster that supports container ap­plic­a­tions.

Ad­vant­ages Dis­ad­vant­ages
In­teg­ra­tion with other AWS products Container de­ploy­ment limited to EC2 instances
Free to use (in­fra­struc­ture costs apply) Pro­pri­et­ary or­ches­trat­or

Google Kuber­netes Engine (GKE)

Google also offers a hosted container service in­teg­rated into its public cloud, known as the Google Kuber­netes Engine (GKE). The core component of this CaaS service is the or­ches­tra­tion tool Kuber­netes.

pQ87vVMZK-A.jpg To display this video, third-party cookies are required. You can access and change your cookie settings here.

GKE uses resources from the Google Compute Engine (GCE) and enables users to run con­tain­er­ised ap­plic­a­tions on clusters in the Google Cloud. However, GKE is not limited to Google’s in­fra­struc­ture: Kuber­netes’ Cluster Fed­er­a­tion System allows resources from multiple computer clusters to be combined into a logical compute fed­er­a­tion, enabling hybrid- and multi-cloud scenarios.

Each cluster created with GKE consists of a Kuber­netes master endpoint running the Kuber­netes API server and a con­fig­ur­able number of worker nodes. These nodes handle REST requests from the API server and execute services required to support Docker con­tain­ers. GKE also supports the widely adopted Docker container format. Users can deploy Docker images through a private container registry and define container services using JSON-based templates.

Kuber­netes in­teg­ra­tion in GKE provides the following features for container ap­plic­a­tion or­ches­tra­tion:

  • Automatic bin­pack­ing: Kuber­netes ef­fi­ciently schedules con­tain­ers by auto­mat­ic­ally assigning them to nodes based on their resource re­quire­ments and con­straints, ensuring optimal cluster util­isa­tion.
  • Health checks with auto-repair: Kuber­netes performs automated health checks to ensure all nodes and con­tain­ers function properly.
  • Ho­ri­zont­al scaling: Kuber­netes allows ap­plic­a­tions to scale up or down seam­lessly.
  • Service discovery and load balancing: Kuber­netes supports service discovery via en­vir­on­ment variables and DNS records. Load balancing is achieved using IP addresses and DNS names.
  • Storage or­ches­tra­tion: Kuber­netes enables automatic mounting of various storage systems.

Google adopts a different pricing model for its CaaS service compared to Amazon. In the free basic edition, users receive a monthly credit of $74.40 (around £60) per billing account, ap­plic­able to zonal and Autopilot clusters. In the Kuber­netes editions, costs are based on hourly usage per vCPU or cluster. Pricing for the ‘Compute’ edition follows the rates of the Compute Engine.

Ad­vant­ages Dis­ad­vant­ages
In­teg­ra­tion with other Google products Steep learning curve
In­ter­op­er­ab­il­ity Can become expensive quickly

Microsoft Azure Kuber­netes Service (AKS)

Azure Kuber­netes Service (AKS) is a hosting en­vir­on­ment optimised for Microsoft’s cloud computing platform, Azure. It enables users to develop container-based ap­plic­a­tions and deploy them in scalable compute clusters. AKS utilises an Azure-optimised version of open-source container tools and supports running both Linux and Windows con­tain­ers in Docker format.

Image: Microsoft Azure Kubernetes Service (AKS) Product Website
Screen­shot of the Azure Kuber­netes Service (AKS) website; Source: https://azure.microsoft.com/en-gb/products/kuber­netes-service/

The features available to AKS users for running con­tain­er­ised ap­plic­a­tions in the Azure cloud depend primarily on the choice of or­ches­trat­or. Popular supported or­ches­trat­ors include Kuber­netes, DC/OS, and Docker Swarm. In its Docker Swarm version, AKS relies on the Docker stack, using the same open-source tech­no­lo­gies as Docker’s Universal Control Plane (a core component of Docker Data­cen­ter). In­teg­rated into the Azure Container Service, Docker Swarm provides the following features for or­ches­trat­ing and scaling container ap­plic­a­tions:

  • Docker Compose: Docker’s solution for multi-container ap­plic­a­tions allows linking multiple con­tain­ers and managing them centrally with a single command.
  • Command-Line Control: The Docker CLI (Command Line Interface) and the multi-container tool Docker Compose enable direct man­age­ment of container clusters via the command line.
  • REST API: The Docker Remote API offers access to various third-party tools within the Docker ecosystem.
  • Rule-Based De­ploy­ment: The dis­tri­bu­tion of Docker con­tain­ers within a cluster can be managed using labels and con­straints.
  • Service Discovery: Docker Swarm provides several service discovery func­tion­al­it­ies for users.

Ad­di­tion­ally, Microsoft has enhanced AKS with CI/CD features (con­tinu­ous in­teg­ra­tion and de­ploy­ment) for multi-container ap­plic­a­tions developed using Visual Studio, Visual Studio Team Services, or the open-source tool Visual Studio Code. Identity and access man­age­ment is handled through Active Directory, whose core functions are free for users up to a limit of 500,000 directory objects. Similar to Amazon ECS, there are no fees for using container tools with the Azure Container Service. Charges only apply to the un­der­ly­ing in­fra­struc­ture usage.

Ad­vant­ages Dis­ad­vant­ages
Fully in­teg­rated with the Azure cloud platform Limited selection of operating systems
Supports all standard or­ches­tra­tion tools
Go to Main Menu