Red Hat , Ubuntu , и Docker: Виртуализация хранилища данных становится мейнстримом
Ubuntu видит в контейнерных технологиях и Docker способ быть максимально естественной и эффективной, как соты.
У Linux , конечно, уже давно есть свои гипервизоры, такие как его встроенный KVM (Kernel Virtual Machine) и Xen , но контейнеры - это другой подход к виртуализации. В традиционных гипервизорах виртуализируется вся вычислительная мощность, от процессора до памяти и хранилища данных. Это означает, что виртуальная машина любого гипервизора (ВМ) занимает много системных ресурсов.
Контейнер же основан на общем ядре операционной системы. Это объяснил Джеймс Боттомли (ведущий разработчик ядра Linux) на Collaboration Summit Linux в марте 2014: «Контейнеры намного легче и эффективнее, чем гипервизоры. Вместо виртуализации аппаратных средств , контейнеры опираются на один единственный экземпляр Linux». Это означает, что вы можете «отказаться от бесполезных 99,9% ВМ, оставив себе небольшую, аккуратную капсулу, содержащую приложения.»
С практической точки зрения это означает, что вы можете установить гораздо больше приложений на одном сервере, чем применяя любой другой подход к виртуализации. И, конечно,если вы можете поместить несколько экземпляров программы на сервере , вы можете поместить их больше в центре обработки данных или на облаке. Хитрость здесь состоит в том, чтобы получить свои приложения в контейнере в первую очередь. Вот где приходит на помощь Docker.
В Linux контейнеры работают поверх LXC . Это интерфейс в пользовательском пространстве для функций сдерживания ядра Linux. Она включает в себя интерфейс прикладного программирования (API) , чтобы позволить пользователям Linux создавать и управлять контейнерами с системой или приложениями. Docker можно рассматривать в качестве «упаковочной» системы LXC контейнерных приложений. Он упрощает в развертывании контейнерные приложения в операционных системах, таких как Red Hat Enterprise Linux (RHEL) 7.0 и Ubuntu 14.04 server.
Технический директор Red Hat Брайан Стивенс объяснил, что Red Hat заинтересовался этим, потому что «технология Docker помогает избавиться от барьеров, с которыми сталкиваются предприятия, внедряющие контейнеры. Простота использования, упаковки и интеграции приложений инфраструктуры – все это было захватывающим для нас. Мы считаем, что интеграция Red Hat и технологии Докер предлагает как богатые возможности для разработчиков, так и легкий способ упаковки приложений для корпоративных рабочих нагрузок в различных отраслях промышленности».
Canonical, компания-учредитель Ubuntu , заинтересовалась по тем же причинам. Марк Шаттлворт, основатель Ubuntu и Canonical, заявил в Google+ , что, LXC и Docker "гораздо быстрее и легче, чем KVM!"
В своем блоге, Дастин Киркланд , продукт-менеджер облачных решений Canonical, поддержал коллегу. Docker – это "шаблон проектирования, который, [подобно сотам], иногда встречается в природе, так некоторые из самых элегантных и впечатляющих решений часто кажутся настолько интуитивно понятными. Для меня Docker это всего лишь своего рода игра перестановок, гипер-инновационная технология, которая , по своей сути, так или иначе кажется простой, красивой, и очевидной».
Однако не все так оптимистично настроены по отношению к контейнерам и Docker. Роб Хиршфельд , старший архитектор облачных решений корпорации Dell написал в своем блоге: «Совершенно точно есть гораздо больше интересных случаев использования для Докер, но я чувствую, что он будет брошен в архитектурный слой в качестве замены "облакам"».
Хиршфельд считает, что Docker может быть мощным, даже прорывным, спедством в:
• Создании портативной и последовательной среды для разработки, тестирования и передачи данных
• Помощи дистрибутивам Linux постоянно обновлять ядро без нарушения пользовательского пространства
• Снижении издержек виртуализации изоляции арендатора (контейнеры легче)
• Снижении издержек виртуализации для DevOps разработчиков тестирования многоузловых развертываний
«Но»-, продолжал он: «Я обеспокоен тем, что мы ожидаем слишком много подводных камней». В частности :
• Упаковка по-прежнему сложна: Создание запертой коробки помогает решить часть нижестоящих задач (вы знаете, что у вас есть), но не вышестоящих проблем (вы не знаете, от чего вы зависите).
• Разрастание контейнера: разделение развертывания в более функциональные дискретные части – умно, но это означает, у нас появляется больше частей, которыми нужно управлять. Здесь кроется тонкая грань между разделением значений и разрастанием их количества.
• PaaS [платформа как услуга] Утверждение : Docker помогает с PaaS, но это не решает ни проблемы "вы должны моделировать свои приложения для PaaS", ни "PaaS нуждается в масштабируемых сервисах передачи данных.
Будут ли контейнеры с Docker следующей великой революцией в области виртуализации и облачных решений? Или же Docker окажется просто еще одним вариантом для архитекторов центров обработки данных и облачных решений, поскольку они стремятся получить все больше программ, выполняющихся на том же оборудовании? Скорее всего, это мы узнаем в текущем году.