На данный момент у VMware имеется ряд специализированных продуктов для поставщиков услуг, которые, в свою очередь, на их базе и своем оборудовании предлагают облачная инфраструктура в аренду (IaaS) .
Хотелось бы немного поговорить о возможностях, которые существуют на данный момент, и описать ближайшие перспективы.
Для построения облачной инфраструктуры ( по модели IaaS ), VMware предлагает семейство продуктов под брендом VMware vCloud (VMware vCloud Director и VMware vCloud Request Manager) с вспомогательными продуктами, такими как VMware vShield (сетевая безопасность) и VMware ChargeBack (биллинг).
Конечно, все это лишь фреймворк для того, чтобы управлять виртуальными ресурсами, которые нарезаются и предоставляются основным продуктом VMware vSphere. Что получает клиент? Виртуальные ресурсы для клиента представлены в виде так называемых виртуальный центр обработки данных (далее vDC), который характеризуется такими параметрами, как:
- объем оперативной памяти,
- дисковое пространство,
- вычислительная мощность, измеряемая в ГГц.
Посредством vShield пользователь имеет возможность контролировать маршрутизацию и фильтрацию трафика между сетями, что, однако, можно сделать, просто используя собственный межсетевой экран, реализованный из виртуальной машины с FreeBSD.
Помимо простой возможности создавать и настраивать виртуальные машины, интерфейс управления позволяет загружать, использовать и делиться с другими пользователями.
образы предварительно настроенных виртуальных машин .
Причём вы можете оперировать не отдельными виртуальными машинами, а целыми наборами взаимосвязанных виртуальных машин, предназначенных для решения одной задачи.
Этот набор может представлять собой предварительно настроенную инфраструктуру разработки программного обеспечения, приложение, представленное в трехуровневой архитектуре, и многое другое.
Многим разработчикам может быть интересно предоставлять свои решения не в виде устанавливаемого дистрибутива (особенно если он включает в себя несколько серверных ролей), а в виде vApp VMware , включающий в себя предустановленные операционные системы, настроенные и готовые к работе приложения и другие компоненты, необходимые для его работы (база данных, балансировщики нагрузки и т. д.).
Использование готового преднастроенного vApp позволяет потенциальному клиенту в течение нескольких минут начать использовать и тестировать интересующее приложение.
Однако, т. к.
тема нашего поста по-прежнему является эластичным облаком для разработчиков, то мы пойдем дальше.
Допустим, у нас есть проект, который содержит три роли сервера: сервер приложений, сервер базы данных и что-то еще, например nginx. Добавим туда еще одну роль, призванную отслеживать рост нагрузки и решать проблему нехватки ресурсов.
Назовем его Менеджером емкости.
Предположим, что нагрузка на проект пульсирует в течение дня и по мере продвижения проекта в целом постепенно увеличивается.
Какими способами мы можем оптимизировать использование ресурсов? VMware vCloud Director предлагает ресурсы виртуального центра обработки данных в трех моделях:
- Доступный пул — просто фиксированный размер ресурсов для клиента vDC.
- Оплата по мере использования – столько, сколько вы потребляете
- Пул резервирования – гарантированный размер ресурсов без возможности превышения размера со стороны поставщика услуг.
Модель Pay-As-You-Go нам подходит лучше всего, и мы выбираем ее.
Вначале мы создали два сервера приложений, один сервер базы данных и два сервера nginx. Конфигурация каждого из них была минимально возможной - (например, ЦП 3ГГц, ОЗУ 1Гб, HDD 40Гб).
Предположим, что все роли сервера, кроме базы данных, взаимозаменяемы и их остановка не приводит к простою предоставляемого сервиса, а лишь снижает производительность.
Мы сделали готовый шаблон сервера для каждой роли сервера, чтобы минимизировать время на развертывание новых серверов в будущем.
В один прекрасный момент наш замечательный сервер в роли Менеджера мощностей обнаружил, что оба сервера приложений не справляются с нагрузкой.
У него есть два пути решения проблемы — увеличить количество серверов приложений или увеличить объём ресурсов существующих серверов.
Используя предоставленный vCloud API, выключаем сервер, добавляем к нему процессор и снова включаем.
Производительность нашего облака немного выросла.
Теперь наш менеджер емкости видит, что дисковое пространство на сервере базы данных заканчивается.
С этим проще, просто правильно подтянув vCloud API, увеличить онлайн размер диска, выделенного серверу для базы данных, и попросить операционную систему увидеть эти изменения.
По мере роста нагрузки мы увеличили конфигурацию сервера приложений до неприличных размеров, например, 32Гб ОЗУ и 32ГГц ЦП.
Пришло время начать расширять наше облако по горизонтали.
Для этого мы подтягиваем тот же vCloud API и делаем копию одного из существующих серверов приложений.
Настраиваем его параметры (ip-адреса, имя хоста) и запускаем в работу.
Таким образом, мы можем динамически изменять размер нашего облака и, соответственно, лучше сопоставлять потребность в ресурсах с их фактической доступностью.
Возможности vCloud API хорошо представлены на Веб-сайт VMware .
В результате мы имеем адаптирующийся к нагрузке проект, оплата ресурсов по которому осуществляется в зависимости от фактического потребления.
Для тех, кто не хочет реализовывать роль «Менеджер мощности», есть развитый веб-интерфейс, позволяющий проделать все вышеперечисленные операции вручную — это приемлемо в большинстве случаев, особенно если вы не разработчик своей платформы, а скорее системный администратор.
Многие могут возразить, что увеличение ресурсов путем перезагрузки — не самый элегантный способ.
Я полностью согласен.
Какие альтернативы могут быть? Самое интересное, это, конечно, возможность добавлять ресурсы внутри виртуальной машины онлайн.
И это работает! Однако этот метод очень ограничен типами поддерживаемых операционных систем.
Хотя прогресс не стоит на месте и добавление оперативной памяти и процессора уже довольно распространено, и если у вас есть свобода действий при выборе базовой ОС, то имеет смысл выбирать ее с учетом такой поддержки.
Уменьшение количества ресурсов в сети — менее проработанная задача, и о работоспособном решении я, к сожалению, на данный момент не слышал — дело за разработчиками ОС.
Послесловие
Некоторые, прочитав этот пост, могут подумать: сколько со всем этим возни, зачем мне это нужно? Я всего лишь разработчик и не хочу заниматься управлением и оптимизацией инфраструктуры.Я отвечу! Мы говорим о IaaS – инфраструктура как услуга .
Этой аудитории будет интересна наша следующая статья на тему PaaS — Платформа как услуга от VMware — vFabric. Где мы попытаемся раскрыть, что стоит за этим термином и какие возможности предоставляет эта платформа.
Тестирование VMware vCloud
Логин: демо Пароль: 12345678Теги: #vmware #iaas #paas #cloud Services #vmware vcloud Director #vcloud #vdc #vApp #vApp #vApp #виртуальный центр обработки данных #виртуальный центр обработки данных #виртуальный центр обработки данных #VMware vFabric
-
Киви
19 Oct, 24 -
Бизнес-Модель Metro Жива!
19 Oct, 24 -
Бесплатный Сыр
19 Oct, 24 -
Мы Сделали Это Ради Лулзов
19 Oct, 24