Перспективы применения методов контейнерной виртуализации в рамках создания современных информационных систем в УИС

В научной статье описывается опыт применения технологий виртуализации на объектах уголовно-исполнительной системы.

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

В УИС накоплен значительный опыт применения технологий виртуализации. В частности, в ФКУ НИИИТ ФСИН России и ФКУ ГЦИТОиС ФСИН России внедрена и успешно используется платформа виртуализации VMWare vSphere. На серверном оборудовании ряда территориальных органов для решения задач виртуализации отдельных информационных ресурсов и систем эксплуатируются гипервизоры (менеджеры виртуальных машин) VMWare ESXi, Microsoft Hyper-V, KVM (Kernel-based Virtual Machine), иное свободное и проприетарное программное обеспечение. Достаточно успешная попытка унификации применяемых решений по виртуализации вычислительных ресурсов была предпринята в рамках создания федеральной государственной информационной системы «Электронный документооборот уголовноисполнительной системы» (СЭД УИС). На серверном оборудовании, поставленном во все территориальные органы для целей внедрения СЭД УИС, была развернута система управления виртуализацией oVirt, которая базируется на технологии KVM. Хотя oVirt относится к классу свободного программного обеспечения, координатором проекта и основным контрибьютером является компания Red Hat, выпускающая на основе oVirt свое собственное решение по управлению виртуализацией с платной технической поддержкой Red Hat® Enterprise Virtualization.

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

Еще один тип - виртуализация уровня операционной системы или контейнерная виртуализация - технология виртуализации, при которой ядро операционной системы хоста поддерживает несколько изолированных экземпляров пространства пользователя. Как таковой термин «виртуальная машина» не применим в рамках контейнерной виртуализации, и речь ведется о виртуальных окружениях, называемых также контейнерами (или зонами), обладающих собственным пространством процессов и сетевым стэком. Технология контейнерной виртуализации реализована в Solaris Containers, FreeBSD Jail, Virtuozzo/OpenVZ, Linux Containers (LXC).

Опыт использования контейнерной виртуализации в ФКУ НИИИТ ФСИН России связан, прежде всего, с таким инструментом управления виртуальными серверами, как Proxmox VE, и технологией Linux Containers (LXC). Тестовая эксплуатация виртуальных машин KVM и контейнеров LXC на одном хосте Proxmox VE, в целом, дала положительные результаты. Вместе с тем, в процессе эксплуатации кластера, состоящего из 2-х или 3-х хостов Proxmox VE, подключенных к единому хранилищу данных по протоколам nFS или iSCSI, нередко возникали сбои, не позволявшие на момент испытаний говорить о готовности данного решения к промышленной эксплуатации.

Всплеск популярности контейнерной виртуализации в настоящее время связан, прежде всего, с появлением открытой платформы для распределенных приложений Docker. Docker - это не только инструмент, позволяющий значительно повысить степень автоматизации процессов тестирования, развертывания и эксплуатации приложений, это целая инфраструктура и новая парадигма, позволяющая развивать относительно новые типы архитектуры приложений (сервис-ориентированная архитектура, микросервисы) на основе контейнерной виртуализации. И хотя в настоящее время целевой операционной системой для функционирования контейнеров Docker является Linux, с выходом операционной системы Microsoft Windows Server 2016 контейнерная виртуализация приложений, разработанных для платформы Microsoft .net Framework, станет возможной, в том числе и с использованием Docker.

Обзор экосистемы Docker выходит за рамки данной статьи, но отдельно хотелось бы остановиться на возможностях, которые открывает данная платформа управления контейнерной виртуализацией для создания информационных систем УИС.

Прежде всего, Docker - важный компонент в рамках реализации подхода Continuous Delivery (CD, непрерывная поставка), суть которого состоит в максимальной автоматизации процессов тестирования и развертывания программного обеспечения в целях сокращения циклов разработки и увеличении качества создаваемого программного обеспечения. Подготовленный контейнер (или набор связанных между собой контейнеров, содержащих разные компоненты информационной системы, - сервер приложений, система управления базами данных, хранилище данных и т. д.), успешно пройдя локальное тестирование, может быть автоматически развернут на сотнях территориально-распределенных серверов. Подобный подход позволит оперативно наращивать функциональные возможности вертикально-интегрированных территориально-распределенных информационных систем, охватывающих все уровни управления УИС. Создание единого репозитория образов контейнеров по аналогии с Docker Hub, но в границах ведомственной сети передачи данных УИС - одна из перспективных возможностей для обмена лучшими практиками и распространения преднастроенного, готового к моментальному развертыванию программного обеспечения по направлениям деятельности учреждений и органов УИС.

Преимущества Docker в сравнении с используемыми в настоящее время системами полной виртуализации VMWare vSphere или oVirt (в режиме KVM, хотя в oVirt существует и поддержка LXC, и специализированный модуль для Docker) связаны, прежде всего, с преимуществами контейнерной виртуализации перед полной виртуализацией, а именно, увеличением производительности приложений в виртуальной среде, оптимизацией использования аппаратного обеспечения в части возможности запуска большего количества экземпляров виртуальных серверов на одном хосте виртуализации, экономией дискового пространства за счет разделяемых между виртуальными окружениями базовых средств операционной системы хоста, легкостью развертывания и модернизации.

Внедрение Docker в практику целесообразно (но не обязательно) проводить параллельно с внедрением одной из облачных платформ, относящихся к типу IaaS (англ., Infrastructure as a Service, Инфраструктура как Сервис), например, OpenStack. В этом случае Docker будет выступать в качестве гипервизора для вычислительных узлов (Openstack nova Compute), функционирующего в рамках одной из специально созданных для Docker операционных систем семейства Linux - CoreOS, Atomic или Ubuntu Core.

В заключение хотелось бы отметить, что внедрение в практику деятельности учреждений и органов УИС новых, но уже зарекомендовавших себя технологий и программных продуктов, распространяемых на правах свободного программного обеспечения, потенциально позволяет осуществить качественный переход к ИКТ-инфраструктуре нового типа в условиях высоких цен на проприетарное западное программное обеспечение и с учетом взятого Российской Федерацией курса на разумное импортозамещение.

Список литературы

  • 1. Hane Oskar, Build your own PaaS with Docker. PACKT Publishing, 2015.
  • 2. Kavis Michael J., Architecting The Cloud. Wiley, 2014.
 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >