OpenShift против OpenStack

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

Обзор OpenShift в сравнении с OpenStack

Исторически сложилось так, что OpenStack существует дольше, чем OpenShift. Эволюция этих двух проектов отражает переход от виртуальных машин к контейнерам приложений. За последнее десятилетие контейнерная виртуализация стала доминирующей технологией виртуализации.

В чем сходства и различия между OpenShift и OpenStack?

OpenShift и OpenStack — это проекты с открытым исходным кодом, которые были созданы примерно в 2010-2011 годах. Оба они используются для создания масштабируемых систем в гибридных облачных средах. Они преимущественно используются крупными, глобальными организациями и могут работать на широком спектре базовых вычислительных инфраструктур.

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

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

Характеристика

OpenShift

OpenStack

Производитель

Red Hat

OpenInfra Foundation

Тип виртуализации

Контейнерная виртуализация

Виртуальные машины или виртуализированное оборудование

Технология виртуализации

K8s

Гипервизор, такой как KVM, XEN, ESXi

Уровень управления

Распределенный

Централизованный

Сервисная модель

Платформа как услуга (PaaS)

Инфраструктура как услуга (IaaS)

Использование облачных ресурсов

Использование облачных ресурсов для создания прикладного уровня

Предоставляет облачные ресурсы на основе виртуализированного оборудования

Как развертываются OpenShift и OpenStack?

С помощью OpenStack организации могут создавать собственные облачные среды по модели «инфраструктура как услуга» (IaaS). Можно создать внутреннее облако, аналогичное AWS и альтернативам. В качестве облачного ресурса OpenStack использует распределенное оборудование, доступное через различные интерфейсы.

В отличие от него, OpenShift осуществляет централизованное управление разработкой и эксплуатацией приложений. Программное обеспечение основано на Kubernetes (K8s) и управляет кластерами K8s через границы облака. Следуя модели Platform-as-a-Service (PaaS), функциями системы можно управлять через веб-интерфейс.

Хотя их названия звучат похоже, OpenShift и OpenStack не связаны между собой. Они могут использоваться независимо друг от друга. Однако их также можно комбинировать. В рамках стратегии гибридного облака OpenStack может быть использован для создания частного облака. Затем OpenShift может использовать содержащиеся в нем ресурсы для предоставления и управления приложениями и сервисами. Также возможно развертывание компонентов OpenStack на кластерах K8s или OpenShift.

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

OpenStack — открытая платформа

OpenStack — это открытая платформа для создания масштабируемых облачных сред. Программное обеспечение выступает в качестве уровня абстракции поверх децентрализованной аппаратной инфраструктуры. Его основной функцией является предоставление и распределение вычислительных, сетевых и дисковых мощностей. Следуя модели Infrastructure-as-a-Service (IaaS), пользователи могут запрашивать необходимые им ресурсы. Помимо обязательных API, для управления системой предусмотрен веб-интерфейс.

Помимо предоставления ресурсов, OpenStack предлагает и другие функции, включая управление идентификацией пользователей, управление DNS-записями и сервис для управления образами виртуальных машин. Удобно, что отдельные функции инкапсулированы в виде отдельных компонентов. В текущей версии OpenStack насчитывается более трех десятков компонентов; обычно не все из них используются в одном проекте. Мы приводим краткий обзор наиболее важных компонентов:

Компоненты OpenStack

Функциональность

Описание

Nova

Вычислительный сервис

Предоставление виртуализированных процессорных ядер и памяти.

Swift

Хранилище объектов

Хранение S3-подобных объектов на основе виртуализированного резервного хранилища.

Glance

Служба образов

Управление образами виртуальных машин для работы платформы.

Horizon

Веб-панель управления

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

Keystone

Служба идентификации

Обеспечивает межсистемную аутентификацию и авторизацию пользователей на основе API.

Cinder

Блочное хранилище

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

Neutron

Управление сетью

Управление виртуальной сетевой инфраструктурой системы (VNI).

Ironic

Обеспечение «голого металла»

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

Trove

Сервис баз данных

Предоставление и управление масштабируемыми, надежными облачными базами данных.

Magnum

Оркестровка контейнеров

Развертывание контейнерных движков, таких как K8s и альтернативных, на базе виртуальных машин или пустой инфраструктуры.

В чем преимущества OpenStack?

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

Каковы недостатки OpenStack?

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

Для каких сценариев развертывания лучше всего подходит OpenStack?

OpenStack лучше всего подходит для создания облачной инфраструктуры на децентрализованном вычислительном оборудовании. Программное обеспечение работает чрезвычайно хорошо, когда речь идет о виртуальных машинах (VM). В сочетании с OpenShift или аналогичными решениями управления K8s приложения на базе ВМ и контейнеров могут работать бок о бок. Виртуализация контейнеров с помощью компонента «Magnum» теперь входит в набор его собственных функций.

OpenShift — самая мощная платформа для разработки приложений и приложений

OpenShift используется для построения распределенных, масштабируемых сред разработки приложений и приложений на основе модели «платформа как услуга» (PaaS). Программное обеспечение предоставляет полную среду исполнения, в которой развертываются, выполняются, управляются и оркеструются контейнеры. Интегрированные инструменты упрощают современные рабочие процессы разработки и развертывания.

В качестве подструктуры OpenShift использует специальный дистрибутив Kubernetes (K8s). Его можно развертывать в разных облаках и инфраструктурных границах, добиваясь согласованного пользовательского опыта. Основная функциональность K8s дополнена функциями безопасности и мониторинга и основана на централизованном управлении политиками. Это обеспечивает высококачественный стандарт в программном ландшафте всей организации. По большей части для реализации используются операторы OpenShift:

Компоненты OpenShift

Пояснение

OpenShift API Server

OpenShift API Server проверяет и настраивает ресурсы OpenShift, такие как проекты, маршруты и шаблоны.

OpenShift Controller Manager

OpenShift Controller Manager отслеживает etcd на предмет изменений объектов OpenShift, таких как проекты, маршруты и объекты контроллера шаблонов, и использует API для достижения желаемого состояния.

OpenShift OAuth API Server

OpenShift OAuth API Server проверяет и настраивает данные для аутентификации на OpenShift Container Platform. Сюда входят пользователи, группы и OAuth-токены.

Сервер OpenShift OAuth

Пользователи запрашивают токен у сервера OpenShift OAuth для аутентификации в API.

Каковы преимущества OpenShift?

OpenShift облегчает эксплуатационные сложности, связанные с администрированием самоуправляемых кластеров K8s. Можно централизованно управлять несколькими кластерами K8s в публичных и частных облачных инфраструктурах. Следуя подходу PaaS, разработчики могут запрашивать ресурсы для своих проектов через веб-интерфейс. Интегрированные инструменты и рабочие процессы для непрерывной интеграции и непрерывной доставки (CI/CD) также являются частью портфеля функций. Это приводит к значительному сокращению времени доставки.

OpenShift убеждает своими интегрированными мерами безопасности. «Quay» — это специально защищенный реестр контейнеров. Сквозная авторизация и аутентификация ограничивают доступ пользователей к отдельным областям системы. Возможность размещения отдельных кластеров в разных географических регионах позволяет лучше соблюдать требования по защите данных и суверенитету данных.

Каковы недостатки OpenShift?

OpenShift работает только на специальных операционных системах от Red Hat, таких как «Red Hat Enterprise Linux CoreOS» (RHCOS) и «Red Hat Enterprise Linux» (RHEL). Установка считается чрезвычайно сложной. Например, установка для крупных проектов может занять несколько недель. В связи со строгими мерами безопасности используются специально защищенные образы контейнеров из реестра контейнеров Red Hat «Quay».

Для каких сценариев развертывания лучше всего подходит OpenShift?

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

OpenShift против OpenStack — прямое сравнение

Характеристика

OpenShift

OpenStack

Источник поставки программного обеспечения

В дополнение к корпоративным версиям, предлагаемым Red Hat, OKD является свободно распространяемой редакцией сообщества.

Разработкой OpenStack занимается сообщество, возглавляемое фондом OpenInfra Foundation. В дополнение к официальной, свободно распространяемой версии крупные ИТ-компании предлагают платные дистрибутивы.

Модель развертывания

Развертывание мульти- и гибридных облаков возможно, но может быть сложным в построении. Стоит использовать стандартизированные механизмы развертывания.

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

Поддерживаемые облачные платформы

В качестве самоуправляемого решения OpenShift может использоваться практически на любой инфраструктуре. В качестве управляемого решения программное обеспечение работает на облачных платформах AWS, Azure, Google Cloud и IBM Cloud.

OpenStack работает на всех облачных платформах в виртуальных машинах, а также на «пустых» машинах через гипервизор. Кроме того, компоненты могут быть установлены в контейнерных средах всех основных провайдеров.

Установка

Для установки требуется кластерная или облачная среда.

Контроллеры OpenStack устанавливаются либо на месте, либо на инфраструктуре, предоставляемой поставщиком.

Релизы

До трех релизов в год.

Два выпуска в год.

Управление обновлениями

Обновления упрощаются с помощью «Оператора версий кластера».

Обновления сложны и есть риск повредить систему. Обновления отдельных компонентов должны выполняться в определенном порядке.

Управление образами

Реестр контейнеров Red Hat «Quay» содержит образы контейнеров, проверенные на наличие уязвимостей.

Компонент «Glance» управляет образами виртуальных машин, используемыми при инициализации системы.

Использование шаблонов

В дополнение к шаблонам OpenShift используются мощные «операторы» для стандартизации развертывания и работы приложений.

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

Управление сетью

OpenShift поддерживает программно-определяемые сети (SDN), включая оверлейные сети через Open vSwitch (OVS).

Компонент OpenStack «Neutron» обеспечивает SDN по модели «сеть как услуга» (NaaS).

Веб-интерфейс

Продуманный и удобный веб-интерфейс OpenShift считается одним из лучших в отрасли.

С панелью управления «Horizon» проверенный веб-интерфейс для управления OpenStack доступен для всех желающих.

Интегрированный конвейер CI/CD

Если в старых версиях еще использовался «Jenkins», то в новой версии по умолчанию используется «Tekton».

Поскольку OpenStack ориентирован в основном на предоставление виртуализированных ресурсов, специализированное решение CI/CD не интегрировано из коробки.

Кривая обучения

OpenShift считается более простым в обращении, чем «голый» K8s. Если используется управляемое решение, программное обеспечение можно использовать относительно легко.

Из-за сложности OpenStack кривая обучения очень крутая. Большое количество отдельных компонентов или добавление функций может потребовать дополнительного обучения.

Функции безопасности

Одним из основных преимуществ OpenShift являются его обширные функции безопасности.

Компонент «Keystone» обеспечивает базовые функции аутентификации и авторизации пользователей.

Использование на предприятиях

Программное обеспечение используется более чем двумя тысячами организаций по всему миру. Многие крупные ИТ-компании предлагают специальные решения OpenShift.

Крупные ИТ-компании предлагают специальные дистрибутивы и поддержку OpenStack. Среди них Red Hat, VMware, IBM, SUSE, Canonical, OVH, Rackspace, Mirantis и Dell.

Оцените статью
cdelat.ru
Добавить комментарий