Что такое виртуальное облако и как им пользоваться

17 Мая 2018

Сфера использования публичного облака в корпоративной среде весьма ограничена — вы с легкостью создадите корпоративный портал, установите CRM-систему небольшой компании, но для развертывания сложных бизнес-приложений такие решения уже не годятся. На помощь приходит виртуальное облако.

От публичного к виртуальному облаку

Публичные облака отлично подходят для частных лиц и небольших компаний — даже самый неопытный пользователь может развернуть там сайт или настроить небольшое приложение. Создание машины-эмулятора и установка необходимого программного обеспечения вроде веб-сервера, PHP и СУБД занимает считаные минуты. Развертывание системы управления контентом — это еще полчаса — и сайт (например, корпоративный портал) готов. То же самое и с другими машинами-эмуляторами вроде терминального сервера 1С: их создание занимает примерно 3 минуты, затем около 40 минут — установка и настройка программного обеспечения (вместе с 1С). Но такие конфигурации хороши для небольшой компании. В более сложных случаях обязательно возникнут проблемы. Например, отсутствие возможности загрузки собственных образов приведет к необходимости ручной настройки каждого сервера и даже (в некоторых случаях) не позволит установить нужное программное обеспечение. Также отсутствие публичного API затруднит интеграцию облачных машин с другими приложениями.

Однако не все это самое главное. При использовании публичного облака нет возможности разграничить права между сотрудниками компании и это действительно плохо. В корпоративной среде фактическим владельцем учетной записи может быть один человек, заниматься выделением ресурсов — другой человек, а для настройки серверов вообще есть целый отдел. Публичная облачная среда не позволит разграничить права между всеми этими пользователями.

В качестве альтернативы в корпоративной среде можно использовать приватное (частное) облако на базе собственной или взятой в аренду инфраструктуры. Однако такое решение требует существенных финансовых вложений, а его эффективность будет не соответствовать ним.

Многие подобные решения ориентированы на так называемое вертикальное масштабирование, когда происходит увеличение производительности (вручную или автоматически) по мере увеличения нагрузки.

Но нужно помнить, что всему есть предел — невозможность бесконечно наращивать производительность отдельной программной системы. В конце-концов есть пределы у аппаратных средств, на которых эта система запущена.

Также вертикальное масштабирование в облачной среде может оказаться очень невыгодным, если происходит оплата по фактическому потреблению (например, когда вы арендуете частное облачное пространство, то платите за реально использованные ресурсы). При незапланированных нагрузках такой способ тарификации делает невозможным планирование расходов (что очень важно в корпоративной среде), поскольку невозможно предсказать, какой объем ресурсов будет потреблен системами под реальной нагрузкой.

Исправить недостатки первых двух типов решений может виртуальное облако. Это довольно новая услуга, предоставляемая далеко не всеми облачными провайдерами.

Виртуальное облако: молодая услуга

Относительно недавно на российском рынке появилась новая услуга: виртуальное облако. Это не публичное облако в обычном его понимании, но и не частное, которое принадлежит одному клиенту. Виртуальное облако — это аренда изолированной облачной инфраструктуры, в рамках которой пользователь может создавать программные системы, подключать к ним блочные устройства, загружать образы готовых систем, настраивать сетевую топологию любой сложности и выполнять другие операции. Облачная среда управляется посредством открытого API, что позволяет легко интегрировать его с различными приложениями.

Если облака для вас
не просто теория
Широкий спектр услуг
по выделенным северам
и мультиклауд-решениям
Конфигурация VPS и бесплатный тест уже через 2 минуты
Организация вашей IT-инфраструктуры на основе мультиклауд-решения

Корпоративные клиенты также получат гибкую систему проектов и пользователей, позволяющую разграничить доступ к серверам и к главному аккаунту. Такой подход к распределению ресурсов нужен для четкого планирования — клиент может арендовать нужное количество ресурсов, распределять их между своими проектами, использовать для создания машин и других объектов.

Клиент может заняться реселлингом, т. е. создавать проекты, а затем передавать своим клиентам доступ к ним. Клиенты реселлера даже не будут знать, что их машины запущены на базе нашей инфраструктуры, ведь они будут работать со своим проектом посредством отдельной внешней панели управления.

Для создания виртуального облака могут использоваться различные платформы. Одна из них — OpenStack. Это платформа, которая является стандартом-де-факто для построения современных облачных сервисов.

Обзор платформы OpenStack

OpenStack — уже не молодая платформа, появившаяся в 2010 году в результате объединения кода двух платформ — Nebula (разрабатывалась специально для NASA) и RackSpace CloudFiles (разработка компании RackSpace). Интерес к платформе проявили и разработчики дистрибутивов Linux: в 2011 году OpenStack стала основной облачной платформой для Ubuntu Server. А в 2012 году к проекту присоединилась и RedHat, выпустив собственный дистрибутив с этой платформой.

Сегодня в работе над OpenStack принимают участие более 250 организаций (среди них IBM, HP, Canonical, Yahoo! и другие известные компании) и более 9000 индивидуальных разработчиков.

Структура OpenStack изображена на рис. 1. Рассмотрим ее основные компоненты:

  • Nova (5) — управляет машинами-эмуляторами, занимается обработкой запросов на создание интерактивных машин, распределяет нагрузку на физические сервера, реагирует на сбои и т. д.
  • Swift (7) — объектное хранилище данных.
  • Cinder (4) — сервис блочных устройств, обеспечивает функциональность дисковой подсистемы для машин.
  • Neutron (3) — управляет сетями, с его помощью пользователи могут определять сети, подсети, настраивать внутреннюю топологию сети.
  • Horizon (1) — панель управления для OpenStack. Предоставляет веб-интерфейс пользователя.
  • Keystone (2) — модуль авторизации.
  • Glance (6) — модуль управления образами эмуляторов. Используется для быстрого развертывания новых серверов.
  • Ceilometer (8) — предоставляет сервисы телеметрии, что позволяет формировать счета отдельным пользователям за использование облака.
  • Heat (9) — отвечает за оркестрацию, позволяет автоматически разворачивать серверы и приложения на базе шаблонов.

openstack.png

Рис. 1. Компоненты OpenStack

Взаимодействие данных компонентов изображено на рис. 2.

Взаимодействие компонентов OpenStack.png

Рис. 2. Взаимодействие компонентов OpenStack

Преимущества использования OpenStack следующие:

  1. Открытый исходный код, что предоставляет неограниченные возможности для усовершенствования существующих сервисов. Также открытый исходный код позволяет убедиться в отсутствие брешей в системе безопасности.
  2. Широкие возможности интеграции — OpenStack не является автономной системой, с легкостью взаимодействует с другими продуктами. Есть поддержка других систем виртуализации, написаны плагины для подключения разных устройств хранения данных и сетевого оборудования.
  3. Гибкость — созданная на базе OpenStack инфраструктура выдерживает любые изменения дизайна, легко может быть перенастроена.

Управление виртуальным облаком посредством Horizon

Модуль Horizon предоставляет удобный и понятный интерфейс, позволяющий настроить облачную среду. На рис. 3 показано, как выглядит интерфейс пользователя платформы OpenStack.

Панель управления виртуальным облаком Horizon.png

Рис. 3. Панель управления виртуальным облаком Horizon

Horizon позволяет настроить облачное пространство так, как необходимо клиенту. Интерфейс довольно простой и для управления облачной средой не нужно быть специалистом высокого уровня — все наглядно и просто.

Проекты и домены

Каждый пользователь получает домен — собственное интерактивное пространство, в котором можно создавать проекты и пользователей. Проект — это совокупность объектов и ресурсов, к которым может иметь доступ пользователь — машины, диски, сети и т. д.

Проекты.png

Рис. 4. Проекты

Гибкое создание виртуальных машин

Виртуальное облако позволяет загрузить собственный образ (рис. 5) и на его базе создать новую интерактивную машину, не вынуждая пользователя выбирать из нескольких предустановленных образов, как это часто делается в публичных облаках.

virtyalnoe oblako - sozdanie obraza.png

Рис. 5. Виртуальное облако: создание образа

Виртуальное облако виртуальная машина запущена.png

Рис. 6. Виртуальное облако: виртуальная машина запущена

Жесткие диски

Виртуальное облако позволяет подключить к машине-эмулятору произвольное количество жестких дисков. Диски могут быть пустыми, так и созданными на базе образов. Также поддерживается технология снапшотов.

Управление сетями

Виртуальные машины можно подключать к сети самыми разными способами. Клиент может или арендовать выделенную публичную подсеть (аналогично тому, как это делается для физических серверов) или использовать механизм плавающих IP (floating IP).

В последнем случае эмулирующая машина получит публичный адрес из общего пула. В любой момент можно отвязать IP-адрес от одной машины и прикрепить его к другой. Преобразованием внешних адресов занимается виртуальный роутер.

Виртуальное облако подключение виртуальной машины к сети.png

Рис. 7. Виртуальное облако: подключение виртуальной машины к сети

Прочие возможности

Чтобы описать все возможности виртуального облака, понадобится написать целую книгу, чего нельзя себя позволить при написании обзорной статьи. Рис. 8 показывает операции, доступные над виртуальной машиной. Это далеко не все возможности облачной среды, но они дают представление, насколько гибкой является управление эмулирующей системой в OpenStack.

Управление виртуальной машиной.png

Рис. 8. Управление виртуальной машиной

Заинтересовавшие читатели могут изучить официальную документацию по Horizon на сайте разработчика.

Вместо заключения

Услуга «Виртуальное облако» будет интересна в первую очередь корпоративным пользователям. Она предоставляет широкие возможности по управлению интерактивной инфраструктурой предприятия, недоступные при использовании публичной облачной среды.

Получить консультацию специалиста
Персональный ассистент
Cloud.Xelent