OpenShift - Обзор
OpenShift - это платформа облачной разработки как услуга (PaaS), размещенная на сервере Red Hat. Это удобная облачная платформа с открытым исходным кодом, используемая для создания, тестирования и запуска приложений и, наконец, их развертывания в облаке.
OpenShift может управлять приложениями, написанными на разных языках, таких как Node.js, Ruby, Python, Perl и Java. Одна из ключевых особенностей OpenShift - это расширяемость, которая помогает пользователям поддерживать приложение, написанное на других языках.
OpenShift включает в себя различные концепции виртуализации в качестве уровня абстракции. Основная концепция OpenShift основана на виртуализации.
Виртуализация
В общем, виртуализацию можно определить как создание виртуальной системы, а не физической или фактической версии чего-либо, начиная с системы, хранилища или операционной системы. Основная цель виртуализации - сделать ИТ-инфраструктуру более масштабируемой и надежной. Концепция виртуализации существует на протяжении десятилетий, и с развитием ИТ-индустрии сегодня ее можно применять к широкому спектру уровней, начиная от уровня системы, уровня оборудования и заканчивая виртуализацией на уровне сервера.
Как это устроено
Его можно описать как технологию, в которой любое приложение или операционная система абстрагируются от своего реального физического уровня. Одним из ключевых применений технологии виртуализации является виртуализация серверов, которая использует программное обеспечение, называемое гипервизором, для абстрагирования уровня от базового оборудования. Производительность операционной системы, работающей в режиме виртуализации, такая же, как и при работе на физическом оборудовании. Однако концепция виртуализации популярна, так как большая часть работающих систем и приложений не требует использования базового оборудования.
Физическая и виртуальная архитектура
Типы виртуализации
Application Virtualization- В этом методе приложение абстрагируется от базовой операционной системы. Этот метод очень полезен, когда приложение может работать изолированно, не зависимо от операционной системы.
Desktop Virtualization- Этот метод используется для уменьшения нагрузки на рабочую станцию, когда можно получить удаленный доступ к рабочему столу с помощью тонкого клиента на рабочем столе. В этом методе рабочие столы в основном работают в центре обработки данных. Классическим примером может служить образ виртуального рабочего стола (VDI), который используется в большинстве организаций.
Data Virtualization - Это метод абстрагирования и ухода от традиционного метода управления данными.
Server Virtualization- В этом методе виртуализируются ресурсы, связанные с сервером, включая физический сервер, процесс и операционную систему. Программное обеспечение, обеспечивающее эту абстракцию, часто называют гипервизором.
Storage Virtualization - Это процесс объединения нескольких запоминающих устройств в одно запоминающее устройство, которым управляют с единой центральной консоли.
Network Virtualization - Это метод, при котором все доступные сетевые ресурсы объединяются путем разделения доступной полосы пропускания и каналов, каждый из которых не зависит друг от друга.
OpenShift
OpenShift - это облачная платформа приложений как услуга (PaaS). Это технология с открытым исходным кодом, которая помогает организациям переносить свою традиционную инфраструктуру приложений и платформу с физических виртуальных сред в облако.
OpenShift поддерживает очень широкий спектр приложений, которые можно легко разработать и развернуть на облачной платформе OpenShift. OpenShift в основном поддерживает три типа платформ для разработчиков и пользователей.
Инфраструктура как услуга (IaaS)
В этом формате поставщик услуг предоставляет виртуальным машинам аппаратного уровня некоторую предопределенную конфигурацию виртуального оборудования. В этом пространстве есть несколько конкурентов, начиная с облака AWS, Google, Rackspace и многих других.
Главный недостаток IaaS после длительной процедуры настройки и инвестиций заключается в том, что каждый по-прежнему несет ответственность за установку и обслуживание операционной системы и пакетов серверов, управление сетью инфраструктуры и заботу об основном системном администрировании.
Программное обеспечение как услуга (SaaS)
С SaaS можно меньше всего беспокоиться о базовой инфраструктуре. Это так же просто, как подключи и работай, когда пользователю просто нужно подписаться на услуги и начать их использовать. Основным недостатком такой настройки является то, что можно выполнить только минимальный объем настройки, разрешенный поставщиком услуг. Одним из наиболее распространенных примеров SaaS является Gmail, где пользователю просто нужно войти в систему и начать его использовать. Пользователь также может внести небольшие изменения в свою учетную запись. Однако с точки зрения разработчика это не очень полезно.
Платформа как услуга (PaaS)
Его можно рассматривать как промежуточный уровень между SaaS и IaaS. Основная цель оценки PaaS - для разработчиков, в которых среда разработки может быть развернута с помощью нескольких команд. Эти среды спроектированы таким образом, что могут удовлетворить все потребности разработки, прямо от наличия сервера веб-приложений с базой данных. Для этого вам потребуется всего лишь одна команда, и поставщик услуг сделает все за вас.
Зачем использовать OpenShift?
OpenShift предоставляет корпоративным подразделениям общую платформу для размещения своих приложений в облаке, не беспокоясь о базовой операционной системе. Это упрощает использование, разработку и развертывание приложений в облаке. Одна из ключевых особенностей - это предоставление управляемого оборудования и сетевых ресурсов для всех видов разработки и тестирования. С OpenShift разработчик PaaS может свободно разрабатывать необходимую среду со спецификациями.
OpenShift предоставляет различные виды соглашений об уровне обслуживания, когда речь идет о планах обслуживания.
Free - Этот план ограничен тремя годами с 1 ГБ места на каждый.
Bronze - Этот план включает 3 года и расширяется до 16 лет с 1 ГБ пространства в год.
Sliver - Это бронзовый план на 16 лет, однако он имеет емкость 6 ГБ без дополнительных затрат.
Помимо перечисленных выше функций, OpenShift также предлагает локальную версию, известную как OpenShift Enterprise. В OpenShift разработчики могут создавать масштабируемые и немасштабируемые приложения, и эти проекты реализуются с использованием серверов HAproxy.
Особенности
OpenShift поддерживает несколько функций. Немногие из них -
- Поддержка нескольких языков
- Поддержка нескольких баз данных
- Система расширяемых картриджей
- Управление версиями исходного кода
- Развертывание в один клик
- Поддержка нескольких сред
- Стандартный рабочий процесс разработчиков
- Управление зависимостями и сборкой
- Автоматическое масштабирование приложений
- Адаптивная веб-консоль
- Богатый набор инструментов командной строки
- Удаленный вход в приложения по SSH
- Поддержка Rest API
- Стек приложений самообслуживания по запросу
- Встроенные службы баз данных
- Непрерывная интеграция и управление выпусками
- Интеграция IDE
- Удаленная отладка приложений