Документ требований к продукту

This is the 2021 version of the document, finalized at the IRC Working Group Meeting on June 23, 2021 and approved by FESCo vote as of July 9, 2021.

Этот документ даёт обзор того, что представляет собой Fedora Server Edition, его цели и задачи, а также для чего он предназначен. Он написан с точки зрения пользователя, чтобы позволить людям понять, что должен делать Server Edition, для чего он полезен и чего ожидать от него в будущем.

Видение Fedora Server

Fedora Server — это реальное воплощение видения проекта Fedora для организаций, отдельных пользователей и разработчиков, позволяющее разрабатывать, развёртывать и поддерживать приложения и службы — свободно, автономно и под собственным контролем.

Миссия Fedora Server

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

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

Как разработчик или системный интегратор, вы получаете возможность заглянуть в сервер будущего.

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

Рыночная возможность

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

Fedora Server, будучи передовым дистрибутивом Linux, является идеальным местом для разработчиков, системных администраторов и специалистов DevOps, чтобы быть в курсе этих низкоуровневых технологий. Fedora Server предоставляет возможность изучать эти возможности и обеспечивает стабильное место для развёртывания приложений — как новых, так и унаследованных.

Fedora Server обеспечивает стабильную основу со сбалансированным использованием ресурсов, при этом предоставляя новейшие технологии и давая администраторам ежедневный доступ к новейшим инструментам, как только они становятся пригодными к использованию.

Почему стоит использовать Fedora Server?

У Fedora Server так много настоящих преимуществ, что их трудно перечислить все. Девять наиболее важных из них:

  • Дважды в год выпускаемый цикл выпусков позволяет почти сразу включать последние версии системного и прикладного программного обеспечения. Пользователи и системные администраторы получают возможность быстро реагировать на новые рыночные возможности и меняющиеся или расширяющиеся требования заказчиков.

  • Продуманный процесс выпуска и обеспечения качества обеспечивает высокий уровень надёжности и стабильности, несмотря на быстрый цикл выпусков. Это достигает превосходного баланса между «передним краем» и зрелостью для использования в массовых развёртываниях.

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

  • Большое разнообразие доступного программного обеспечения, всё включённое в этот процесс выпуска, открывает широкий спектр возможностей для гибкости при построении сервера в соответствии с конкретными потребностями и пожеланиями заказчика или конечного пользователя.

  • Новейшие, стабильные, современные инструменты системного администрирования (например, cockpit) заметно снижают нагрузку по системному администрированию.

  • Строгое согласование с другими редакциями Fedora, а также дважды в год выпускаемые релизы связаны с менее разрушительными обновлениями — несколько небольших обновлений легче управлять, чем несколькими крупными.

  • Сам процесс обновления очень прост и понятен и не требует переустановки. Пропуск одного выпуска также возможен, если новые возможности не нужны немедленно. В целом, Fedora решительно дружелюбна к системным администраторам.

  • Fedora Server обеспечивает максимальную свободу от ограничений, налагаемых коммерческими интересами или корпоративным управлением функциями, и превосходную обратную совместимость с оборудованием.

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

Цели Server Edition

Fedora Server Edition предлагает высоко гибкую и адаптируемую многоцелевую серверную платформу, применимую в любом масштабе.

  • Платформа для важных инфраструктурных задач и базовых служб (DNS, DHCP, FreeIPA и другие)

  • Платформа для различных важных специализированных серверных приложений (файловый сервер/сервер хранения, сервер баз данных, разработанные пользователями веб-приложения и т. д.)

  • Платформа для развёртывания систем Infrastructure-as-a-Service для оптимального развёртывания образов Fedora Cloud.

  • Платформа для развёртывания контейнеризованных приложений, поддерживающая несколько контейнерных технологий, среди которых системный администратор может выбирать в соответствии с индивидуальными требованиями.

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

  • Инфраструктура, позволяющая эффективно управлять множеством серверов как единым целым. Продукт обязуется производить только базовые инструменты, но инфраструктура позволит создавать более продвинутые инструменты.

  • Операционная платформа, способная запускать любую комбинацию вышеупомянутых служб в соответствии с самыми разными потребностями пользователей или системных администраторов (многоцелевая функция).

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

Дополнительные общие цели

Помимо внедрения и развития платформы Fedora Server, у нас есть дополнительные цели, которые в любом случае являются основополагающими:

  • Ориентированность на безопасность: безопасность по проекту — включая поддержку TPM, включение шифрования диска

  • Управляемость сообществом: интенсивная обратная связь о направлении развития продукта и потенциальных улучшениях. Это отличается от «отчётов об ошибках» тем, что мы надеемся вовлечь аудиторию и получить подробную обратную связь о сценариях использования, желаемых функциях, развивающихся тенденциях в управлении облаком и т. д. Мы поощряем больше патчей и вкладов, которые помогут улучшить Server Edition и Fedora в целом.

Основные сценарии использования, профили пользователей и наиболее важные функции

Варианты использования

Fedora Server должен будет решать следующие варианты использования:

  • Локальный сервер для малых и средних предприятий, размещающий почтовую службу, календарь и специфичное для филиала (вероятно, контейнеризованное) программное обеспечение — либо одноузловое развёртывание, либо многоузловое развёртывание с автоматическим переключением при сбое

  • Выделенный сервер для малого офиса/домашнего офиса, «голое железо», арендованное у удалённого провайдера и находящееся под полным собственным контролем, предлагающее различные службы. Публичный доступ через виртуальные машины по соображениям безопасности.

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

  • Персональный домашний сервер, расположенный «на месте» в собственной квартире/доме и используемый как NAS, устройство резервного копирования и для таких приложений, как хранилище почты, база контактов, календарь, библиотека электронных книг, медиасервер и т. д.

  • Машина для разработки, предоставляющая разработчикам новейшие версии программного обеспечения и превосходные инструменты разработки

Профили пользователей

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

Системный администратор «Макгайвер»

  • Администратор с ограниченными аппаратными и кадровыми ресурсами для работы

  • Требуется простая автоматизация для справления с повторяющимися задачами

  • Нуждается в возможности «делать много малыми средствами»

DevOps-инженер/администратор

  • Акцент на времени развёртывания и времени восстановления, а не на времени безотказной работы

  • Ценность достигается за счёт самой быстрой поставки новейших возможностей

  • Должен уметь быстро развёртывать на PaaS, SaaS и физических серверах

Разработчик приложений

  • Нужна платформа с гарантиями стабильности API и ABI

  • Акцент на минимизации риска при внесении изменений

  • Нуждается в новейших технологиях виртуализации и контейнеризации

  • Предпочитает платформу, похожую на рабочую станцию

Лицо, принимающее решения

  • Принимает решения о закупках и определяет выбор технологий

  • Взаимодействует с сообществами FOSS upstream для выявления потенциальной ценности

Домашний администратор

  • Мне нужна довольно стабильная машина с графическим интерфейсом (Cockpit), и я просто хочу запустить пару контейнеров и/или виртуальных машин, чтобы на ней работал nextcloud.

  • Мне нужен здесь gitea, там gitlab, где-то jenkins, где-то photoprism, minecraft и т. д. Могу ли я легко собрать NAS?

  • Я не против обновлений и перезагрузок ночью, но это должно работать. Было бы здорово иметь mDNS и веб-интерфейс.

Гиперскейлер

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

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

  • Я хочу автоматизировать установку серверов и настройку имени хоста, сервера времени, усиления защиты и т. д. Кроме того, я хочу развёртывать типичные службы, такие как mariadb, httpd, nginx, redis, nodejs, java и т. д., воспроизводимым способом. Чтобы видеть, что делают машины, мне нужен хорошо документированный способ управления, мониторинга и резервного копирования.

  • Моя команда безопасности также хочет, чтобы я отключил ненужные службы, отключил устаревшие протоколы, включил усиление защиты на нескольких уровнях.

Ремиксер / «Давайте построим на его основе»

  • Мне нравится, как работает Fedora, и я хочу создать что-то на её основе.

  • Мне нужен очень хорошо документированный процесс сборки и, возможно, инструменты для создания новых установочных образов

  • Удаление брендинга должно быть возможно с помощью некоторых флагов компилятора или переменных, чтобы мне не нужно было возиться с самим кодом.

  • У меня есть raspberry/intel nuc/и т. д., и я немного играюсь с новыми вещами.

Наиболее важные функции

  • Пользователь может легко развёртывать и настраивать любое поддерживаемое приложение Fedora Server, а также быстро переразвёртывать службы в соответствии со своими практиками DevOps. (Примеры варьируются от BIND DNS, DHCP, сервера баз данных, цели iSCSI, файлового сервера/сервера хранения до гипервизорного узла OpenStack и подобных)

  • Пользователь может запрашивать, мониторить, настраивать и управлять Fedora Server и ресурсами, потребляемыми службами, удалённо с помощью стабильных и согласованных публичных интерфейсов.

  • Пользователь может развернуть и настроить Fedora Server для обеспечения доменной инфраструктуры с решениями FreeIPA и Samba Active Directory. Fedora Server может стать контроллером домена в только что созданном домене или присоединиться к существующему домену в качестве контроллера домена или члена домена.

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

  • Пользователь может устанавливать и управлять Fedora Server в безголовом режиме — либо напрямую из командной строки, либо с поддержкой Cockpit, лёгкого веб-интерфейса.

Логистические вопросы

Механизмы доставки

Fedora Server Edition produces two main installation resources, a netinstall image and an offline install iso image.

Поддерживаемые методы установки:

  • Автоматизированная («массовая») установка в рамках более крупной инфраструктуры Linux (например, PXE является опцией, может иметь LDAP/IPA).

  • Ручная установка без поддерживающей инфраструктуры (например, самый первый сервер Linux).

  • Существующие серверы должны обновляться до новых выпусков с минимальным участием администратора.

Пользователи смогут получить эти образы на веб-сайте проекта Fedora и через сети зеркал.

Документация

Документация Fedora Server Edition будет доступна в отдельном разделе проекта документации Fedora. Для отдельных тем мы стремимся к интеграции в общую документацию Fedora.

Об этом документе

Этот документ стал результатом широкого обсуждения в рабочей группе Fedora Server Edition. В число участников входят:

  • Александр Боковой

  • Peter Boy (редактор)

  • Давиде Кавалька

  • Кевин Фензи

  • Стивен Галлахер

  • Джон Химпел

  • Дэвид Кауфманн

  • Ян Купаринен

  • Эдуард Лусена

  • Мишель Салим

  • Стивен Смуген

  • Лэнгдон Уайт

  • Адам Уильямсон