编者按:PaaS的发展已经经历了两个阶段:第一个阶段通过为开发者提供DevOps 等工具,来加速应用交付,如GAE、Force.com等;第二代则实现全方位的应用生命周期管理,关注开放性和云间相互操作性,其代表者包括Cloud Foundry、OpenShift。本文作者鲁为民博士是 ANCHORA 的创始人和CEO,在美国有多年工作经验。鲁为民认为当前PaaS的定义过于狭隘,他提出了一个新的概念 InPaaS (Infrastructure-and-Platform as a Service),这个新一代的云应用平台应该整合目前包括 PaaS和IaaS 在内的多种技术,同时支持云服务的不同部署方式。以下为原文:
在本周的在线培训中,用友软件PaaS混合云负责人白小勇,也将带来“PaaS平台在企业IT中的应用”课程,报名地址:http://huiyi.csdn.net/meeting/info/825/biz
按照NIST的定义,IaaS主要提供包括计算、存储和网络等基本的计算资源的交付和管理能力,使用户能够在上面部署任何软件。而PaaS则是被定义为一个建立在云基础设施上的应用部署系统,这个系统为用户提供API,工具和服务来部署和管理应用和服务。而PaaS的用户是开发测试者以及IT运维和管理者。 PaaS经历了一个摸索期后,人们已对PaaS逐渐形成了一个较为清晰的共识,PaaS已超越了IaaS API和DevOps等工具,它通过应用生命周期的管理来加速应用的交付。从早期的PaaS技术的代表者 Google App Engine、Force.com、Heroku和SAE 等中可以看到 PaaS具有以下一些基本特征:
这些PaaS加速应用的交付。首先,它们让包括开发者在内的用户不需要担心硬件和虚拟机器,操作系统,应用服务器,以及对服务管理,使得他们更加快捷和容易地进行应用部署和迭代,以及应用的横向扩展。但其明显的短块是用户很容易被绑定。他们需要使用特定的编程语言来开发应用程序,需要针对特定的服务插件和APIs来编程,或者需要部署应用在特定的IaaS上。这些特点限制了用户对于应用程序开发,部署和运维的自由度和敏捷性,以及应用程序的可移植性。
正因为如此,新一代的云应用平台技术则实现全方位的应用生命周期管理,关注开放性、应用的可移植性和云间相互操作性,其代表者包括Cloud Foundry, OpenShift, Docker, Heroku, MoPaaS和BAE等PaaS技术或服务,除了在第一代PaaS技术对用户在实现应用交付的加速所提供的功能外,具备以下大多数特征:
多方位的开放将计算资源的抽象提高到应用服务层面,同时将应用的运维交由平台来自动管理,也使得PaaS有效地提供应用程序的可移植性。同时,通过提供方便的工具和不断扩展的服务让开发者对于开发语音、框架、服务和基础设施有了更多的选择自由度。通过计算资源的安全隔离,使得计算资源得以有效的安全的交付和管理。当然,从像Cloud Foundry这样PaaS技术到真正实现PaaS云应用平台服务还需要很多工作。图1是一个基于Cloud Foundry的典型PaaS架构。
基于 Cloud Foundry 的 PaaS架构
事实上,市场对云应用平台服务的刚性需求不断的增长,但目前大家理解的IaaS和PaaS反映对计算平台资源抽象的两个极端:PaaS对计算资源的抽象主要从应用和服务层面来进行,而IaaS则更多是物理计算资源的抽象。用户应用需求的多元性需要多元的计算资源抽象。单独IaaS或PaaS提供的服务不可能完全满足市场的需求。下面两个场景则反映了这样的需求:
企业IT的需求和新经济的发展需要应用生命周期管理变得更快捷和容易。云平台给人们带来的希望包括解决上面这些问题,提供高效的应用开发部署,监控管理,将抽象层面从虚拟机和操作系统提升到应用和服务,以及平台本身的高可用,高容错,可监控,扩展性,容易部署和更新,从而实现简单和敏捷的应用生命周期管理。
特别是企业云应用平台市场正处于一个快速成长阶段。企业目前正积极的寻求合适的云战略,问题已从"为何“变为了“怎样”。90%的企业和机构考虑采用云计算技术,近80%的企业希望采用多云的应用部署。IaaS首先在企业生产获得牵引力, 通过提供虚拟计算、存储、数据库和其他基础设施硬件服务为企业提供IT资源的整合和管理。但人们发现,IaaS 远远不能满足企业IT的需求,特别在IaaS上进行应用的开发、集成、部署和运维还是相当的费时费钱。由于PaaS通过像Google App Engine 和 Heroku等服务已被充分验证,作为“最后一英里”的云技术,是企业云计算战略的一个关键组成部分。但是不论是IaaS还是PaaS单独都不可能完全满足用户的需求,目前用户以开始考虑和实施IaaS和PaaS的相互渗透和融合。实际上,他们并不关心这些服务是姓“I"(基础设施)还是”P"(平台)。他们希望新的云计算平台能整合企业的各种需求,提供多元的计算资源抽象,让新的应用和服务的开发和部署变动非常迅捷,能让应用保持持久运行。
云计算市场希望新一代的云平台能呈现这些景愿,将复杂的云基础设施和各种应用资源变成可配置可管理的实体;提供灵活多样的不同抽象程度的计算资源实体以满足不同业务的需求;让创新更容易和更快捷的同时,还能够能提供企业所需要的对平台本身的控制和能见度。这个新一代的云应用平台应该整合目前包括 PaaS和IaaS 在内的多种技术,同时支持云服务的不同部署方式,包括公有云,私有云,社区云,和混合云,我们暂且称为 InPaaS (Infrastructure-and-Platform as a Service)。具体来说,InPaaS云平台技术具有高可用、高安全、易交互、易组合、易监管、易审计和易维护等特点,特别包括以下的一些功能:
实现InPaaS云平台不是简单地将PaaS和IaaS进行集成,因为目前各种IaaS和PaaS的多种功能重叠、使得叠加后系统性能降低,用户使用复杂度增加。需要更深层了解用户需求,找到适合市场需求的解决方案。另外,人们不断地从不同角度来开发一系列新的云计算技术以解决不同的市场需求,而这些也可以作为InPaaS所需要的一些技术元素。比如,Docker等新一代轻量级容器将有可能成为 InPaaS所需要的轻量级容器技术的候选,以实现所需要的计算资源抽象,交付和管理。此外,SDN等技术也可能是一个实现InPaaS各个节点间和跨云的安全有效的通讯机制。
就整体解决方案来说,Cloud Foundry 之父Derek Collison和他的初创公司Apcera在云平台技术上走在了前面,他们通过全新的技术架构设计开发出一种策略驱动(policy-driven)的新一代企业云平台 Continuum来整合目前的 IaaS、PaaS和SaaS(下图)。其核心是通过透明地导入策略来提供企业IT所需要的控制和能见度。此外,微软前高管和华纳兄弟的技术总监Jonathan Murray提出了相近的可组合的企业(composable enterprise)的概念来定义新的云平台服务,通过它企业可以建立应用创建,托管,监控一条龙的快速服务来满足业务成长的需求。用户可以通过其来加速生产,应用开发变得越来越标准化。应用会变得比任何时候都更加容易创建,越来越多的服务将不同的组件组合在一起。
Apcera 的 Continuum 架构
作者简介:鲁为民博士是 ANCHORA 的创始人和CEO。他在云计算、信息存储、大数据、机器学习、和智能系统等领域具有丰富理论和实践经验,先后获得北京清华大学学士和美国加州理工学院 (CalTech) 博士学位。在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利。他拥有超过十五年在美国硅谷从事高科技产品研发、市场营销、以及项目团队管理的经验。他先后在美国国家宇航局喷气推进实验室 (NASA JPL)、硅谷IT初创公司、以及跨国企业IBM 等从事多年高科技产品的研究和开发。他创办了ANCHORA,开发和销售新一代云计算平台产品和服务;特别是提供中国首个开放中立的云应用平台服务:MoPaaS。
(注:作者感谢Derek Collison、陈怀临、黄允松、白小勇,丁轶群和王凯等同仁有益的讨论和意见。)
上一篇 《程序员面试宝典》学习记录5