Выбор операционной системы для серверных решений: ключевые аспекты
В мире информационных технологий выбор операционной системы для серверных решений может оказать значительное влияние на производительность и эффективность работы. Платформа dBrain.cloud, изначально интегрированная в другой крупный продукт, столкнулась с необходимостью адаптации к изменяющимся требованиям и масштабам. С переходом на кластерные решения возникли новые задачи, требующие пересмотра подхода к выбору операционной системы. В этом контексте мы решили рассмотреть альтернативные варианты, которые бы соответствовали нашим нуждам и обеспечивали простоту в управлении.
Ранее платформа dBrain была частью нашего другого крупного продукта. И дистрибутивы мы собирали сами. Собирали ядро и нужные пакеты — получался кастомный дистрибутив. Когда мы стали разрабатывать кластерное решение, встал ряд задач.
На нашем продукте предусматривалось большое количество и разнообразие серверов. Их необходимо было массово деплоить, то есть разворачивать на них операционные системы (ОС). Запросы к программному обеспечению (ПО) повышались, поэтому каждый раз собирать ОС самостоятельно стало затруднительно. Назрела необходимость взять готовое и простое решение. Эти вопросы удачно закрыли MAAS и Ubuntu ОС — продукты компании Canonical.
Это было в 2016 году. На тот момент у нас была 14 версия Ubuntu, только вышла 16-я. Они были простые и занимали немного места.
Ubuntu больше не подходит
Сейчас, по прошествии 8 лет, концепция развития Ubuntu поменялась: ОС перестала подходить под наши запросы, появилось много лишних для нас фишек, которые приходилось «выпиливать». Все процессы очень растянулись. Несколько лет назад некоторые крупные организации, которые использовали старые версии Ubuntu, перешли на другие решения.
Разработчики Ubuntu часть улучшений делают с акцентом на десктопную версию, чтобы захватить эту часть рынка и сделать взаимодействие конечного пользователя с ОС проще (установка, эксплуатация). Нас же интересовал максимально стабильный и минималистичный серверный дистрибутив.
При переходе возникло несколько вопросов. Хотелось оставить удобство работы с MAAS, чтобы мы по-прежнему могли устанавливать ОС на несколько серверов одновременно. Необходимо было перевезти на новую операционную систему все наши существующие инсталляции: иметь возможность обновлять и платформу, и операционную систему.
Плюсы Debian
Debian подошла под эти условия. Мы смогли сделать custom image для MAAS с Debian. Эта ОС, несмотря на большое количество пакетов и поддержку многих компонентов, остается довольно простой. Ubuntu 20.04 отлично обновилась на Debian 12.
Сегодня на рынке есть и другие решения, но для нас ключевым моментом остается возможность обновления старых инсталляций с Ubuntu на что-то другое. И если на Debian мы смогли очень просто обновиться, то, например, на Arch или CentOS, которые мы также рассматривали, это становится большой проблемой. В данном случае надо все сносить и переустанавливать заново, буквально по одной ноде, чтобы не разрушить кластер. Например, на одном из наших высоконагруженных проектов на обновление одной ноды Ubuntu на Debian уходит порядка 10 минут с перезагрузкой. Чтобы все снести, развернуть и установить заново, необходимо в 2–4 раза больше времени. А на скейле в 400 нод на это уйдет несколько месяцев.
Немаловажным фактором является распространенность и популярность данного дистрибутива, он присутствует во всех платформах виртуализации, совместимость с которыми мы тестировали, например, в приватном облаке Selectel.
Еще один плюс от перехода на Debian — экономия места на размерах дистрибутивов. Мы держим свое зеркало пакетов ОС, чтобы можно было разворачиваться в закрытых контурах. Например, полное зеркало Debian, которое мы делаем, занимает примерно в 2 раза меньше места, чем зеркало Ubuntu, которое мы использовали. То есть мы уже выигрываем на скорости обновления всех дистрибутивов. Плюс сама инсталляция на диске занимает чуть меньше места.
Кроме того, Debian проще обновлять, если идти по ветке тестинга. Ubuntu приходится обновлять с версии на версию: когда выходит новая стабильная версия, ее нужно полностью обновить, что занимает время. В Debian можно все время существовать не на stable-ветке, а на ветке testing, постоянно обновляться и получать актуальные пакеты. Несмотря на то, что ветка называется testing, она вполне оттестирована и стабильна. Получается плавное обновление до новых версий.
С точки зрения безопасности в Debian предусмотрено меньше открытых портов на старте системы за счет меньшего количества дополнительных пакетов, что снижает возможную поверхность атаки. То, что мы пытались в Ubuntu убирать, в Debian отсутствует изначально. Нужно меньше времени тратить, чтобы удостовериться в отсутствии в новой версии Ubuntu фишек, которые заметны не сразу, но для нужд платформы контейнеризации губительны.
Переход на Debian стал не только оправданным решением, но и стратегическим шагом в развитии нашей платформы. Мы смогли сохранить удобство работы с ОС и обеспечить быструю миграцию существующих инсталляций, что значительно упростило процессы обновления и управления. С учетом всех преимуществ, включая экономию места и безопасность, Debian стала идеальным выбором для наших серверных нужд.
Будем рады услышать мнение о выборе операционных систем для ваших проектов — делитесь своим опытом и рекомендациями в комментариях.
Читайте также:
Куда плывут облака? Тренды развития Kubernetes в 2025 году
Как ускорить кластер Kubernetes на 100 тысяч подов в 10 раз
Что делать, когда кластер превращается в тыкву?