Containers as a Service (CaaS) – форма виртуализации на основе контейнеров, где контейнерные решения и инструменты, а также основные вычислительные ресурсы предоставляются пользователям как сервис со стороны поставщика облачных услуг. В некоторых случаях CaaS также используется для описания услуги поддержки контейнеров облачными хостинг-провайдерами.
С помощью услуги CaaS пользователи могут загружать, организовывать, запускать, останавливать контейнеры, используя предоставляемые провайдером средства API или веб-портал управления. Как и в случае с большинством облачных сервисов, клиенты вносят плату за использованное количество ресурсов в рамках услуги CaaS.
Если сравнивать весь спектр предлагаемых облачных услуг, CaaS вписывается между IaaS (Infrastructure as a Service) и PaaS (Platform as a Service). Но, несмотря на озвученный модельный ряд облачных услуг, CaaS все же часто позиционируют как подмножество IaaS. Обратите внимание, что основным ресурсным элементом CaaS является контейнер, а не виртуальная машина или аппаратная часть хоста, которые используются в инфраструктуре IaaS. При этом сам контейнер может работать как внутри виртуальной машины, так и на голом железе.
Сегодня такие провайдеры публичных облаков, как Google, Amazon Web Services (AWS), IBM, Rackspace и Joyent, предлагают своего рода CaaS. Например, AWS предоставляет собственную услугу на базе контейнеров, известную как Amazon EC2 Container Service (ECS). Ее особенность заключается в организации высокопроизводительного сервиса для управления контейнерами Docker с использованием управляемых экземпляров Amazon EC2.
Зачастую ключевые отличия услуги CaaS, предлагаемой различными поставщиками, заключаются в организации контейнерной платформы и реализации базовых задач, таких как развертывание контейнеров, управление кластером, масштабирование, отчетность и управление жизненным циклом. Но чаще всего услуга CaaS используется разработчиками для развертывания новых приложений.