С появлением сервиса «Докер» наблюдается всплеск предложений CaaS (Container as a Service) от разных провайдеров: Google, Amazon, IBM, Rackspace, например. «Докер» это платформа для девелоперов и сисадминов, позволяющая развивать, перемещать и запускать приложения. «Докер» позволяет быстро собирать приложения, тестировать код и запускать приложения в кратчайшие сроки.
Что же такое «Контейнер как услуга» и как он связан с IaaS, PaaS and SaaS, наиболе распространенными моделями облачных вычислений?
Кто-то полагает, что CaaS – это просто разновидность IaaS. В случае с CaaS единицей компьютерного ресурса является «контейнер» вместо виртуальной машины или «железа». Контейнер, в свою очередь, может запускаться на виртуальной машине или «железе». Таким образом, PaaS и SaaS могут использовать контейнеры или виртуальные машины или «железо» в качестве вычислительных ресурсов, в зависимости от базового IaaS слоя.
Вот как выглядит CaaS:
Вычислительным узлом может быть стандартное оборудование или виртуальная машина, на которой будут инициализироваться и работать контейнеры.
Ключевой компонент – это оркестратор контейнеров: компонент, отвечающий за планирование и подготовку контейнеров для запуска на стандартном оборудовании или виртуальных машинах, управление множеством контейнеров, запуском сервиса, управление конфигурациями и др.
Контейнеры и Контейнеры-как-услуга
Вокруг контейнеров существует множество слухов. Крайне привлекательными являются их способности отделения приложений, поддержки микросервисов и конфигурирования на платформе Linux.Уровни оркестровки, расположенные над контейнерами, позволяют более просто управлять и масштабировать блоки контейнеров.
Контейнеры, как ни странно, являются далеко не новой услугой. По словам Билла Коулмана, первого руководителя Sun Micrososytems, контейнеры впервые появились еще в 2005. Современные контейнеры легче поддерживать и их проще начать использовать. Сейчас, когда управление и развертывание приложений уже стандартизовано, существует потенциал для пересмотра способов доставки облачного ПО.