Чем меньше, тем лучше: обзор операционных систем, ориентированных на Docker

Опубликовано: 6 Марта, 2023
Чем меньше, тем лучше: обзор операционных систем, ориентированных на Docker

С первых дней MS DOS до Win 3.1, 95 и 7 операционные системы прошли долгий путь от простой командной строки. Хотя Linux появился на сцене более десяти лет назад, такие разновидности, как Mint и Fedora, недавно завоевали популярность среди персональных пользователей. Вероятно, это связано с количеством драйверов, функций, приложений и программного обеспечения, совместимого с MS.

В отличие от многофункциональных DVD-образов Linux, к которым мы привыкли, кажется, что чем меньше, тем лучше в отношении выбора лучшей ОС для ваших контейнеров, и ряд компаний предлагают урезанные версии именно для этой цели. Разборка операционной системы до самого необходимого не является чем-то новым, в отличие от того, чтобы заставить ее работать во всем центре обработки данных. Благодаря контейнерам, популяризированным Docker, теперь у нас может быть одна операционная система, работающая на нескольких узлах, что позволяет эффективно обращаться ко всей сети как к одному компьютеру.

Кластеризация и распределение задач

Давайте рассмотрим еще несколько преимуществ этих упрощенных, ориентированных на Docker операционных систем по сравнению с многофункциональными продуктами, к которым мы привыкли. Кластеризация, вероятно, будет одним из основных преимуществ. Кластерные вычисления отличаются от обычных грид-вычислений тем, что в кластерных вычислениях каждый узел выполняет одну и ту же задачу. Это означает, что задания распределяются по узлам, чтобы они выполнялись быстрее. Такой тип распределения вычислительной мощности приводит к гораздо более высокой эффективности и меньшему объему ресурсов. Поскольку все узлы настроены на одну и ту же задачу, все они действуют как резервные копии друг для друга. Для предприятия это означает более высокую доступность и меньшее время простоя. Кластеризация не только помогает снизить затраты, но и повышает удобство. Если изначально предполагалось, что системные администраторы будут контролировать весь центр обработки данных на нескольких платформах, то теперь достаточно одной системы и одной платформы для управления целым кластером компьютеров.

Работа с несогласованными средами

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

Легкие откаты

Еще одним преимуществом, которым обладают Docker-ориентированные операционные системы, специально разработанные для контейнеров, является возможность отката версии ОС в случае неудачного обновления. Это четко отличает операционные системы, созданные для контейнеров, от традиционных операционных систем, в которых обновления являются постоянными и не могут быть автоматически отменены. Операционные системы, ориентированные на Docker, делают это, сохраняя копию исходной ОС «под рукой», чтобы откат был быстрым и эффективным. Некоторые ориентированные на Docker операционные системы, такие как CoreOS, достигают этого, имея несколько разделов и устанавливая обновление только на один; это обеспечивает относительно простой откат при необходимости. Как и CoreOS, существует ряд урезанных версий Linux, которые были разработаны специально с учетом контейнеров.

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

Основная ОС

Эта небольшая операционная система поддерживается большинством крупных облачных провайдеров и автоматически настраивает среду выполнения контейнера на каждом компьютере с CoreOS. Помимо автоматического обновления ОС, благодаря которому вам не нужно беспокоиться о более старых версиях, она также поставляется в комплекте с множеством инструментов, необходимых для запуска и управления контейнерами Linux. В дополнение к тому факту, что это открытый исходный код, CoreOS также имеет большое сообщество разработчиков, которые постоянно вносят свой вклад в то, чтобы сделать ее быстрее, легче и эффективнее. Также доступен коммерческий продукт под названием Tectonic, который представляет собой комбинацию стека Kubernetes и CoreOS и включает в себя консоль управления, корпоративную интеграцию SSO и собственный реестр контейнеров CoreOS, готовый для предприятий.

Ранчер ОС

Чем Rancher отличается от остальных, так это тем, что он предназначен исключительно для запуска Docker, а демон Docker на самом деле является первым процессом, запускаемым ядром при запуске. Rancher также запускает два демона Docker, один для пользователя и один для системы; это обеспечивает идеальную резервную копию, и, если вы ошибетесь при управлении своими пользовательскими контейнерами, ваши системные контейнеры останутся нетронутыми. Еще одним отличительным фактором является то, что эта ОС использует Docker для запуска всех системных служб и управляет ими, как если бы они были контейнерами Docker. Это значительно снижает нагрузку на ОС и значительно облегчает жизнь разработчику.

Boot2Docker

Этот дистрибутив основан на ОС Tiny Core Linux, и помимо того, что он весит менее 25 мегабайт, что относит его к категории «сверхлегких», он загружается менее чем за пять секунд и полностью работает без оперативной памяти. Это также решает проблему несовместимости с системами Mac OSX и Windows, поэтому это отличный выбор для пользователей, работающих под управлением любой из этих ОС.

Быстрое ядро Ubuntu

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

VMware Фотон

В отличие от большинства упрощенных операционных систем, ориентированных на Docker, которые оптимизированы для Docker, Photon оптимизирован для использования с vSphere. Однако он поддерживает Docker и другие контейнерные технологии. Он также отличается от других жизненным циклом и централизованным управлением идентификацией. Это делает его хорошим выбором для производства, особенно для пользователей VMware, которые уже знакомы с vSphere.

Атомный хост Red Hat

Эта мини-ОС от одного из старейших и крупнейших дистрибьюторов Linux не разочаровывает, поскольку дает вам доступ к множеству хорошо разработанных инструментов и приложений Red Hat, которые можно использовать с ней. Разработанный специально для развертывания и управления контейнерами Docker, этот дистрибутив также популярен благодаря чрезвычайно простым откатам, которые связаны с тем, что он заменяет традиционные обновления yum на rpm-ostree. Это позволяет откатиться к предыдущему дереву.

Microsoft Nano Server и OSv — еще несколько заслуживающих упоминания в легкой категории. Хотя OSv все еще находится в стадии бета-тестирования, говорят, что она имеет беспрецедентно короткие задержки и чрезвычайно предсказуема. Nano Server, с другой стороны, похоже, нацелен на другой рынок, в основном на разработчиков Windows, а также на тех, кто использует Microsoft Azure.

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