Институт системного программирования Роcсийской академии наук


Решения на базе свободного ПО и собственных разработок ИСП РАН для организации облачных сред, предоставляющих инфраструктурные ресурсы по запросу

Использование облачной инфраструктуры позволяет сэкономить машинное время и время разработчиков за счет оптимизации использования ресурсов и сокращения времени на создание и настройку систем. Например, для Веб-сервисов с большим числом пользователей, нагрузка может радикально меняться в зависимости от времени суток, времени года и событий (таких как Новый год). За счет эластичной балансировки ресурсов в облачных средах можно сэкономить огромное количество ресурсов. Также стоит помнить, что облачные ресурсы включают в себя не только виртуальные машины (или контейнеры), но и дополнительные сервисы, такие как надежное блочное хранилище, хранилище объектных данных, автоматически масштабирующиеся СУБД по запросу (как SQL, так и NoSQL). Очень ярким и показательным примером использования подобных ресурсов является Instagram: с одной стороны, количество хранимых фотографий и видеозаписей заранее неизвестно, и объектное хранилище Amazon S3 позволяет масштабировать пространство хранения без потерь производительности для каждого отдельного пользователя. С другой стороны, взаимосвязи между пользователями хранятся в классической СУБД (и наиболее вероятно, для этого используется сервис Amazon RDS, позволяющий масштабировать классические РСУБД динамически).

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

Облачная инфраструктура ИСП РАН состоит из нескольких частей, основанных на наиболее перспективных системах, предоставляющих функции виртуализации и надежного хранения.

Big Data Open Lab — вычислительный кластер на базе Openstack для совместной работы с большими данными

Openstack - открытая технология являющаяся индустриальным стандартом построения больших облачных систем. В развитии проекта участвует более ста компаний, наиболее активные участники: Red Hat, Mirantis, Rackspace, IBM, Intel, HPE, Huawei. Openstack предоставляет большую часть возможностей промышленных облачных сред: виртуализацию вычислительных ресурсов, надежное блочное хранение данных, объектное хранилище данных, виртуальные сети, сбор метрик использования ресурсов, СУБД по запросу и так далее. Разработчики ИСП РАН активно участвуют в разработке Openstack: 9 ревью кода, 3 найденных и исправленных критических ошибки, 6 коммитов с новой функциональностью в выпущенных версиях. Понимание принципов функционирования позволило организовать свой небольшой центр обработки данных на базе Openstack. Используя аппаратуру, предоставленную кампанией Dell (партнер ИСП РАН), мы организовали открытую для сотрудников и партнеров ИСП РАН лабораторию для анализа больших данных (Big Data Open Lab).

Пользователям предоставляется основная функциональность Openstack:

  • Управление виртуальными вычислительными кластерами и виртуальными сетями. Используются системы Keystone, Neutron, Nova (аналог Amazon EC2). Суммарно в облаке доступно 512CPU, 4ТБ оперативной памяти, 30ТБ временного хранения виртуальных машин, все разновидности ОС, работающих с облаками.
  • Блочное хранение данных, на основе системы Cinder (аналог Amazon Elastic Block Storage). Пользователям предоставляется хранилище объемом 200 ТБ.
  • Легко расширяемое объектное хранилище на основе Openstack Swift (аналог Amazon S3) с текущей емкостью 30ТБ.

С целью улучшения интеграции Openstack и технологий анализа больших данных в ИСП РАН разработано решение, позволяющие автоматически создавать и уничтожать виртуальные кластеры, с полностью настроенными системами из стека Big Data, включая Apache Spark, Apache Hadoop, Apache Ignite. Создание такого кластера с произвольным количеством вычислительных узлов осуществляется запуском одного скрипта и занимает 5 минут, после чего разработчик получает полностью готовые к работе системы.

Ресурсы Big Data Open Lab используются в различных индустриальных проектах. Так, технология мониторинга социальных медиа TASLISMAN использует виртуальные вычислительные ресурсы для анализа информационных потоков сети Интернет.

Виртуализация на основе технологии контейнеров

Использование виртуальных машин не всегда удобно: время выделения ресурсов иногда играет существенную роль. Кроме того, для ряда технологий открыто распространяются образы в контейнерных форматах с учетом декомпозиции систем на логические составляющие. Для подобных ситуаций мы предоставляем доступ к сравнительно простому облаку для Docker на базе технологии Rancher. Контейнерное облако использует ресурсы Big Data Open Lab и позволяет легко контролировать ресурсы, выделяемые для наших проектов на основе контейнеров.

VMEmperor

Помимо создания вычислительных кластеров, разработчикам регулярно требуется создание и настройка виртуальных машин для демонстрации результатов. В целях безопасности эта функциональность была вынесена в отдельный пул серверов и построена на системе XenServer. Главным требованием к таким виртуальным машинам является обеспечение надежности. При этом XenServer не предоставляет свободных решений для простого управления пулом виртуальных машин (даже проект Xen Orchestra). Для решения этой проблемы в ИСП РАН разработано решение VMEmperor. Данное решение предоставляет возможность легко создавать демонстрационные машины с автоматическим проксированием через центральный узел системы и привязкой к доменным именам ИСП РАН. Ресурсы облака включают в себя 800ГБ оперативной памяти, 92CPU и разделяемую СХД объемом 27ТБ.

Fanlight - рабочие места в модели Desktop as a Service (DaaS)

Платформа FANLIGHT представляет собой программную технологию по организации на базе виртуальных рабочих мест в модели DaaS, единой Web-среды (Web-лаборатории), предназначенной для поддержки междисциплинарных коллективов при проведения численных экспериментов с использованием тяжелых прикладных пакетов инженерного анализа в рамках решения наукоемких задач. Web-лаборатория предлагает следующие основные функциональные возможности:

  • Доступ пользователей к виртуальным рабочим местам с интегрированными прикладными пакетами и аппаратными ресурсами через Web-браузер по сети (в том числе сети Интернет);
  • Кастомизация под заданную прикладную область за счет интеграции специализированных расчетных пакетов в состав виртуальных рабочих мест посредством механизма Docker-образов;
  • Расширение вычислительных возможностей web-лаборатории за счет подключения аппаратных ресурсов необходимых для организации вычислений и хранения данных (HPC/BigData кластеры, системы хранения, сервера в том числе с графическими ускорителями);
  • Управление учетными записями пользователей Web-лаборатории;
  • Квотирование и учет используемых вычислительных ресурсов;
  • Организация экспорта данных пользователей в рабочую среду Web-лаборатории и их импорта на свою локальную рабочую станцию или внешнее хранилище;
  • Доступ к функциям Web-лаборатории через Web-интерфейс или RESTFul API.

Решения на базе свободного ПО и собственных разработок ИСП РАН для организации облачных сред, предоставляющих инфраструктурные ресурсы по запросу

При этом обеспечиваются:

  • Комфортная работа с тяжелыми инженерными CAD-CAE приложениями, требующими при выполнении поддержки аппаратного ускорения 3D графики. Поддержка полноэкранного и мульти дисплейного режимов работы;
  • Поддержка выполнения CUDA приложений за счет доступа к графическим ускорителям NVIDIA;
  • Масштабируемость за счет гибкого управления запуском контейнеризированных приложений на распределенной аппаратной инфраструктуре средствами Docker Swarm;
  • Низкий порог вхождения при развертывании собственной Web-лаборатории за счет возможности гибкого выбора аппаратных средств, обеспечивающих ее функционирование с дальнейшим расширением вычислительных возможностей по принципу «pay as you grow». Web-лаборатория может быть развернута на единственном сервере, вычислительной ферме, на публичном облаке (с уровня IaaS) или в собственном облачном ЦОД (OpenStack);
  • Тиражируемость и простая инсталляция за счет автоматического развертывания Web-лабораторий средствами Docker Compose;
  • Возможность работы с различных клиентских устройств (от рабочих станций до мобильных устройств) за счет адаптивного Web-дизайна;
  • Легкий старт для пользователей не обладающих глубокими знаниями администрирования вычислительной техники за счет отсутствия специальных требований к клиентским устройствам и их настройке (Не требуется установка какого-либо вспомогательного программного обеспечения - Java, Flash, VNC клиентов и пр. на стороне рабочей станции пользователя; Не требуется дополнительное конфигурирования прав сетевого доступа, так как взаимодействие организовано через стандартные Web-socket порты). Вся работа пользователя проводится через стандартный Web-браузер: Chrome, Internet Explorer, Firefox, Opera и пр.

Решения на базе свободного ПО и собственных разработок ИСП РАН для организации облачных сред, предоставляющих инфраструктурные ресурсы по запросу

Разработчики/участники

Информационные системы, Компиляторные технологии

Перейти к списку всех технологий