Microsoft представила новый сервис для ускоренного создания и развертывания контейнерных приложений в частных или гибридных облаках Azure Container Instances (ACI). Он предлагается в рамках службы контейнеров Microsoft Azure, которая предоставляет средства для управления контейнерами на нескольких узлах. Чтобы обеспечить полную переносимость контейнеров приложения, Azure использует формат контейнера Docker. Сервис также поддерживает Marathon и DC/OS, Docker Swarm и Kubernetes, позволяя масштабировать эти приложения до тысяч и даже десятков тысяч контейнеров.
«ACI — это первая услуга такого рода в облаке, которая позволяет легко и быстро разворачивать контейнерные окружения без задействования инфраструктуры управления виртуальными машинами», — написал в корпоративном блоге Microsoft директор Azure по вычислениям Кори Сандерс. По его словам, ACI сохраняет переносимость корпоративных приложений, в том числе на уровне оркестровки.
Появление подобного сервиса наверняка вызовет интерес у разработчиков корпоративных приложений и команд DevOps, которые применяют методы Agile и быстрые циклы разработки приложений. Microsoft рассчитывает, что ACI упростит им переход на «контейнерные рельсы», избавив от необходимости тонкой подстройки контейнерных сред приложений. Запуск контейнеров при помощи ACI не требует особых навыков и может быть осуществлен посредством простых команд, содержащих несколько параметров.
Сандерс подчеркивает, что обратной стороной относительно простого запуска контейнеров является рост потребления вычислительных ресурсов и, соответственно, связанные с этим финансовые затраты. Чтобы не допустить этого, в ACI внедрен гибкий инструмент для полного контроля за потребляемыми контейнерами ресурсами (память и виртуальные процессоры) и посекундная тарификация оплаты. «Схема работы ваших контейнеров в ACI предполагает, что вам не следует беспокоиться о дополнительных издержках за перерасход ресурсов. Контейнеры будут работать ровно столько, сколько вам требуется — ни секундой дольше или меньше. Перерасход гигабайтов также исключен», — заверил Сандерс.
Он добавил, что ACI выступает в качестве проводника для контейнеров, превращая их в первоклассные средства для работы с платформой Azure. Дополнительную гибкость им придает контроль доступа на основе ролей (Role-Based Access Control, RBAC) — вкупе с использованием тегов для организации ресурсов в Azure эта технология позволяет управлять запущенными экземплярами на уровне отдельных контейнеров. Тем не менее, новый сервис не предназначен для замены оркестраторов контейнеров, скорее он выступает в качестве надстройки оркестраторов и других контейнерных сервисов, включая Kubernetes.
К слову, вслед за ACI Microsoft анонсировала инструмент с открытым кодом ACI Connector. Он предназначен для Kubernetes, популярной платформы для управления и оркестровки контейнеров. При помощи ACI Connector пользователи могут разворачивать контейнеры в ACI, извлекая их из кластеров Kubernetes. Среди преимуществ ACI Connector указывается возможность аренды вычислительных ресурсов для управления контейнерами по запросу. Отдельно взимается плата за управление инфраструктурой виртуальных машин. Azure Container Instances выпущен в виде превью-версии и пока что может работать исключительно с Linux-контейнерами. В планы Microsoft входит поддержка контейнеров Windows — это произойдет через несколько недель.
Нужно заметить, что выпуск Open Source-продуктов типа ACI Connector становится едва ли не традицией для Microsoft. Вдобавок к этому компания решила сотрудничать с организацией Cloud Native Computing (CNC), примкнув к ней в статусе платинового участника. CNC занимается разработкой открытых контейнерных технологий и микросервисов, создавая общие спецификации для построения облачных приложений. Это требуется для совместимости и прозрачности кода в программной инфраструктуре предприятия. В рамках Linux Foundation (Microsoft вошла в состав участников этой организации в прошлом году) CNC курирует такие проекты, как Prometheus, OpenTracing и Kubernetes.
Системный архитектор Microsoft Azure Джон Госсман заявил, что «Open Source является одним из самых важных источников для обмена информацией и сотрудничества между поставщиками, клиентами или исследователями». По его словам, силу Open Source подпитывают многочисленные сообщества, которые следует опекать, выступая в качестве контрибутора кода или помогая им решать организационные вопросы. Напомним, что недавно Open Container Initiative (OCI), которая как и CNC занимается разработкой открытых контейнерных технологий, выпустила для Linux-контейнеров первую версию своих спецификаций, определяющих стандарт для исполняемой среды и формата образов.