OpenShift是什么、提供什么给开发者?
使用PaaS平台,您无需再像以前一样关注网络、操作系统、Web服务器、应用服务器,它们对于你来说是透明的,除了性能以外,你甚至可以忽略他们的存在。你只需要选择合适的语言、服务和中间件,并根据需求开发、升级、更新应用即可。
OpenShift是RedHat推出的PaaS平台,开源、开放,而且提供一定限额的免费资源供开发者使用。支持Java、Python、PHP、Perl和Ruby等多种语言,资源动态调度和分配。高可用,开发者无需为运维、系统管理烦恼,只需专注于应用本身即可。
稳定性和性能良好的PaaS能够提供我们一个环境,在这里,开发者的痛苦得以减轻。
OpenShift不仅集成了maven, Jenkins等各种常用的开发工具给开发者,还集成了wordpress,wrupat等常用的应用,以便非编程人员也能‘一键创建’属于他们的应用。除了OpenShift平台提供的语言、服务外,如果需要,你也可以轻松将常用的功能‘打包’成服务,方便使用。甚至你也可以使用源代码,在AWS或者物理/虚拟机上部署属于您自己的PaaS平台。
OpenShift架构:Broker和Node
OpenShift可由一个Broker结点,一个或多个Node结点构成。
开发者可以使用rhc、 Web控制台等工具向Broker结点发送REST请求,也可以直接通过SSH登录到应用所在gear(相当于一个小型的虚拟机),直接对应用进行操作。
Broker结点主要由broker和controller两个子项目构成,其中broker主要完成配置任务,而逻辑则实现于controller,controller子项目是整个OpenShift项目的核心之一(另一核心是node子项目,存储着平台数据/状态,以及通过接口实现授权、DNS等功能。此外,还有broker-util子项目提供命令,方便我们管理Broker结点。
消息组件‘实现’用的是gem 'mcollection-client',更多介绍可以阅读https://docs.puppetlabs.com/mcollective/
Node结点主要就是存放用户应用以及管理它们。每个gear就是一个由软硬件资源构成的容器,放置着用户应用代码和所使用的cartridge实例。同一个gear内的cartridge像在本地一样,是可以直接通信的;而不同gear之间则可