Cloud Foundry开源PaaS云平台概述_第1页
Cloud Foundry开源PaaS云平台概述_第2页
Cloud Foundry开源PaaS云平台概述_第3页
Cloud Foundry开源PaaS云平台概述_第4页
Cloud Foundry开源PaaS云平台概述_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 聊聊Cloud Foundry开源PaaS云平台 Cloud Foundry是一个开源的平台即服务(PaaS),它提供给开发者自由的去选择云平台、开发框架和应用服务。Cloud Foundry最初由VMware发起,得到了业界广泛的支持,它使得开发者能够更快更容易的开发、测试、部署和扩展应用。Cloud Foundry是一个开源项目,用户可以使用多种私有云发行版,也可以使用公共云服务,包括CloudF。 Cloud Foundry让开发人员专注于编写应用程序,而无需为中间件和基础设施分心。在使用自助式高生产力的框架和应用服务的同时,开发人员可以快速在自己的环境上开发和测试自己的下一代应用,并

2、能部署到云上而无需做任何更改。 Cloud Foundry的特点主要有以下几点: 1支持公共,私有和混合云上部署。Cloud Foundry支持众多在私有或者公有基础设施上运行的合作伙伴的云平台,包括vSphere /vCloud,AWS,OpenStak,Rackspace,Ubuntu等;还包括CloudF;Micro Cloud Foundry是业界第一个可以部署到开发者笔记本上运行的PaaS平台。 2支持业界标准框架。这些框架包括Spring for Java,Ruby on Rails和Sinatra,Node.js,Grails,Scala on Lift以及更多合作伙伴提供的框架

3、(例如Python, PHP)。 3支持应用服务。这些应用服务包括RabbitMQ,来自VMware的vFabric PostgreSQL,MySQL,MongoDB和Redis,以及更多来自第三方和开源社区的应用服务。 4架构可扩展。可以使开发人员和架构师前瞻性的验证他们的组织架构是否适应快速的云创新。 5开源项目社区。社区内允许任何开发者访问,评估,和贡献,这包括集成其他框架,增加应用服务和部署应用到其它基础设施云。 经过不断的发展,CloudFoundry的组件增加了很多,但核心组件并没有变化,增加的组件是原架构基础上的细化和专门化,目前Cloud Foundry最新为v2版本。Clou

4、d Foundry平台架构 从总体上看,Cloud Foundry的架构如下图所示。 CloudFoundry的核心组件主要有Router、Cloud Controller、Services、Health Manager和DEA,以及模块之间使用的NATS消息通信机制。这些模块之间的关联关系如下图所示,模块之间使用NATS或者HTTP等其他的消息机制进行通信。CloudFoundry组件 下面简要介绍一下CloudFoundry的核心组件各自在架构上的作用。 1Router组件:该组件在CloudFoundry中是对所有进来的请求进行路由。进入Router的请求主要有两类:(1)来自VMC/C

5、F Client或者STS的,由CloudFoundry使用者发出的,管理型指令;(2)外界对所部署的应用访问的请求,这部份请求会被路由到DEA组件中去。 新旧版本的Router架构对比如下图所示。在老版本中,Router作为一个nginx脚本存在,所以的请求都必须经过Ruby代码,然后加以转发,容易引起性能问题。在新版本的设计中使用了Lua脚本代替原先的Ruby脚本,提高了性能和稳定性。 系统可以部署多个Router共同处理进来的请求,避免单节点引起性能问题,从而使Router组件成为整个云的瓶颈。Routers组件的主要作用和功能如下:处理所有HTTP流量;从DEAs获得信息并实时更新路由

6、表;维护分布式路由状态;将对URL的访问路由至具体的应用;在应用实例之间分发流量实现负载均衡。 2Cloud Controller组件:该组件是Cloud Foundry的管理模块,与VMC和STS交互的服务器端,收到VMC或者STS的JSON格式协议后,写入CloudController Database,并发消息到各个模快去控制管理整个云。Cloud Controller与Cloud Foundry中其他组件交互如下图所示: 该组件公开了与CLI工具VMC通讯的主要REST接口,以及用于Eclipse的STS插件,并且提供开放的Restful接口,可用于第三方应用的开发和集成,企业在用Cl

7、oudFoundry部署私有云时,还可以通过这些接口来自动化控制管理整个云环境。CloudController组件的主要作用和功能如下:处理VMC等指令;管理用户、应用和服务;管理资源;对应用进行打包和预处理;对外提供REST API接口。 3Health Manager组件:该组件从各个DEA里面获取运行信息,然后进行统计分析,报告等。统计数据会与CloudController的设定指标进行对比,并提供告警等。HealthManager模块目前还不是十分完善,在代码结构上,Health Manager模块放在Cloud Controller的目录下。Health Manager组件的主要作用

8、和功能如下:监控应用和服务的状态;监控到异常状态,通知Cloud Controller处理;根据统计运营情况,合理分配资源。 4Service组件:该组件是一个独立的、插件式的模块,便于第三方方便地把自己的服务整合成Cloud Foundry服务。在Cloud Foundry中已经包含了服务的框架及核心类库,如MongoDB、mysql、PostgreSql、RabbitMQ、Redis和vBlob等,并且第三方可以继承Node和Gateway基础类来开发自己的CloudFoundry服务。Server组件的主要作用和功能如下:提供一个可扩展/扩充的层;可被共享;提供服务API;可将各类应用和

9、各类服务进行绑定。 5DEA(Droplet Execution Agent)组件:在老版本的DEA组件中包含了应用运行时启动、停止等简单命令,并且用户的应用可以随意访问文件系统。在新版本的DEA组件中增加了Warden Container模块(一个程序运行容器),这个容器提供了一个孤立的环境,DEA只可以获得受限的CPU、内存、磁盘访问权限、网络权限。DEA模块的新旧版本结构对比如下图所示: DEA会接收Cloud Controller模块发送的启动(或者停止)等应用管理请求,然后,会从NFS里面找到合适的Droplet将程序运行起来。最后,DEA把这个信息告诉Router模块,还进行应用程

10、序的统计,并且将应用的运行信息告诉HealthManager模块。DEA组件的功能如下:负责运行所有的应用,并确保应用程序的隔离;监控应用的具体运行参数,如CPU、内存、磁盘等;提供应用状态变化的告警等。 6NATS组件:CloudFoundry的架构是基于消息发布与订阅的,使用NATS组件来联系各个模块。NATS是Derek Collison(世界级中间件和消息系统专家)开发的,是一个基于事件驱动的轻量级支持发布、订阅机制的消息系统,基于EventMachine开发,以事件驱动。新版本的NATS可以支持多服务器节点,避免了单节点的NATS导致的系统在HA方面的不稳定性。 CloudFound

11、ry的各个组件是基于消息发布订阅机制构建的,每个节点上的各个模块会根据自己的消息类别,向Message Bus发布多个消息主题;而同时也向自己需要交互的模块,按照需要的信息内容的消息主题订阅消息。NATS组件的主要作用和功能如下:寻址和发现;命令和控制;中央通讯系统;支持消息的发布和订阅Cloud Foundry环境部署 Cloud Foundry云环境的部署方式比较灵活。在运行环境上,可以基于VMware或者OpenStack虚拟化环境之上,建立Cloud Foundry云环境;在部署上,可以使用单节点部署,也可以使用多节点部署;既可以利用dev_setup实现单节点或多节点的小规模的环境部

12、署,也可以使用Bosh实现大规模的自动化部署;并且在实验室环境,还提供了Micro Cloud Foundry单机版PaaS环境,用户可以在上面进行应用和服务的在线和离线部署。Cloud Foundry总结 Cloud foundry在运营商、互联网等企业广泛应用,如:Verizon、AT&T、NTT等运营商发布Cloud foundry公有云PaaS平台;百度是最大的Cloud foundry使用商,此外还有用友、盛大云和京东等互联网厂商。 回顾历史,IBM曾经也抛弃SmartCloud封闭架构与VMware结盟(尽管之后收购SoftLayer),构建Cloud foundry开放PaaS平

13、台,后来发布基于OpenStcak+Cloud foundry的BlueMix项目,将其传统软件(工具中间件、业务流程管理、数据库和开发等)优势能力转移至Cloud foundry之上,尽管现在IBM统一品牌为IBM Cloud(摒弃SoftLayer和BlueMix品牌)。 Pivotal Cloud Foundry (PCF) 是一种可以直接部署开发人员写好的应用(如Jar或是War包)或已经构建的容器镜像的完整平台,基于Cloud foundry社区版。它可提供完整的调度能力实现这些应用负载,还可提供平台辅助服务,如负载均衡、高可用性、自动扩展、统一的日志记录等。 Pivotal Clo

14、ud Foundry广泛利用容器来提供服务并使应用负载保持正常运行。虽然Pivotal Cloud Foundry可轻松编排容器,但仅有这项功能不足以使其成为一个平台。Pivotal Cloud Foundry还需要以下子系统配合以协调、监控和支持这些容器化的有效负载。Pivotal CF Elastic Runtime Service:一个完整的,可扩展的运行环境,多个内嵌的云服务。Pivotal CF Operations Manager:企业级的管理平台,以及对基础设施层的集成管理。 Pivotal One商用版本,增加更多的服务,如大数据能力和框架(Pivotal HD Service和Pivota

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论