Создание виртуального сервера

Для создания нового виртуального сервера ресурсами кластера облачной инфраструктуры необходимо выполнить следующие действия

1) Выбрать шаблон конфигурации из списка доступных пользователю

2) Выбрать образ из списка доступных пользователю

3) Создать виртуальный сервер

Алгоритм создания виртуального сервера изображён на рисунке 6.

Создание виртуального сервера - student2.ru

Рисунок 5. Диаграмма последовательностей алгоритма регистрации пользователя

Класс CreateServerQuery, инкапсулирующий описанный алгоритм, в соответствии с принятыми отношениями между базовыми элементами архитектуры и классами макрокоманд, реализует интерфейс IQuery<T>. Определение данного класса в пространстве имён OpenStackManager.Complex (в котором определены все классы сложных сценариев взаимодействия) позволило избежать конфликта имён с одноименным классом пространства имён OpenStackManager.Compute, описанным ранее. Для выполнения задачи создания виртуального сервера необходимо создать экземпляр данного класса, передав конструктору базовый адрес сервиса Nova, который может быть получен после авторизации пользователя в облаке, токен доступа пользователя, имя виртуального сервера, имя шаблона конфигурации и образа, которые определяют количество выделенных виртуальному серверу аппаратных ресурсов и тип операционной системы. На рисунке 7 изображена диаграмма последовательностей, отражающая взаимодействия между классами в контексте выполняемой задачи.

Создание виртуального сервера - student2.ru

Рисунок 6. Алгоритм создания виртуального сервера

Вызов метода Execute сущности класса CreateServerQuery инициирует процесс выполнения алгоритма создания виртуального сервера. Данный метод, в соответствии с этапами алгоритма, инстанциирует созданные на втором этапе разработки библиотеки, классы простых запросов GeFlavorsQuery, GetImagesQuery и CreateServerQuery инкапсулирующих непосредственные вызовы функций Openstack API интерфейса и обеспечивающие полное выполнение сценария создания виртуального сервера в облаке.

Реализация класса CreateServerQuery представлена в листинге 6 приложения А.

Также в пространстве имён OpenStackManager.Complex реализованы классы StartServerCommand, StopServerCommand, DeleteServerCommand и т.д., которые также реализуют сложные сценарии взаимодействия с облаком.

Создание виртуального сервера - student2.ru

Рисунок 7. Диаграмма последовательностей алгоритма создания виртуального сервера

Вывод

На этапе реализации была спроектирована и реализована совместимая с платформой .NET библиотека классов, которая предоставляет набор функций, позволяющих управлять ресурсами OpenSatck облака.

Платформа .NET, как фундамент данной библиотеки, гарантирует полное и безопасное исполнение кода на нескольких операционных системах. Типы, реализованные при помощи языка C#, ориентированного на общеязыковую исполняющую среду (CLR), можно использовать в любом другом языке программирования, совместимым с платформой .NET. Дизайн архитектуры классов итоговой библиотеки спроектирован с учётом необходимости соответствовать таким критериям качества программного обеспечения, как удобство сопровождения, гибкость, возможность повторного использования, ясность и тестируемость, что гарантирует некоторую устойчивость библиотеки к будущим изменениям. В дополнение к этому, библиотека не скрывает от клиентского кода базовые абстракции системы, а отношения между классами сборки в достаточной мере соответствуют основным принципам объектно-ориентированного проектирования, что, при правильном подходе, позволит пользователям разработанной библиотеки построить гибкие, масштабируемые приложения, решающие задачи, для которых была развёрнута облачная инфраструктура.


Наши рекомендации