АНАЛИЗ АКТУАЛЬНОСТИ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ ПРЕДОСТАВЛЕНИЯ УСЛУГ ХОСТИНГА DOCKER КОНТЕЙНЕРОВ

7 ноября 2:12

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

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

На данный момент существует несколько популярных технологий виртуализации подобного плана, например, устаревший OpenVZ и современный LXC, изначально обладавший куда меньшим уровнем изоляции чем OpenVZ. Так же имеется программное обеспечение Docker для автоматизации развертывания и управления изолированными средами выполнения программного кода также оперирующее контейнерами. Данные технологии применяют ядро Linux. И, если для предоставления услуг хостинга на базе технологий OpenVZ или LXC существуют готовые решения, то в случае Docker таких решений нет.

В случае применения Docker для предоставления услуг хостинга можно выделить следующие достоинства как для конечного пользователя, так и для оператора услуги:

  • конечный пользователь услуги самостоятельно указывает требуемый ему образ, из которого будет развернут контейнер. Оператору, предоставляющему услугу, не требуется самостоятельно подготавливать шаблоны;
  • конечный пользователь может с легкостью самостоятельно единожды подготовить необходимый образ, который при желании будет автоматически поддерживаться в актуальном состоянии;
  • после создания контейнер не требует дополнительной установки пакетов так как образ является готовым к работе;
  • минимальные накладные расходы ресурсов, а в некоторых случаях возможна экономия места так как все контейнеры могут использовать разделяемые слои данных при помощи union file system;
  • пользователю не нужно самостоятельно подготавливать ПО Docker для работы так как это сделано оператором услуги;
  • возможность гибко регулировать возможности контейнеров при их создании обеспечивает повышенную безопасность при изоляции ресурсов;
  • динамически устанавливаемая квота на использование ресурсов не требует перезапуска контейнера в случае увеличения ресурсов, а также позволяет уменьшать дисковую квоту, что недоступно при использовании виртуальных машин.

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

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

 

Литература:

  1. Использование Docker / пер. с англ. А. В. Снастина; науч. ред. А. А. Маркелов. — М.: ДМК Пресс, 2017. — 354 с
  2. Docker overview [Электронный ресурс]. URL: https://docs.docker.com/get-started/overview/ (дата обращения: 01.06.2020).
  3. Linux Containers — LXC — Introduction [Электронный ресурс]. URL: https://linuxcontainers.org/lxc/introduction/ (дата обращения: 01.06.2020).
  4. Open source container-based virtualization for Linux. [Электронный ресурс]. URL: https://openvz.org/ (дата обращения: 01.06.2020).

 

References:

  1. Ispolzovanie Docker / per. s angl. A. V. Snastina; nauch. red. A. A. Markelov. — M.: DMK Press, 2017. — 354 s
  2. Docker overview [Elektronnyi resurs]. URL: https://docs.docker.com/get-started/overview/ (data obrashcheniia: 01.06.2020).
  3. Linux Containers — LXC — Introduction [Elektronnyi resurs]. URL: https://linuxcontainers.org/lxc/introduction/ (data obrashcheniia: 01.06.2020).
  4. Open source container-based virtualization for Linux. [Elektronnyi resurs]. URL: https://openvz.org/ (data obrashcheniia: 01.06.2020).