В современном мире вопрос использования облачных технологий заключается не в том, использовать ли облачные вычисления, а в том, какие службы для этого выбрать. Облачные вычисления позволяют избежать больших затрат на инфраструктуру и сосредоточиться на своем основном бизнесе.
Компании могут расти или уменьшаться, соответственно будут меняться и потребности в ИТ-ресурсах. Расходы на ИТ тоже будут изменяться в зависимости от этих потребностей.
Поставщики облачных услуг предоставляют бизнес-клиентам виртуальную ИТ-инфраструктуру, которая находится в дата-центре провайдера. Клиентам не нужно заботиться о приобретении и замене оборудования, безопасности, резервном питании, мониторинге и бесперебойном электроснабжении.
И хотя на рынке существует большое количество облачных провайдеров — Amazon AWS, Microsoft Azure, OpenStack, VMware vCloud, Google Cloud Platform, — постоянно растет популярность VMware как пионера виртуализации, которая является основой облачных вычислений, и OpenStack — бесплатной платформы с открытым кодом для облачных вычислений. Эксперты ведут дискуссию: нужно ли переходить с одной платформы на другую и какие выгоды или угрозы принесет этот переход. Давайте внимательно рассмотрим обе платформы и составим собственное мнение на этот счет.
VMware vCloud
vCloud — это набор продуктов для построения инфраструктуры, предоставляющей пользователям услугу IaaS. Это означает, что можно выдавать клиентам необходимое количество виртуальных сервисов с уже установленными приложениями. Пользователь может выбирать нужные компоненты: процессор, память, сетевые адаптеры, задать объем дискового пространства и выбрать нужный сервис, задать время доступа и скорость доступа.
Описание технологии
VMware vCloud представляет собой интегрированное решение, доступное в трех редакциях: Standard, Advanced и Enterprise.
В Standard входит платформа виртуализации vSphere Enterprise Plus, а также средства управления ИТ-процессами и быстрого создания инфраструктуры для предоставления клиентам услуги IaaS.
В редакцию vCloud Suite Advanced добавлены компоненты, упрощающие соблюдение требований к безопасности и нормативных требований.
vCloud Suite Enterprise позволяет создавать устойчивые и безопасные облачные системы, соответствующие всем нормативным документам.
В состав vCloud Suite входят следующие продукты:
- VMware vSphere — платформа виртуализации.
- VMware vCloud Director — средство управления облачной системой.
- VMware vCenter Site Recovery Manager — система аварийного восстановления и тестирования виртуализованных приложений.
- VMware vCloud Networking and Security — средство обеспечения сетевого взаимодействия и безопасности.
- VMware vRealize Operations — управление производительностью, ресурсами и конфигурациями.
- VMware vRealize Automation — средство для настройки серверов и рабочих столов при помощи политик и портала самообслуживания.
Дополнительно к пакету vCloud Suite для построения облачной системы можно использовать:
- VMware Virtual SAN — программное хранилище, которое может автоматизировать управление локальными системами хранения, объединять их в пулы и преобразовать в общее хранилище.
- VMware NSX — платформа виртуализации и обеспечения безопасности сетевых сервисов. NSX решает задачи маршрутизации, коммутации, балансировки нагрузки, файрвола и прочих сетевых функций.
- VMware vRealize Log Insight — средство для управления журналами и анализа данных в режиме реального времени.
- VMware vRealize Business — инструмент для финансового управления и анализа бюджета.
Когда актуально, для каких бизнесов
Продуктами VMware пользуются средние или крупные компании, а также центры обработки данных. Обычно у таких компаний уже есть инфраструктура, построенная на продуктах VMware, вопрос миграции или расширения в облако решается просто. Пакет VMware vCloud подойдет и в тех случаях, когда у компании возникнет необходимость в предоставлении клиентам качественной IaaS-платформы.
OpenStack
Проект OpenStack появился благодаря сотрудничеству Rackspace и NASA в 2010 году, когда эти две компании объявили об открытии кода объектного хранилища Rackspace и системы IaaS для NASA. Получившаяся платформа позволила предоставлять облачные технологии пользователям и организациям, владеющим стандартным оборудованием.
Описание технологии
OpenStack представляет собой набор компонентов, тесно взаимодействующих между собой. Эта платформа позволяет управлять пулами различных ресурсов и предоставлять пользователям услугу IaaS.
Доступ к ресурсам возможен через портал самообслуживания, в котором пользователи могут сами создавать виртуальные серверы, маршрутизаторы, сети и хранилища всего за несколько кликов, а платформа будет самостоятельно обеспечивать интеграцию аппаратных ресурсов. OpenStack взаимодействует с аппаратными ресурсами при помощи открытых или предоставляемых производителями драйверов, позволяя создавать комплексы из самого разношерстного оборудования. OpenStack не содержит в своей структуре гипервизора, вместо этого он поддерживает гипервизоры через слой абстракции. В числе поддерживаемых гипервизоров есть и коммерческие и с открытым исходным кодом: Xen, QEMU, KVM, Microsoft Hyper-V, VMware ESXi.
В состав OpenStack входят следующие компоненты:
- Nova — контроллер, который управляет работой виртуальных машин.
- Swift — хранилище объектов и файлов.
- Cinder — блочное хранилище.
- Neutron — сетевой компонент, обеспечивающий взаимодействие между различными компонентами сети.
- Horizon — это графический интерфейс для администрирования.
- Keystone — служба идентификации, используемая OpenStack для аутентификации и авторизации для приложений и пользователей.
- Glance — хранилище образов виртуальных машин.
- Ceilometer — инструмент для сбора и анализа данных, предоставляемых компонентами OpenStack.
- Heat — оркестратор компонентов OpenStack.
Существуют как свободные выпуски облачной платформы — OpenStack Juno, Kilo, Liberty и т. д., так и коммерческие платформы: Red Hat Open Stack Platform, SuSe Cloud, Reck Space Clode и другие.
Когда актуально, для каких бизнесов
Компании, выбирающие OpenStack, можно отнести к следующим категориям:
- Хостинг приложений и серверов с коротким сроком жизни;
- Разработка облачных приложений;
- Хостинг некритичных интернет-приложений;
- Частое развертывание интернет-приложений и виртуальных серверов;
- Предоставление услуги «Контейнеры как сервис» (CaaS);
- Резервные площадки на случай аварии (DR-площадки).
Роль сервис‑провайдера и возможна ли миграция самостоятельно — силами заказчика?
Перенос инфраструктуры VMware в облако OpenStack — очень сложная техническая задача. Процесс миграции без простоя инфраструктуры состоит из нескольких этапов:
- Сначала происходит репликация данных. Для этого необходимо отслеживать изменившиеся блоки данных с помощью стандартного API-интерфейса VMware Changed Block Tracking и отправлять их в OpenStack.
- Затем происходит перенос снимков виртуальных машин (snapshot) в хранилище OpenStack (Ceph или Swift).
- После этого необходимо переконфигурировать виртуальные машины, предназначенные для работы в гипервизоре VMware, таким образом, чтобы они могли работать в гипервизоре OpenStack (V2V-трансформация). На этом этапе может понадобиться изменить драйверы сетевого адаптера.
- Следующий этап — оркестрированный запуск процесса миграции. Для этого создается json-файл, в котором находится вся информация о виртуальных машинах — процессы, порты, IP-адреса, MAC-адреса и т. д., а также информация о зависимостях между виртуальными машинами.
- Необходимый этап — организация тестовой миграции, чтобы убедиться в правильности переноса виртуальной инфраструктуры и в корректной работе облака.
- Последний шаг — финальная синхронизация с OpenStack, перенос всех виртуальных машин в новую среду, изменение записей DNS. После этого клиенты автоматически переключаются на работу с VMware на OpenStack.
В основе OpenStack лежит огромное количество проектов на базе open source, связанных друг с другом через интерфейсы API. Компании, самостоятельно разворачивающие решения на базе этого продукта, сталкиваются с множеством проблем и неустранимых противоречий — без технической поддержки со стороны разработчиков это может привести к срыву сроков и снижению доходов из-за недостигнутых бизнес-целей.
Сервис-провайдеры могут помочь с проектированием архитектуры решения и обеспечить надежную работоспособность приложений заказчика. Кроме того, они имеют возможность привлекать узких специалистов и представителей вендора, которые соберут необходимый код и предоставят всю необходимую поддержку.
Плюсы и минусы опенсорса и мнимая экономия
На первый взгляд, переход на облачную платформу OpenStack позволяет сберечь значительные средства, экономя на лицензиях VMware. Но внедрение или переход на эту платформу своими силами, без участия сервис-провайдера, сопряжен со значительными трудностями, связанными с тем, что у платформы практически нет поддержки со стороны производителя, а есть только общение с другими инженерами в сообществах.
Функции платформы постоянно изменяются, при этом изменения не всегда вносятся в документацию своевременно. Часто в новейших версиях появляются новые функции и исчезают старые, и это не отражается в инструкциях и HowTo.
Поиск неисправностей очень сложен, так как в ответ на любые ошибки OpenStack выгружает stacktrace объемом в несколько килобайт. После этого приходится тратить огромное количество времени и сил, определяя виновника неисправности.
Платформа OpenStack не предоставляет готовые методы обеспечения высокой доступности (High Availability, HA) всей инфраструктуры в целом. Например, если один вычислительный узел Nova выйдет из строя, то виртуальные машины, работающие на этом узле, не будут автоматически запущены на новом узле. Разработчикам необходимо самостоятельно решить эту проблему, встраивая обеспечение HA в приложение.
Если клиенту требуется HA для всей инфраструктуры, то можно использовать гипервизор, который обеспечивает HA «из коробки», то есть тот же VMWare. Также можно воспользоваться Nagios или Zabbix для мониторинга работы виртуальной машины, и использовать эти инструменты для автоматического перезапуска виртуального сервера или другие сценарии обработки аварийных ситуаций.
Поскольку OpenStack — это набор технологий и продуктов OpenSource, необходимо отслеживать уязвимости каждого компонента в отдельности и при необходимости обновлять эти компоненты. При этом есть риск столкнуться с тем, что при обновлении одного компонента остальные системы, зависящие от этого компонента, начинают работать не так, как прежде. В этом случае приходится ждать обновления и для этих зависимых элементов.
Таким образом, внедрение OpenStack потребует больших первоначальных вложений в виде затраченного времени и сил, привлечения высококлассных специалистов, а его эксплуатация сопряжена с рисками простоя инфраструктуры из-за устранения проблем. Стоит ли экономия финансов такой цены — решать вам.