13 открытых Container Management and Automation решений
Не за горами очередной большой тренд: большинство современных открытых облачных платформ уже интегрировали в себя и не плохо поддерживают контейнерные технологии.
Решения по управлению и автоматизации контейнеров на сегодняшний день представляют собой очень горячую тему для разработчиков, т.к. все современные компании соревнуются между собой в решении все возрастающего количества задач по управлению распределенными, истинно облачными приложениями.
Аналитики из 451 Research назвали контейнеры «будущим виртуализации», предсказывая сильный рост спроса на эту технологию для частных и публичных облаков. Тем временем OpenStack User Survey показывает, что Kubernetes (открытое решение для построения кластеров контейнеров) занял прочную главенствующую позицию среди Platform-as-a-Service (PaaS) решений.
По данным отчета Cloud Foundry «Hope Vs. Reality: Containers in 2016» внедрение контейнерных технологий таких как Docker также очень горячий тренд, 53% организаций уже начинают или полноценно используют контейнеры в процессах разработки или промышленной эксплуатации своих приложений. Из этого же отчета также следует, что использование контейнеров — это основной ключевой фактор для компаний по внедрению процесса непрерывной доставки своего ПО (Continuous Delivery) в процессе своей цифровой трансформации. Также установлен факт, что конечные пользователи предпочитают больше использовать доступные платформы для управления контейнерами нежели решения по их оркестрации.
В то же время, такие компании как Mirantis ускоренно организуют обучающие программы и сертификации по контейнерным технологиям. Mirantis недавно анонсировала программу Kubernetes and Docker Bootcamp (KD100), а также связанную с ней сертификацию Mirantis Certification for Kubernetes (MCK100) для самостоятельного обучения онлайн. Этот курс прямо ориентирован на управление контейнерами в процессе развертывания облачных приложений.
Более того, Linux Foundation также совсем недавно опубликовала очень интересный отчет «Guide to the Open Cloud: Current Trends and Open Source Projects», в котором предоставлен их всесторонний взгляд на состояние дел в области открытых облачных вычислений.
В этой статье ниже приведен обзор основных решений по управлению и автоматизации контейнеров, а также ссылки на их репозитории, взятые из отчета Linux Foundation:
Apache Aurora
Apache Aurora это Mesos фреймворк, предназначенный для запуска и организации безостановочной работы приложений и сервисов в общем пуле вычислительных ресурсов. Когда вычислительный сервер выходит из строя, Aurora интеллектуально перераспределяет ее задачи на работающие вычислительные узлы. Aurora Git репозиторий.
Apache Mesos
Apache Mesos, это проект Apache Software Foundation, предназначенный для абстракции процессора, памяти, дисковых и других ресурсов физических или виртуальных машин и построения отказоустойчивых и эластичных распределенных систем. Mesos Git репозиторий.
Cloud Foundry Diego
Cloud Foundry Diego это системаследующего поколения для управления и запуска контейнеров. При помощи Cloud Foundry она распределяет нагрузку на обслуживаемое приложение по всем виртуальным машинам, запущенным на вычислительных узлах таким образом, чтобы сохранять сбалансированную работу конечного приложения не смотря на любые отказы физического оборудования.
Docker Engine
Docker Engine это открытая контейнерная технология, содержащая в себе встроенный процесс создания и контейнеризации приложений, разработанная компанией Docker. Контейнеры Docker запускаются на рабочих станциях, ноутбуках, физических серверах, виртуальных машинах, датацентрах, а также в публичных и частных облаках. Docker на GitHub
Docker Swarm (Machine и Compose)
Docker Swarm это собственное решение по кластеризации контейнеров Docker. Он превращает пул серверов, где развернут Docker, в один единственный большой виртуальный Docker сервер. Т.к. Docker Swarm поддерживает стандартный Docker API, любая утилита, уже взаимодействующая с демоном Docker, может использовать Swarm для масштабирования на множество серверов. Он поддерживает множество различных утилит, таких как Dokku, Docker Compose, Docker Machine, Jenkins и другие. Docker Swarm на GitHub
Kontena
Kontena это платформа для разворачивания, управления, масштабирования и мониторинга контейнеризованных приложений и микросервисов. Она работает в любом публичном облаке, частном датацентре, виртуализованном или только железном гибридном окружении.
Kubernetes
Kubernetes, это проект Cloud Native Computing Foundation (CNCF) в The Linux Foundation, представляющий собой контейнерный кластерный менеджер для автоматического разворачивания, масштабирования и управления контейнеризованными приложениями, разработанный и открытый как технология корпорацией Google. Он объединяет контейнеры, составляющие конечное приложение, в логические единицы для максимально простого ими управления и обнаружения. Kubernetes на GitHub
ManageIQ
ManageIQ это open source проект лежащий в основе Red Hat CloudForms. Он автоматизирует, оптимизирует и контролирует облачные сервисы и виртуализованные ресурсы из единого интерфейса управления.
oVirt
oVirt это приложение для управления виртуализацией. Оно может управлять физическими серверами, СХД, сетевыми ресурсами, а также разворачивать и мониторить виртуальные машины, запущенные в датацентре. Это основной проект, лежащий в основе Red Hat Enterprise Virtualization. oVirt на GitHub
Skippbox (продукты Kmachine и Kompose)
Kmachine — это утилита для Kubernetes от Skippbox, кототорая помогает разработчикам создавать отдельный, состоящий из одного сервера Kubernetes хост в публичных облаках так же, как это делает Docker Machine. Kompose же берет файл конфигурации Docker Compose, описывающий контейнеризованное приложение и автоматически генерирует соответствующие объекты для Kubernetes. Kmachine на GitHub | Kompose на GitHub
Sysdig
Sysdig — это распределенное решение для системного мониторинга и отладки для Linux со встроенной поддержкой контейнеров. Оно агрегирует состояние операционной системы, а также ее активность у работающих Linux серверов с последующим ее хранением, фильтрацией и анализом. Оно автоматизируется на Lua и включает в себя консольные утилиты для управления и графический пользовательский интерфейс. Sysdig на GitHub
Weaveworks
Weaveworks — это набор решений для кластеризации, разворачивания и отслеживания микросервисов и облачных приложений в локальных и внешнийх сетях. Weave Net и Flux работают с любым оркестратором и предназначены для объединения и защиты приложений в датацентрах и публичных облаках. Weave Scope предназначен для мониторинга приложений в реальном времени. Weaveworks на Github
Wercker
Wercker — это платформа автоматизации, предназначенная для сборки и разворачивания контейнеров многослойных облачных приложений. Она может собирать контейнеры автоматически с последующей публикацией их в публичные или частные Docker реестры (Docker Registry) и разворачивать их в таких планировщиках как Marathon и DC/OS или же кластере Kubernetes. Wercker on GitHub