PaaS(Platform as a Service; 平台即服务)
目录 |
PaaS是平台即服务(Platform as a Service)的简称,平台即服务是一种云计算服务,提供运算平台与解决方案堆栈即服务。在云计算的典型层级中,平台即服务层介于软件即服务与基础设施即服务之间。
平台即服务提供用户能将云基础设施部署与创建至客户端,或者借此获得使用编程语言、程序库与服务。用户不需要管理与控制云基础设施,包含网络、服务器、操作系统或存储,但需要控制上层的应用程序部署与应用代管的环境。
PaaS将软件研发的平台做为一种服务,以软件即服务(SaaS)的模式交付给用户。因此,PaaS 也是 SaaS 模式的一种应用。但是,PaaS 的出现可以加快 SaaS 的发展,尤其是加快 SaaS 应用的开发速度。
平台即服务(PaaS)这是在软件即服务(Software as a Service,简称 SaaS)之后兴起的一种新的软件应用模式或者架构。是应用服务提供商(the Application Service Provider,简称 ASP)的进一步发展。
平台即服务(PaaS)常常是最容易让人迷惑的云计算类别,因为很难识别它,常常把它误认为是基础设施即服务(IaaS)或软件即服务(SaaS)。PaaS的独特特点是,它让开发人员可以在驻留的基础设施上构建并部署web应用程序。换句话说,PaaS让您能使用云基础设施似乎无穷的计算资源。
当然,计算资源的数量看起来无穷只是幻想,限制取决于基础设施的规模。但是,正如在本系列的第一篇中了解到的,Google基础设施大约包含超过一百万台基于x86的计算机。另外,因为用于PaaS的基础设施是弹性的(第1部分中讨论过这个概念),在需要时云可以扩展以提供更多的计算资源,所以无穷的资源并不完全是想像。
开发人员常常误以为云计算只适用于网络管理员。但是,这个错误的观念忽视了云计算可能给开发和质量保证团队带来的许多好处。
在软件开发过程中,一些东西常常会出问题。以我的经验,设置服务器环境以驻留开发团队要构建的Web应用程序可能会带来许多争吵。即使在最大的企业中,通常一位网络管理员要负责为几个开发团队服务。在不使用PaaS的情况下,设置开发或测试环境通常需要完成以下任务:
了解PaaS的最好方法可能是把它分解为主要组件:平台和服务。现在,考虑提供的服务,这称为解决方案堆。也就是说,PaaS的两个主要成分是计算平台和解决方案堆。
按照最简单的形式,计算平台是指一个可以一致地启动软件的地方(只要代码满足平台的标准)。平台的常见示例包括Windows、Apple MacOSX和Linux操作系统;用于移动计算的Google Android、Windows Mobile和Apple iOS;以及作为软件框架的Adobe AIR和Microsoft NET Framework。要记住的重点是,计算平台不是指软件本身,而是指构建并运行软件的平台。下表提供一张示意图以帮助理解这种关系。
范型转变 | 特征 | 关键词汇 | 优点 | 缺点和风险 | 不应该使用的场合 | |
---|---|---|---|---|---|---|
IaaS | 基础设施即资产 | 常常独立于平台;分担基础设施成本,因此会降低成本;服务水平协议(SLA);按使用量付费;自我伸缩 | 网格计算,效用计算,计算实例,系统管理程序,暴雨(cloud bursting),多租用者计算,资源池 | 避免在硬件和人力资源方面花费资产费用;降低ROI风险;降低进入门槛;简化和自动化伸缩过程 | 企业效率和生产力很大程度上取决于厂商的能力;可能会增加长期成本;集中化需要新的/不同的安全措施 | 当资产预算大于运营预算时 |
PaaS | 许可证购买 | 消费云基础设施;能满足敏捷的项目管理方法 | 解决方案堆 | 简化的版本部署 | 集中化需要新的/不同的安全措施 | 无 |
SaaS | 软件即资产(企业和消费者) | SLA;由“瘦客户机”应用程序提供UI;云组件;通过API进行通信;无状态;松散耦合;模块化;语义性互操作能力 | 瘦客户机;客户机-服务器应用程序 | 避免在软件和开发资源方面花费资产费用;降低ROI风险;简化和迭代式的更新 | 数据的集中化需要新的/不同的安全措施 | 无 |