加入收藏 | 设为首页 | 会员中心 | 我要投稿 泉州站长网 (https://www.0595zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

细说开源PaaS平台CloudFoundry PaaS阵营的活力猛将

发布时间:2022-06-04 12:11:42 所属栏目:云计算 来源:互联网
导读:Cloud Foundry由VMware公司开发,初衷是为广大应用程序开发人员、应用程序操作人员和云运营商简化部署工作。随后在2011年4月份,Cloud Foundry宣布成为开源项目,采用Apache 2.0许可证,声称开发人员可以用自己选择的语言和Web框架来编写代码,没必要为具体
        Cloud Foundry由VMware公司开发,初衷是为广大应用程序开发人员、应用程序操作人员和云运营商简化部署工作。随后在2011年4月份,Cloud Foundry宣布成为开源项目,采用Apache 2.0许可证,声称开发人员可以用自己选择的语言和Web框架来编写代码,没必要为具体的IT环境而操心。
 
        2014年2月份,从VMware拆分出来的Pivotal宣布成立Cloud Foundry基金会,Pivotal、EMC、IBM、Rackspace和VMware都是白金级赞助商。该基金会的队伍此后扩大到33个成员和42家捐献代码的公司。Cloud Foundry的一大差异化优势就是支持Pivotal HD Hadoop MapReduce、HAWQ SQL for Hadoop和GemFire XD分析平台。Pivotal的大数据服务和移动服务现在都与Pivotal CF整合起来,而Pivotal CF是该公司的企业版Cloud Foundry。
 
       Cloud Foundry基金会的几个成员已陆续发布了各自的Cloud Foundry发行版,包括ActiveState公司的Stackato产品。免费的Stackato Micro Cloud可用于VirtualBox、VMware Fusion/Player、VMware vSphere和KVM。
 
        虽然开源Micro Cloud Foundry VM还没有更新到Cloud Foundry v2,但是你可以使用bosh-lite或者 cf_nise_installer,本地安装Cloud Foundry开源产品。bosh-lite支持VMware Fusion/Player、VirtualBox和亚马逊网络服务(AWS),而cf_nise_installer只支持VirtualBox。
 
        我询问Pivotal为何缺少Micro Cloud Foundry v2 VM,Pivotal CE社区工程师Jamie O'Meara回复如下:
 
我们的重心放在为Cloud Foundry提供一种企业级PaaS体验上,这包括安装到数量众多的云服务提供商平台上,比如vSphere/vCHS、OpenStack、AWS和谷歌计算引擎(Google Compute Engine)。作为这种体验的一部分,我们发现开发人员愿意构建和使用其本地工具,或者愿意推送到Cloud Foundry的私有和公有实例。
 
bosh-lite这个工具为CF v2的一部分提供了支持,用来执行特定的任务,比如构建数据库之类的BOSH可部署服务。它并不是取代Micro Cloud Foundry,Micro Cloud Foundry仍在我们的路线图上。Stackato的Micro基于CF v2,只是添加了一些专有组件。
 
Pivotal本身有两款Cloud Foundry PaaS解决方案:在线版Pivotal Web服务和面向企业的Pivotal CF。与这些解决方案相辅相成的还有Pivotal HD及相关的云服务解决方案,以及其他专用的数据解决
 
方案,比如Pivotal Greenplum RDBMS、Pivotal GemFire和Pivotal SQLFire。此外,Pivotal前年收购的Xtreme Labs给它带来了与其PaaS和大数据服务整合起来的移动服务套件。
 
正如Jamie O’Meara在声明中提及,Pivotal CF可以在VMware、OpenStack、亚马逊网络服务和谷歌云平台上运行。
 
Cloud Foundry的架构和特性
 
Cloud Foundry弹性运行时系统在DEA(Droplet执行代理)中运行名为droplet的封包应用程序,而droplet是一种打包文件,包括你应用程序的所有代码以及依赖项。DEA由Cloud Controller(云控制器)管理,由Health Manager(健康管理器)监控,而Routers(路由器)负责管理应用程序流量、进行负载均衡以及合并日志。反过来,DEA调用服务代理节点,这些节点通过消息总线进行联系。云控制器可访问二进制大对象(blob)存储区以及内有应用程序元数据和服务凭据的数据库。
 
想部署应用程序,开发人员基本上要上传应用程序代码和元数据,使用Cloud Foundry命令行,或者使用来自Eclipse、Maven或Gradle的插件。此外,开发人员需要创建和绑定服务。这一切归结为构建WAR归档文件,并上传该WAR。
 
云控制器会自动检测并装入任何必要的系统构建包(buildpack),创建一个droplet,将应用程序droplet部署到DEA,注册路由,以及转发端口。一旦DEA处于活动状态,健康管理器就会将来自云控制器的DEA的预期状态与来自DEA的实际状态进行比对。要是健康管理器检测到偏差,它会要求云控制器重启未处于预期状态的任何DEA。
 
管理员使用BOSH,而不是其他IT自动化工具(比如Puppet或Chef),以管理Cloud Foundry的底层基础设施。作为一种用于大规模分布式服务的版本设计、部署和生命周期管理的开源工具链,BOSH有自己的命令行,有别于cf命令行,但是你不需要它来部署应用程序。BOSH用于部署虚拟机,而不是部署droplet。
 
大体上来说,BOSH通过虚拟机模板“stemcell”克隆新的虚拟机,以创建部署的应用程序所需的虚拟机。stemcell包括操作系统和嵌入式BOSH代理,该代理让BOSH可以控制通过stemcell克隆的虚拟机。BOSH版本是源代码、配置文件和启动脚本共同组成的集合体,版本号可以识别这些组件。BOSH部署清单文件是一个YAML文件,定义了部署的布局和属性。
 
Cloud Foundry包括UAA(用户帐户及授权)和登录服务器。UAA就是Cloud Foundry的身份管理服务。其主要角色是充当OAuth2提供者,颁发客户端应用程序在代表Cloud Foundry用户操作时所使用的令牌。不过,它还能通过用户的Cloud Foundry凭据验证用户的身份,并且充当SSO(单一登录)服务。登录服务器为UAA执行验证任务,并充当后端服务。Cloud Foundry管理员可以在登录服务器上设置身份验证源,比如LDAP/AD、SAML、OpenID(谷歌和雅虎等)或者社交网站。
 
具体到应用程序执行层面,DEA使用Warden Linux容器。Warden提供了一套简单的API,用于管理隔离的、短暂的、资源受控制的环境或容器。在将来,Cloud Foundry会支持Docker容器。
 
Cloud Foundry架构的方块图。
 

(编辑:泉州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!