英文原文:Cloud computing service models, Part 2: Platform as a Service

  平台即服务 (PaaS) 常常是最容易让人迷惑的云计算类别,因为很难识别它,常常把它误认为是基础设施即服务 (IaaS) 或软件即服务 (SaaS)。在这个分三部分的文章系列的第二部分中,了解 PaaS 的特点以及如何在企业中应用它。

  PaaS 的独特特点是,它让开发人员可以在驻留的基础设施上构建并部署 web 应用程序。换句话说,PaaS 让您能够使用云基础设施似乎无穷的计算资源。

  当然,计算资源的数量看起来无穷只是幻想,限制取决于基础设施的规模。但是,正如在本系列的第一篇中了解到的,Google 基础设施大约包含超过一百万台基于 x86 的计算机。另外,因为用于 PaaS 的基础设施是弹性的(第1部分中讨论过这个概念),在需要时云可以扩展以提供更多的计算资源,所以无穷的资源并不完全是想像。

  PaaS 对于开发人员的意义

  开发人员常常误以为云计算只适用于网络管理员。但是,这个错误的观念忽视了云计算可能给开发和质量保证团队带来的许多好处。

  在软件开发过程中,一些东西常常会出问题。以我的经验,设置服务器环境以驻留开发团队要构建的 Web 应用程序可能会带来许多争吵。即使在最大的企业中,通常一位网络管理员要负责为几个开发团队服务。在不使用 PaaS 的情况下,设置开发或测试环境通常需要完成以下任务:

  • 获取并部署服务器。
  • 安装操作系统、运行时环境、源代码控制存储库和必需的所有其他中间件。
  • 配置操作系统、运行时环境、存储库和其他中间件。
  • 转移或复制现有的代码。
  • 测试并运行代码以确保一切正常。

  在很多情况下,管理员已经非常忙了,所以让他们抽出时间部署新环境会很困难。对于客户机和服务器端的 web 应用程序开发人员来说,另一个主要问题是在本地复制运行时环境以便执行测试。

  现在,想像一下您是使用 PaaS 的开发团队的成员。在这种情况下,您会有一个虚拟机 (VM),其中包含完整的服务器环境,可以把它放在 USB 闪存驱动器中带在身边。

  我希望您把注意力转到第1部分中给出的概念交叉矩阵上,使用它作为参考分析 PaaS。表1再次给出这个矩阵。

  表 1. 三类云计算的概念交叉矩阵 

  范型转变 特征 关键词汇 优点 缺点和风险 不应该使用的场合
IaaS 基础设施即资产 常常独立于平台;分担基础设施成本,因此会降低成本;服务水平协议 (SLA);按使用量付费;自我伸缩 网格计算,效用计算,计算实例,系统管理程序,暴雨 (cloudbursting),多租用者计算,资源池 避免在硬件和人力资源方面花费资产费用;降低 ROI 风险;降低进入门槛;简化和自动化伸缩过程 企业效率和生产力很大程度上取决于厂商的能力;可能会增加长期成本;集中化需要新的/不同的安全措施 当资产预算大于运营预算时
PaaS 许可证购买 消费云基础设施;能够满足敏捷的项目管理方法 解决方案堆 简化的版本部署 集中化需要新的/不同的安全措施
SaaS 软件即资产(企业和消费者) SLA;由 “瘦客户机” 应用程序提供 UI;云组件;通过 API 进行通信;无状态;松散耦合;模块化;语义性互操作能力 瘦客户机;客户机-服务器应用程序 避免在软件和开发资源方面花费资产费用;降低 ROI 风险;简化和迭代式的更新 数据的集中化需要新的/不同的安全措施

  PaaS 的主要成分

  了解 PaaS 的最好方法可能是把它分解为主要组件:平台和服务。现在,考虑提供的服务,这称为解决方案。也就是说,PaaS 的两个主要成分是计算平台和解决方案堆。

  为了说明这两个 “成分”,我们进一步研究一下它们的定义。按照最简单的形式,计算平台是指一个可以一致地启动软件的地方(只要代码满足平台的标准)。平台的常见示例包括 Windows™、Apple Mac OS X 和 Linux® 操作系统;用于移动计算的 Google Android、Windows Phone 和 Apple iOS;以及作为软件框架的 Adobe® AIR™ 和 Microsoft® .NET Framework。要记住的重点是,计算平台不是指软件本身,而是指构建并运行软件的平台。图1提供一张示意图以帮助理解这种关系。

  图 1. 云计算分类与 PaaS 元素之间关系的图形化解释 

  既然理解了计算平台的概念,现在就来看看什么是解决方案堆。解决方案堆由应用程序组成,这些应用程序有助于开发过程和应用程序部署。这些应用程序是指操作系统、运行时环境、源代码控制存储库和必需的所有其他中间件。

  选择提供商

  解决方案堆也反映不同 PaaS 公司的差异,在决定采用 PaaS 之前,需要深入考察各个提供商提供的解决方案堆。

  在与某家 PaaS 提供商签约之前,您应该问几个基本问题:

  • 它支持哪些框架和语言?理想情况下,PaaS 应该支持基于此平台选用的语言的任何框架。
  • 可以创建多少个应用程序?大多数 PaaS 提供商会根据您签订的计划或服务包限制可以构建的应用程序数量。要确保提供商提供的计划或服务包能够满足您的需要。
  • 允许哪些内容类型?支持 PaaS 的基础设施通常涉及多租用者计算的概念,也就是说许多 “租用者” 分享单一服务器上的 “空间”,这些空间由系统管理程序(hypervisor)管理的 VM 实例分隔。PaaS 提供商可能会对要驻留的应用程序和内容的类型加以限制。
  • 支持哪些数据库类型?如果您的数据要随应用程序转移,这个问题就是非常重要的。必须确保提供商提供的数据库与您想要用来导入数据的格式兼容。
  • 它是否支持 SSL (HTTPS)?这个问题对于确保安全性非常重要。如果您打算通过应用程序处理事务,但是发现不支持 SSL,您就遇到大麻烦了。

  PaaS 剖析

  既然已经了解了 PaaS 的基本知识,现在研究一下在比较 PaaS 提供商时应该考虑的特性:

  • 应用程序开发框架。健壮的应用程序开发框架应该基于广泛使用的技术。理想情况下,您应该避免厂商锁定。使用 Java™ 技术等开放源码框架通常比较好。
  • 容易使用。PaaS 应该附带容易使用的 WYSIWYG 工具,应该有预先构建的部件、现成的 UI 组件、拖放工具和对某些标准 IDE 的支持。这应该会促进快速的迭代式应用程序开发。
  • 业务流程建模 (BPM) 工具。需要使用强大的 BPM 框架对业务流程进行建模,围绕业务流程构建应用程序。
  • 可用性。应该能够在任何时候从任何地方访问并使用所选的平台。
  • 可伸缩性。平台应该足够智能化,能够利用底层基础设施的弹性计算能力处理应用程序将承受的负载。
  • 安全性。为了有效地防御安全威胁,平台应该解决跨站点脚本、SQL 注入、拒绝服务和通信流加密等问题,并让安全措施完全融入应用程序开发中。另外,平台必须支持单点登录功能,让您能够把它与现有的内部应用程序或其他云应用程序集成起来。
  • 包容性。平台应该能够包容、嵌入和集成在相同平台或其他平台上构建的其他应用程序。
  • 可移植性。平台应该不限制底层基础设施类型,允许公司把应用程序从一个 IaaS 转移到另一个。
  • 移植工具。为了轻松、快速地把数据从陈旧的内部应用程序迁移到基于新平台的应用程序中,平台的工具包中必须有批量导入转换工具。
  • API。为了执行各种任务,比如用户身份验证、存储和获取文件(例如 Web 应用程序文件和资产)甚至直接调用数据库,平台应该有文档齐全的 API。这让企业能够灵活地创建和定制软件应用程序以与平台交互,从而满足公司的特殊需要。

  避免厂商锁定

  厂商锁定 (Vendor lock-in) 意味着消费者依赖于某一厂商,除非花费巨大的转换成本,否则无法使用另一厂商的产品。当采用像云计算这样的正在流行起来的新技术时,会增加出现厂商锁定局面的机会。早期的使用者必须很清楚他们将处于什么境地,然后才能够签署长期的 IaaS 和 PaaS 协议。

  避免厂商锁定的方法之一是通过 API 和平台技术的标准化。Simple Cloud 等组织已经开始与参与这个开放源码项目的各种规模的厂商协作,力求让云中的 PHP 保持一致。为了创建 Simple Cloud,Zend Technologies、Microsoft、IBM 和 Rackspace 正在共同努力,其目标是跨不同的平台提供一个抽象层。

  Simple Cloud API 的目标是为文件存储、文档存储和简单队列服务创建通用的接口。这让开发人员能够编写出可跨主要云平台移植的应用程序。参与云计算标准化的厂商应该得到赞扬,应该鼓励他们继续努力。在选择为您的公司提供 PaaS 服务的厂商时,我强烈建议优先考虑支持标准化的提供商。标准化会让 IT 部门的工作更轻松,更重要的是,这会节省公司的资金。

  为了避免 PaaS 市场上出现厂商锁定,需要支持相同底层 API 的服务提供商。答案很简单:坚持采用专有技术的服务提供商必须同意支持 Simple Cloud 等标准化项目。

  结束语

  在这个分三部分的云计算文章系列的第二部分中,您了解了 PaaS 的特点。还了解了在选择 PaaS 提供商时应该问的问题以及应该关注的事项,比如厂商锁定。本系列的最后一篇文章将分析 SaaS,介绍它的特点。还将学习在选择 SaaS 提供商时为了保护企业需要注意的事项。请通过参考资料中的链接获取关于 PaaS 的更多信息。

  参考资料

  • Grace Walker 的 developerWorks 文章 “云计算基础” 对云计算做了精彩的介绍。
  • 文档 Open Cloud Manifesto “专门强调云应该是开放的”。
  • 阅读 CIO.com 上的文章 Cloud Computing: Waiting Too Long for Standards Will Cost You。
  • 进一步了解 Open Virtualization Format 计划。
  • Simple Cloud API 计划 是 Zend、Microsoft、IBM、Rackspace 等组织的合作项目。
  • 浏览 developerWorks Cloud Computing 专区,可以在这里找到宝贵的社区讨论,学习与云相关的新的技术参考资料。
  • 在 IBM Smart Business Cloud Computing 中,获得宝贵的业务建议以提高云中的性能和效率。
  • developerWorks 按需演示:观看演示,从为初学者准备的产品安装,到为经验丰富的开发人员准备的高级功能。

  关于作者

  

  Dan Orlando 是企业开发社区公认的领导者。作为长期顾问,Dan 经常向行业领导者以及 IBM developerWorks、Adobe Developer Connection 和 Amazon Web Services 等出版物提供 Adobe 技术平台方面的专业经验。Dan 还在DanOrlando.com 上定期发表博客文章。

云计算服务模型,第 2 部分: 平台即服务(PaaS)相关推荐

  1. 云服务平台分类——IAAS,PAAS,SAAS

    短短几年就产生巨大的影响力,不亚于IT业中的又一场革命. 云计算是并行计算(Parallel Computing).分布式计算(Distributed Computing)和网格计算(Grid Com ...

  2. 新手的云计算学习路线,云平台入门必备(干货整理)

    云计算作为信息技术领域的一种创新应用模式,自其诞生以来一直备受关注.由于其具备低成本.弹性调度.便捷易用.高可靠性.按需服务等特点,近年来被看作是新一代信息技术变革和商业模式变革的核心. 近几年云计算 ...

  3. 我眼中的云计算——PaaS(平台即服务)

    作为一个学术研究人员来说,相关专业是地理信息专业,但计算机学科尤其是变成和我们来讲虽然有一定关联,但绝对也仅限于专业内的,对于我这样一个非正式正规入编的程序员来讲,在2年前我只对云计算有个朦胧的认识, ...

  4. 公有云长期战略合作协议,为其提供横跨设计、建设、运营的全生命周期服务的云计算解决方案,涵盖云基础设施即服务(IaaS)和平台即服务(PaaS)和软件即服务(SaaS)

    IBM在云计算市场的风光似乎只局限在私有云市场.在以Amazon.Google为带代表的互联网精英们跑马圈地.推倒一堵堵围墙的公有云领域,IBM看上去有些黯然. IBM在公有云领域落后了吗?实际上,I ...

  5. 云计算具有什么平台_云计算科普之PaaS简介:平台即服务

    [点击右上角加'关注',全国产经信息不错过] 云计算(cloud computing)是分布式计算的一种,指的是通过网络"云"将巨大的数据计算处理程序分解成无数个小程序,然后,通过 ...

  6. 多角度分析平台即服务?PaaS的类型和用例

    云栖号资讯:[点击查看更多行业资讯] 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 没有适合所有人的单一PaaS.即使云计算已经发展了10多年,但对云计算服务模型的定义仍然相当模糊. ...

  7. 回望云计算发展 重新解读三种云服务

    本文讲的是回望云计算发展 重新解读三种云服务,云计算在非常短的时间里迅速兴起,并在个人和企业用户使用和运营计算的模式上发生了重要的演变.从概念上来说,云计算可以被视为在由虚拟化技术(虽然云计算并不总是 ...

  8. Java生鲜电商平台-微服务架构概述

    Java生鲜电商平台-微服务架构概述 单体架构存在的问题 在传统的软件技术架构系统中,基本上将业务功能集中在单一应用内,或者是单一进程中.尽管现代化的软件架构理论以及设计原则已推广多年,但实际技术衍化 ...

  9. 云平台队列服务-Qbus实践

    女主宣言 小编这篇文章从Qbus服务介绍.架构.使用场景开展,不涉及到队列底层具体实现原理,只讲把Qbus服务上到私有云的过程,希望给有相同需求的各位带来一点有价值的东西.下来就跟随作者一同学习下吧. ...

最新文章

  1. 马云:很多P2P公司披着互联网金融的外衣做非法金融服务
  2. 大数据分布式集群搭建(6)
  3. 晶体三极管如何工作的?不,我是问它的真实工作原理
  4. day_02、基础数据类型
  5. springboot获取原生js请求_springboot跳转原生html
  6. LeetCode176 第二高的薪水
  7. 父元素 高度固定,如何使其中的文字垂直居中?
  8. 2. sales quote merge before
  9. Java面试----2018年最新Struts2面试题
  10. 对计算机网络的基础认识
  11. 3. RN笔记-icon图标的使用和阿里图标的使用
  12. SQLMap——Tamper学习
  13. [转]用Excel制作甘特图并管理项目
  14. SCI收录中国期刊一览表
  15. 网站被挂马的解决方案
  16. 冥想第二百五十六天。
  17. 电脑版微信多开小技巧
  18. QCC512x QCC302x 延时函数 (阻塞与非阻塞)
  19. 唠叨一些嵌入式技术学习习惯~
  20. 层次分析法 AHP

热门文章

  1. C 商人的诀窍 SDUT
  2. [网鼎杯 2020 玄武组]SSRFMe
  3. 计算机存储系统之磁盘阵列技术
  4. 红光光浴的用途这么多,快来试试吧!
  5. (蓝桥杯)Sine之舞
  6. 迄今为止最全的前端监控体系搭建篇(长文预警)
  7. 如何用java计算圆的周长和面积?
  8. 优酷投屏显示无法找到服务器,优酷投屏突然不能用了(优酷版权限制无法投屏)...
  9. 文献略读-JHM-定向修饰PET催化降解酶
  10. 软件测试--黑盒测试常用测试分析方法总结