OpenShift – 概述
OpenShift – 概述
OpenShift 是由 Red Hat 托管的云开发平台即服务 (PaaS)。它是一个开源的基于云的用户友好平台,用于创建、测试和运行应用程序,并最终将它们部署在云上。
OpenShift 能够管理用不同语言编写的应用程序,例如 Node.js、Ruby、Python、Perl 和 Java。OpenShift 的关键特性之一是它是可扩展的,这有助于用户支持用其他语言编写的应用程序。
OpenShift 带有各种虚拟化概念作为其抽象层。OpenShift 背后的基本概念基于虚拟化。
虚拟化
一般而言,虚拟化可以定义为虚拟系统的创建,而不是从系统、存储或操作系统开始的任何事物的物理或实际版本。虚拟化的主要目标是使 IT 基础架构更具可扩展性和可靠性。虚拟化的概念已经存在了几十年,随着当今 IT 行业的发展,它可以应用于从系统级、硬件级到服务器级虚拟化的广泛层次。
这个怎么运作
它可以描述为一种技术,其中任何应用程序或操作系统都从其实际物理层中抽象出来。虚拟化技术的一个关键用途是服务器虚拟化,它使用一种称为管理程序的软件从底层硬件中抽象出该层。在虚拟化上运行的操作系统的性能与其在物理硬件上运行时的性能一样好。然而,虚拟化的概念很流行,因为大多数系统和应用程序运行不需要使用底层硬件。
物理与虚拟架构
虚拟化类型
-
应用程序虚拟化– 在这种方法中,应用程序是从底层操作系统中抽象出来的。这种方法非常有用,应用程序可以独立运行而无需依赖于底层的操作系统。
-
桌面虚拟化– 此方法用于减少工作站负载,在其中可以使用桌面上的瘦客户端远程访问桌面。在这种方法中,桌面大多运行在数据中心。一个典型的例子是在大多数组织中使用的虚拟桌面映像 (VDI)。
-
数据虚拟化– 它是一种抽象和摆脱传统数据和数据管理方法的方法。
-
服务器虚拟化– 在这种方法中,与服务器相关的资源被虚拟化,包括物理服务器、进程和操作系统。支持这种抽象的软件通常称为管理程序。
-
存储虚拟化– 这是将多个存储设备汇集到一个由单个中央控制台管理的单个存储设备的过程。
-
网络虚拟化– 这是一种通过拆分可用带宽和通道来组合所有可用网络资源的方法,每个可用带宽和通道彼此独立。
开班
OpenShift 是一个支持云的应用程序平台即服务 (PaaS)。它是一种开源技术,可帮助组织将其传统应用程序基础架构和平台从物理、虚拟介质迁移到云。
OpenShift 支持种类繁多的应用程序,可以在 OpenShift 云平台上轻松开发和部署这些应用程序。OpenShift 基本上支持三种平台供开发者和用户使用。
基础设施即服务 (IaaS)
在这种格式中,服务提供商提供具有一些预定义虚拟硬件配置的硬件级虚拟机。这个领域有多个竞争对手,从 AWS 谷歌云、Rackspace 等等开始。
经过漫长的设置和投资过程后,拥有 IaaS 的主要缺点是,仍然需要负责安装和维护操作系统和服务器包、管理基础设施网络以及负责基本系统管理。
软件即服务 (SaaS)
使用 SaaS,人们最不担心底层基础设施。它就像即插即用一样简单,用户只需注册服务并开始使用它。这种设置的主要缺点是,您只能执行服务提供商允许的最少量定制。SaaS 最常见的例子之一是 Gmail,用户只需要登录并开始使用它。用户还可以对其帐户进行一些小的修改。但是,从开发人员的角度来看,它并不是很有用。
平台即服务 (PaaS)
它可以被认为是介于 SaaS 和 IaaS 之间的中间层。PaaS 评估的主要目标是开发人员,其中开发环境可以通过一些命令来启动。这些环境的设计方式使其可以满足所有开发需求,从拥有带有数据库的 Web 应用程序服务器开始。为此,您只需要一个命令,服务提供商就会为您完成这些工作。
为什么要使用 OpenShift?
OpenShift 为企业单位提供了一个通用平台,可以在云上托管其应用程序,而无需担心底层操作系统。这使得在云上使用、开发和部署应用程序变得非常容易。关键特性之一是,它为各种开发和测试提供托管硬件和网络资源。借助 OpenShift,PaaS 开发人员可以根据规范自由地设计所需的环境。
OpenShift 在服务计划方面提供不同类型的服务级别协议。
免费– 此计划仅限三年,每个计划有 1GB 空间。
Bronze – 此计划包括 3 年,并以每年 1GB 的空间扩展到 16 年。
Sliver – 这是青铜的 16 年计划,但具有 6GB 的存储容量,无需额外费用。
除了上述功能外,OpenShift 还提供称为 OpenShift Enterprise 的本地版本。在 OpenShift 中,开发人员可以设计可扩展和不可扩展的应用程序,这些设计是使用 HAproxy 服务器实现的。
特征
OpenShift 支持多种功能。他们中很少有人 –
- 多语言支持
- 多数据库支持
- 可扩展墨盒系统
- 源代码版本管理
- 一键部署
- 多环境支持
- 标准化开发人员的工作流程
- 依赖和构建管理
- 自动应用扩展
- 响应式 Web 控制台
- 丰富的命令行工具集
- 远程 SSH 登录到应用程序
- 休息 API 支持
- 自助点播应用程序栈
- 内置数据库服务
- 持续集成和发布管理
- 集成开发环境
- 应用程序远程调试