Сегодня многие технологические компании уделяют пристальное внимание контейнерным технологиям.
Среди них Google, IBM, Microsoft и, конечно же, HPE. Контейнеры позволяют «упаковать» в один физический сервер гораздо больше приложений, чем это могут сделать виртуальные машины.
Контейнерные технологии не новы, многие знают о них, например, по разработкам Parallels, но они играют все более важную роль в центрах обработки данных и облаках.
Мы поговорим о них.
Немного отличается от контейнеров, о которых мы говорим, но привлечь внимание надо :)
Как и многие компании в мире высоких технологий, Hewlett Packard Enterprise занимается венчурными инвестициями.
Одним из недавних примеров являются инвестиции в ведущего на рынке разработчика программно-определяемых объектных хранилищ Scality. Еще один пример инвестиций в передовые технологии — поддержка стартапа MesSphere, разработчика так называемой DC/OS.
Что такое DC/OS и чем она хороша?
DC/OS (Операционная система центра обработки данных), ранее известная как DCOS, недавно стала открытой.Разработчик Mesphere из Сан-Франциско решил открыть исходный код своего основного кода.
Пару лет назад компания MesSphere разработала коммерческую версию DCOS. Основанная на ядре Apache Mesos, DC/OS упрощает управление разнородными рабочими нагрузками на таких платформах, как Hadoop, Spark, Kafka и Docker. На сегодняшний день Mesphere DC/OS стала коллективным проектом, в котором участвуют более 50 компаний, включая Autodesk, Canonical, Cisco, Citrix, EMC, HPE, Joyent, Microsoft, NetApp и Verizon. Контейнеры и микросервисы начали набирать популярность в связи с разработкой и развертыванием распределенных приложений.
Как оказалось, контейнеризация дает ряд преимуществ.
Приложения в контейнерах называются облачными приложениями.
Что хорошего в DC/OS в этом плане? Хотя контейнеры обеспечивают хорошую масштабируемость, у них есть недостаток: их трудно обеспечить тесную интеграцию с существующими приложениями, такими как базы данных, хранилища данных и платформы больших данных.
DC/OS разработана специально для того, чтобы вы могли управлять различными типами приложений в одной среде.
Он устраняет разрыв между традиционными бизнес-приложениями и современными облачными приложениями и обеспечивает оркестрацию.
Например, в DC/OS вы можете запускать масштабируемые веб-приложения в контейнерах, которые взаимодействуют с кластерами Apache Hadoop или Cassandra, использовать Marathon для оркестрации контейнерных приложений и Chronos для планирования длительных задач.
Эта унифицированная среда позволяет запускать масштабируемые контейнерные приложения наряду с традиционными.
Это основная особенность DC/OS. Хотя Docker традиционно используется для создания и развертывания контейнеров, для оркестрации контейнерных приложений необходим дополнительный уровень.
Такими решениями для управления контейнерами более высокого уровня являются Docker Swarm и Kubernetes. Docker Swarm разрабатывается и поддерживается Docker, а Kubernetes является результатом перевода с открытым исходным кодом подмножества инструмента управления центром обработки данных Google под названием Borg. Интересно, что DC/OS может управлять средами Docker Swarm и Kubernetes. Операционная система DC/OS распространяется на все серверы в центре обработки данных или облаке и обеспечивает мощный уровень абстракции ресурсов.
Базовое ядро Apache Mesos DC/OS для распределенных систем включает планировщик, который создает пул ресурсов, автоматически распределяет их и планирует задания в соответствии с запросами и политиками.
По сути, центр обработки данных работает как один большой компьютер.
Технологию мезосферы можно рассматривать как своего рода мозг, который автоматически распределяет ресурсы и данные для приложений.
DC/OS предоставляет гибкие возможности развертывания приложений, служб и инфраструктуры больших данных, использующих общие ресурсы.
В такой масштабируемой среде можно запускать самые разные приложения и рабочие нагрузки — от PaaS до приложений для больших данных и СУБД.
DC/OS работает в любой современной среде Linux, в частных и общедоступных облаках, на виртуальных машинах, на «голом железе» x86, обеспечивая эффективное использование ресурсов.
Поддержка отрасли
В прошлом году под руководством Google был сформирован консорциум Cloud Native Computing Foundation (CNCF) для продвижения облачных приложений.В его состав входят Joyent, CoreOS, IBM, VMWare, Cisco, Weaveworks и другие.
Консорциум CNCF управляется Linux Foundation. Мезосфера является одним из основателей этого консорциума.
Mesphere не создала отдельный консорциум для DC/OS, но поддерживает сообщество соответствующих разработчиков программного обеспечения.
Если консорциум CNCF больше связан с Kubernetes, то разработка и продвижение DC/OS стоит на повестке дня сообщества во главе с MesSphere и Microsoft. Эксперты полагают, что со временем DC/OS может стать реальной альтернативой Kubernetes. HPE и Microsoft являются ключевыми инвесторами в Mesphere. Их инвестиции составили 73,5 миллиона долларов, при этом лидировала Hewlett Packard Enterprise. Технология DC/OS будет играть важную роль в гибридных облаках Microsoft и может использоваться в будущей платформе частного облака Microsoft Azure Stack. Благодаря службе контейнеров Azure в общедоступном облаке и DC/OS в частном облаке Microsoft сможет предлагать корпоративным клиентам возможности гибридного облака.
В корпоративных центрах обработки данных возможности DC/OS также могут использовать другие технологии, такие как HDInsight в Windows Server. Разработки мезосферы отражены в службе контейнеров Microsoft Azure (ACS).
Служба контейнеров Azure значительно ускоряет разработку программного обеспечения.
Microsoft сделала свою службу оркестровки контейнеров доступной одновременно с анонсом Mesphere DC/OS. ACS — это служба CaaS (контейнеры как услуга), которая конкурирует с Google Container Engine и Amazon EC2 Container Service. Однако ни Amazon, ни Microsoft не являются членами Cloud Native Computing Foundation. Amazon CaaS использует собственный механизм оркестрации, а служба контейнеров Azure поддерживает Docker Swarm и DC/OS. Они не используют Kubernetes. Verizon использует Mesphere DC/OS для управления своими центрами обработки данных, а Apple, Twitter и Airbnb используют эту технологию для работы с большими объемами данных.
Например, Apple использовала его в своем виртуальном помощнике Siri. Нет сомнений в том, что DC/OS играет важную роль в управлении корпоративными облачными центрами обработки данных.
Именно это объясняет инвестиции HPE. Принимая участие в разработке таких продуктов, как HP Helion и Microsoft Azure Stack, компания должна помочь корпоративным клиентам перейти на облачную модель, сохранив при этом инвестиции в центры обработки данных.
Развернув Apache Spark, Kafka, Cassandra и Zeppelin на DC/OS, вы можете создать оптимизированную среду для крупномасштабной обработки данных с ресурсами, одновременно доступными для других рабочих нагрузок, таких как веб-серверы или приложения Java.
DC/OS на серверах HPE ProLiant и Cloudline
Каковы преимущества развертывания DC/OS на серверах HPE ProLiant и Cloudline? Есть много преимуществ: • Масштабируемость, гибкость и автоматизация.Планировщик DC/OS позволяет создавать пул распределенных нагрузок (служб DC/OS).
Задачи развертывания, масштабирования и управления сервисами сводятся к простым командам, что значительно упрощает безопасность и непрерывность бизнеса.
Серверы HPE ProLiant имеют гибкую архитектуру и расширяемый ввод-вывод, что делает их хорошо подходящими для этой среды.
Семейство гипермасштабируемых серверов HPE Cloudline разработано специально для поставщиков услуг.
Они разработаны для быстрого развертывания, гибкой эксплуатации и низкой совокупной стоимости владения.
• Ускоренная доставка результатов от новых сервисов.
DC/OS позволяет предприятиям легко развертывать и масштабировать сервисы между несколькими командами, использовать инструменты интеграции, такие как Jenkins, а также использовать репозитории объектов и элементы управления кодом.
• Гибкое управление инфраструктурой.
Серверы ProLiant поддерживают такие инструменты управления и обновления программного обеспечения, как HPE OneView и Smart Update, а также встроенные средства удаленного управления и мониторинга с помощью HPE iLO. Серверы Cloudline разработаны для открытых инструментов управления и стандартных интерфейсов и легко вписываются в гетерогенную среду с платформами разных поставщиков.
HPE является одним из создателей открытой спецификации Redfish для программно-конфигурируемых центров обработки данных.
Этот стандарт во многом основан на реализации HPE iLO RESTful API. Redfish API можно использовать при работе с серверами HPE ProLiant и Cloudline. • Перемещайте, интегрируйте и доставляйте приложения между различными средами.
HPE привержена открытым стандартам, архитектурам на основе API и открытом исходному коду, включая Cloud Foundry, DC/OS и OpenStack. Независимо от того, является ли ваша облачная среда частной, общедоступной или гибридной, вам доступна обширная экосистема оборудования, программного обеспечения и услуг.
• Быстрый анализ разнородных данных.
DC/OS поддерживает такие сервисы, как Kafka, Spark и Cassandra, часто используемые в Интернете вещей и анализе больших данных.
Это позволяет предприятиям иметь простое и готовое решение для приложений больших данных.
Пример: оркестровка контейнеров
В в этом примере Для оркестровки контейнеров использовались серверы ProLiant DL380 Gen 9 следующей конфигурации:
Логическая архитектура DS/OS с Marathon выглядит следующим образом:
Marathon — планировщик ресурсов в кластере.
Он предоставляет масштабируемые приложения и услуги в среде DC/OS. Marathon работает поверх DC/OS, которая имеет собственный планировщик для запуска/остановки задач или служб приложений.
В этом случае Marathon выполняет функции более высокого уровня — мониторинг и оркестровку.
DC/OS поставляется с отказоустойчивой службой Marathon для долго работающих приложений.
В данном примере именно это используется для оркестрации контейнеров — Container Orchestration. Служба marathon-lb обеспечивает балансировку нагрузки для приложений Marathon. Это начинается так:
Теперь вы можете использовать кластерную среду DC/OS с marathon-lb в публичном агенте DC/OS. Приложения Marathon, настроенные для балансировки нагрузки, будут видеть соответствующие адреса и порты.$ dcos package install –yes marathon-lb
Пользовательский интерфейс Marathon выглядит следующим образом:
DC/OS поддерживает как собственные контейнеры Linux, так и контейнеры Docker. Язык спецификации приложений Marathon тот же.
В следующем примере Python показано, как настроить приложение веб-сервера Marathon внутри собственного контейнера Linux. Это приложение обслуживает меню корпоративного кафетерия из Load Balancer VIP. Используется балансировщик нагрузки Marathon. Как показано ниже, определение приложения Marathon представляет собой простой файл simple.json.
Приложение можно запустить из пользовательского интерфейса Marathon или из CLI DC/OS с помощью команды: $ dcos marathon app add 0c-python-corpmenu-lb.json
Вот как выглядит пользовательский интерфейс Container Orchestration Marathon с приложением веб-меню.
Определение приложения «Корпоративное меню» содержит инструкции по подключению этого приложения к балансировщику нагрузки и указывает, какой TCP-порт открыт для веб-службы.
Теперь давайте проверим приложение, получающее доступ к VIP балансировщика нагрузки через указанный сервисный порт (10001).
Для выполнения балансировщика нагрузки используется общедоступный агент DC/OS по адресу 10.250.40.138. Балансировщик нагрузки Marathon отображает следующий пользовательский интерфейс приложения веб-меню оркестровки контейнеров:
Теперь вы можете масштабировать свое приложение до 1000 экземпляров.
Marathon будет их запускать, отслеживая прогресс каждого и показывая статус в пользовательском интерфейсе.
«Экземпляры распределяются по всем доступным агентам DC/OS. Нагрузка на кластер DC/OS увеличивается:
Теперь давайте протестируем Java-приложение с помощью Docker. После запуска 1000 экземпляров в Корпоративном веб-меню мы создадим второе приложение Marathon. Он использует образ Docker, который устанавливает среду выполнения Java. Это приложение будет запускать FTP-сервер Apache. Определение приложения Marathon для Java-приложения в контейнере Docker выглядит следующим образом:
Давайте запустим приложение с помощью команды DC/OS CLI: $ dcos marathon app add 10b-apacheftp-java-docker.json
Запустив один экземпляр Java-приложения для Docker, мы попадаем в Marathon UI:
Давайте увеличим его до 250 копий:
В отличие от примера с веб-сервером, в этом приложении не используется балансировщик нагрузки.
В этом случае Mesos-DNS как часть DC/OS используется в качестве инструмента обнаружения служб.
Пользовательский интерфейс Marathon используется для определения IP-порта.
Для одного экземпляра приложения Java пользовательский интерфейс Marathon отображает следующую информацию:
Теперь мы используем FTP-клиент для тестирования одного из 250 экземпляров Java-приложения:
Оркестрация контейнеров: результаты
Итак, в этом примере большое количество экземпляров приложений работало в кластере DC/OS с использованием двух разных контейнерных технологий.Это делается за считанные минуты, а масштабирование приложений — за секунды.
Кроме того, достигается высокая загрузка кластера DC/OS и повышается рентабельность инвестиций.
Контейнерное будущее – сегодня
Итак, подведем итоги.Операционная система центра обработки данных (DC/OS) — это открытая платформа для запуска приложений корпоративного класса на основе ядра Apache Mesos. Использование DC/OS корпоративными заказчиками и поставщиками облачных услуг с серверами серий HPE ProLiant и Cloudline позволяет им создавать гипермасштабируемую среду с программным обеспечением с открытым исходным кодом.
Предприятия получают возможность развертывать распределенные приложения в надежных системах HPE. DC/OS помогает справляться с растущей сложностью абстрактной (виртуализированной, контейнеризованной и т. д.) ИТ-инфраструктуры и может управлять любым типом ресурсов в центре обработки данных, включая физические и виртуальные серверы.
Контейнеры работают на том же уровне, что и физические серверы.
Отказавшись от виртуализированного оборудования и используя реальное оборудование и драйверы, вы получаете непревзойденную производительность.
И каждый контейнер может масштабироваться до ресурсов всего физического сервера.
Технология виртуализации на уровне ОС обеспечивает максимальную плотность доступных решений виртуализации.
На одном стандартном физическом сервере можно создавать и запускать сотни контейнеров.
Контейнеры используют одну операционную систему, что упрощает их обслуживание и обновление.
Приложения также можно развертывать в отдельной среде.
Контейнеры сегодня часто рассматриваются как альтернатива виртуализации.
В аппаратной виртуализации базовым уровнем является гипервизор.
Он загружается на сервер и обеспечивает связь между его оборудованием и виртуальными машинами.
Чтобы предоставить ресурсы виртуальным машинам, они виртуализируются на сервере.
Виртуальные машины запускают собственную копию операционной системы и приложений на виртуализированном оборудовании.
Виртуальные машины требуют значительных системных ресурсов.
Каждая виртуальная машина содержит не просто копию ОС, а виртуальную копию всего необходимого оборудования.
А это требует ресурсов процессора и оперативной памяти.
Для запуска конкретного приложения контейнеру нужна только операционная система, поддерживающие программы и библиотеки.
На практике это означает, что сервер сможет поддерживать в два-три раза больше приложений, чем в случае с ВМ.
Вы уже используете контейнеры в своем дата-центре? Теги: #оркестрация #контейнеры #hpe #dc/os
-
Для Чего Вы Едите Консалтинг? А Для Чего?
19 Oct, 24 -
Пушкин, Гоголь, Джобс И «Идеи»...
19 Oct, 24 -
Meteor — Новый Способ Создания Приложений
19 Oct, 24 -
Диковинный Аналитический Зверь Аксиома
19 Oct, 24