贝尼奥夫提供的这种服务模式,后来发展成现在所说的软件即服务(SaaS),而 Salesforce.com也已经成为迈克尔•戴尔口中“软件即服务(SaaS)行业的开拓者和领 军标兵。
软件即服务(SaaS)是现在常说的三种云计算服务模式的一种,另外两种是平台即服务(PaaS)和基础设施即服务(IaaS)。简单地说,如果SaaS是以互联网提供软件服务,PaaS就是通过互联网提供应用程序运行平台服务,IaaS通过互联网提供基础 设施服务。
软件即服务(SaaS) :SaaS这个简写最早应出现于美国软件信息产业协会 电子商务分会在2001年内部出版的“软件即服务:战略背景简报”(Software as a Service.-Strategic Backgrounder) 一文中,当时指的还是应用服务提供程序 (Application Service Provider,ASP)模型。ASP是20世纪90年代出现的一种集中计算 类型,是20世纪60年代IBM和其他主机提供商主导的商务应用集中托管(也被称为 时分或效用计算)的互联网延伸。ASP以托管特定商业应用的服务方式向客户提供业 务,以通过集中管理和解决方案提供商在特定商业应用上的专业性来降低成本。虽 然Salesforce以“软件的终结”这种说法表示与传统的“客户端软件”不同,并被视为 SaaS的领车角色,但直到2005年,作为管理咨询服务公司Riseforth的总裁,约翰•科 尼格(John Koenig)才在当时还名为SD Forum的SVForum (桂谷论坛)上,提出了 我们现在所理解的“SaaS”。
SaaS指各种互联网及应用软件即是服务。有时也被称为“按需提供的软件服 务”,是一种通过互联网提供软件及相关数据的模式。用户可以按使用付费,通常使 用浏览器通过互联网远程访问并使用的特定软件,无需购买软件,并将其安装于电脑 ^之上。
SaaS的初期使用费一般低于同类企业软件。与传统客户端软件销售永久性的证 书并预先收费不同,SaaS提供商通常采用会员费(Subscription Fee)的方式来定价, 并按月或年来收取。这时,服务提供商会按某些使用参数来为应用定价,比如用户 数、业务数或其他价值单位。对一些服务提供商来说,多租户环境下创建用户的较低
成本使其可以以免费增值(Freemium)的模式来提供应用服务,即有限功能或有限 程度的服务免费,加强功能或更大程度的服务则收费,也有一些SaaS应用会对用户完 全免费,从其他途径盈利(比如广告)[5]。
SaaS现在已经是多数商业应用如财务、CRM(客户关系管理)、ERP(企业资 源计划)和协同软件等服务的常见交付模式。这其中,最典型的代表就是Salesforce. com的在线CRM系统。
通过在Salesforce.com的网站上注册,用户可获得三十天免费的全功能产品体验。 如果客户选择付费成为Salesforce.com的用户,则按照服务企业的规模、所需的CRM 组件,以及要求的自定义和集成级别,Salesforce的CRM服务也会分成不同版本。比 如销售云(Sales Cloud)会分为Contact Manager、Group、Professional、 Enterprise和
Unlimited几个不同等级的套餐,不同套餐在集成的功能种类、用户数量、数据和文 件存储容量等方面都有差别。
按照所交付的服务内容不同,Salesforce.com的CRM解决方案也分为销售云、服 务云(Service Cloud)、数据云(Data Cloud)和协作云(Collaboration Cloud)等。
用户可通过任意接入网络的移动设备或者计算机来访问销售云。在登入服务主 页之后,用户可以通过点击联系人、帐户、商机、文件或者控制面板等不同标签来获 得相应服务信息。同时,用户可以在主页上选择显示一些个人收藏的控制面板,以直 观获得类似个人绩效的实时视图。
Chatter是Saleforce.com于2010年推出的一款具有社父功能的服务平台。在销售云 中,Chatter会向用户推送其所订阅的所有信息的更新,包括账户、潜在客户、市场活 动、控制面板等。同时,利用Chatter,销售代表可以与客户进行实时沟通,获取所需 信息以共享议程和进行协作。
Saleforce.com收购社交客户服务公司Assistly之后,销售云在跟踪潜在客户方面做 得更细致。如果销售代表所在企业的Facebook、Twitter等页面中发现一个客户提出问
题,销售代表将自动获取客户姓名、Facebook账号、电子邮件、具体问题等信息, 并采取行动及时处理(比如利用服务云中的知识库功能等)。销售云还可以自动跟踪 客户在其他社交媒体中的会话,从而使销售代表可以时刻掌握用户需求。
对于用户来说,只要联网接入Salesforce.com的服务主页,即可随时随地管理自己 的客户任务、约会和电子邮件,并将之与自己的电子邮件应用程序保持同步,还可 以与所需的所有人和事物保持联系,并设置自动邮件提醒,使团队时刻获知最新信 息,尽可能地赢彳导销售交易。
平台即服务(PaaS): PaaS以服务的形式交付计算平台和解决方案包,提供应 用创建、应用测试及应用部署的高度集成环境,用户无须购买和管理底层的软、硬 件,也无须具备设备管理能力。在开发和交付网页应用、服务的完整生命周期内, PaaS完全通过互联网来提供所有的设施支持。
在此服务模式下,提供商可将运行在云基础设施上的应用提供给消费者使用, 而消费者可通过类似Web浏览器(如基于Web的电子邮件)等瘦客户端界面,在各种 客户端设备上访问这些应用。同样,除了一些有限的特定于用户的应用配置的设置之 外,消费者不会直接对底层云基础设施进行管理或控制,这包括网络、服务器、操作 系统、存储,甚至单个应用的功能。
在这种模式中,由服务提供商负责硬件资源的管理和扩展,并提供应用服务平 台的编程接口,开发人员只需根据服务接口进行应用程序开发即可。这类似于一些大 型的综合商场将场地租给商家使用,商场负责基础设施建设,由商家自行设计、搭建
门店并提供服务。但是,“谁的地盘谁做主”,入驻商家在门店搭建、业务运营及资 金结算时,都要遵循一定的规则和条件限制。
所以,用户在使用PaaS服务时,通常情况下,也必须遵守该平台特定的规则和 限制,即使用特定的编程环境并遵照特定的编程框架和数据存储模型等。因此,不 同PaaS云之间应用开发的可移植性也是PaaS推广时常被提及的问题之一。除此之外, PaaS服务还面临浏览器的信息泄漏风险,以及网络依赖性和用户隔离的问题,随着这 种服务模式的成熟,类似问题带给客户的疑虑在不断减少。但用户在选择PaaS服务 时,还需要结合自己的开发习惯、业务发展预期等方面综合考虑。
PaaS的定价通常取决于平台组件的使用数量和使用次数。如对一般用户限制一个 最大登录次数,每次登录都会收取一个标准价格,而对于登录更频繁的用户来说,则 可能会按月收取一个较高的固定费用,但不限制登录次数。也有一些服务提供商会采 用类似免费增值(Freemium)的模式来提供应用服务,如果超出限额,则企业再向 服务提供商购买额外的使用资格。
目前最典型的PaaS就是Google App Engine(GAE)。作为一个开发、托管网络应用程序的平台,GAE于2008年4月发布了第一个beta版本,使 用谷歌管理的数据中心。
“通过使用GAE,开发者可以在谷歌基础架构上运行网络应用程序。App Engine应用程序易于构建和维护,并且可随着通信量和数据存储需求的增长而轻松 扩展。”
“GAE支持使用几种编程语言编写的应用程序。通过使用App Engine的Java 运行时环境 ,你可以使用标准Java技术构建应用程序,包括JVM、Ja va Servlet 和 Java编程语言或任何其他使用基于JVM的解释器或编译器的语言(如JavaScript或 Ruby)〇App Engine还提供一个专用的Python运行时环境,其中包括快速Python 解释器和Python标准库。建立的Java和Python运行时环境旨在确保快速安全地运行 应用程序,而不会受到系统上的其他应用程序的干扰。”[6]
谷歌为应用开发人员提供了详细的开发指南,对于一个应用开发人员来说,要 使用GAE,步骤很简单:注册一个谷歌App Engine账户(也可以使用谷歌账户)下载 并安装开发所用语言所对应SDK,然后再创建、运行并测试自己的项目,并在为应用 程序注册应用程序ID后,就可以使用Eclipse插件或SDK中的命令行工具将其上传到
App Engine。
对于开发者来说,App Engine提供了一个完整的平台,包括完整的SDK (如 Eclipse插件)和服务,开发者只需为使用的资源付费,没有设置成本,也没有日常 性费用,通过App Engine提供的管理面板,开发者可轻易地对应用程序进行维护和升 级,这对急于实现自己绝妙想法的开发者来说,非常诱人。
但GAE也有一些引起争议的地方,如只能使用谷歌的Big Table,开发者对操 作系统、硬件、存储的控制有限,以保证平台不会被某个应用程序绑架。这样,在 开发者要使用线程,或写文件系统的应用时就会受到限制。另外,对Java、Python 以外的其他语言的支持不足也是一个问题,无法使用类似Hibernate的其他Java工具 和框架,这无疑为那些以其他语言编写的现有项目制造了重新编写程序的门槛。而 且,一旦花大力气在GAE上发展出了大量用户,开发者还会担心被锁定在谷歌平台 之上。但从目前来看,谷歌已经给出了包括数据迁移在内的指南,而且AppScale及
TyphoonAE等开源平台的出现,也为App Engine上应用的迁移提供了有限但可用的
解决方案。
基础设施即服务(IaaS):亚马逊于2006年3月推出的S3(简单存储服务),应
该是最早的IaaS服务。IaaS有些像企业将计算基础设施服务“外包”给了服务提供 商,由这些服务提供商在线提供计算、存储、服务器或网络组件等基础计算资源。
由于IT硬件的投入数字在费用表上往往非常显眼,所以,IaaS的“按需使用并 付费”的意义就会非常明显。以Forrest Research的评论来说,“你绝对不会在睡觉时 也开着卧室里的每一盏灯。这明显是种浪费。那么为什么大多数公司即便应用需求 有清楚模式时,也会按峰值能力部署基础设施,然后一天24个小时不停运转?…… 因为他们别无选择。应用开发者和基础设施运维人员都会按满足峰值需求来确定基 础设施。” [7]但企业的计算峰值是不会持续存在的,比如电子商务网站需要应付的 峰值可能只是在节假日的促销活动时来临,而其余大部时间这些资源都处于闲置状 态,所以这种固定投资既导致了大量的IT资源浪费,也导致了企业营运资本的无效 占用。
在IaaS中,在几乎没有预付资本投资情况下,用户就能即时使用计算资源,并且 可以按需获取看似无限的计算资源,从而无需提前进行固定计算资源的规划,这无疑 消除了前期资本投入和成本费用,而按使用计费的方式,也大幅降低了运营成本,使 企业可以更好地运用资金于核心业务之上。这也是人们对云经济投入极大兴趣的原因 之 你可以仅在需要时才为资源付费,按需增减设施规模。
租用基础设施服务的用户可以是软件公司,也可以是独立的软件开发人员。
用户根据自身需要向IaaS服务提供商购买基础设施,并在此基础上构建相应的网络 应用。目前,以租用基础设施这种方式构建的网络应用几乎涉及到互联网的各种服 务,包括网站托管、数据存储备份、电子商务、高性能计算、捜索引擎、虚拟主机服
务等。
IaaS的定价通常有按次收费和统一收费两种方式。按次收费指对所提供的服务进 行计量,按应用使用的基础设施服务来付费,一般会以吞吐量(Throughout)作为参 考量,但也有服务商樹服务器时间来计费。统一收费指根据预订配置按月、季度或年 收费。[8]
在具体实践上,多家大型IT厂商都推出了为用户提供基础设施的服务产品,最 具代表性的是亚马逊公司提供的IaaS服务。
亚马逊的AWS(Amazon Web Services)提供了 一系列的云计算服务,以便用户
可以通过Web界面访问亚马逊的计算基础设施。对于用户来说,提供这些Web服务 的所有硬件设施由亚马逊进行维护,用户只需根据使用的资源付费,不需要提前付 费,因而具备极高的可靠性和可用性。
通过在亚马逊的AWS网站上进行注册,用户即可开始使用亚马逊提供的云计算 服务。AWS包括了存储、计算、消息传递(SQS)和数据集(SimpleDB)等服务内 容,其中EC2和S3是最为知名的IaaS服务。
EC2提供了可定制化的云计算能力。通过使用EC2,用户可以在几分钟内获得虚 拟机器,并只需根据实例(Instance)的类型和每小时的实际使用量付费。在这种模 式下,用户可以用非常低廉的价格获得计算及存储资源,并且可以方便地扩充或缩减 相关资源,有效地应对诸如流量突然暴涨之类的问题。对于资源有限且经常会有不定 量的计算需求的公司来说,EC2提供了极大的灵活性,EC2按需使用实例的定价表。
EC2中有两个基本概念,AMI (亚马逊机器镜像)和Instance (实例)。简单 而言,AMI是AWS提供的在EC2中使用的一种镜像文件,包含了启动应用软件时 所需的所有信息,亚马逊提供了多种AMI可供选用。而Instance则是指基于AMI运 行的系统,基于AMI产生,可以基于同一个AMI产生多个实例,共同对外提供服 务,一个Instance通常对应一个虚拟机。Instance分为三种类型:按需(On-Demand Instances)、预定(Reserved Instances)和拍卖(Spot Instances),并因此区分价格, 比如当亚马逊的资源剩余很多的时候,用户可以通过选用Spot Instance以较低的价格 获得计算资源的使用时间。
默认情况下,如果关停了EC2服务,则上面运行的所有资料都将丢失。对于有存
储需求的用户来说,亚马逊另外樹共了EBS (弹性块存储)和S3的存储服务。
S3是一款在线存储服务,用户可以用它存储各种数据文件,比如文档、图片、 视频、镜像等。通过S3提供的Web服务接口,用户可以使用亚马逊运行其网站的基础 设施,来随时随地联网存储和检索任意数量的数据。S3的目的,在于将规模效应带来 的收益最大化,并将之传递给用户。一个S3帐号可以有多个存储区(Bucket),每一 个存储区的存储容量和文件数量都不受限,但是单个文件的最大尺寸为5TB。191
目前来看,EBS和S3有一些明显的差别:比如EBS账户的容量有限,而S3却没 有这个规定。EBS只能通过同一可用区(Availability Zone)下的EC2实例进行访问, 而S3上的镜像快照(Snapshot)可通过任意可用区访问。EBS在同一时间只能由一 台机器进行访问,而S3上的快照可以进行共享。而且,EBS上的差错率随着其卷 (Volume)的规模的增加呈递增趋势,所以一般而言,从容灾的角度考虑,用户应 在S3保留快照,或将内容在其他地方进行备份,以便能快速恢复。
亚马逊向新客户免费提供了一些服务,比如EC2、S3、EBS等,以使用户更好地 适应AWS。而对于有更多需要的客户而言,亚马逊网站上对每项可用服务都有明确 的定价说明,这些各自独立定价的服务,使用户有了较大的灵活性,可以根据项目需 要按需选择相应功能,然后根据使用情况进行付费。并且,用户可以随时启用或停止 使用一款产品,根据使用情况付费,而无需签订长期合约。
如需阅读完整版本,可在京东、当当购买纸质版图书。
【友友系统(YOYOSYS)简介】
北京友友天宇系统技术有限公司(以下简称“友友系统”)由美国硅谷归国的姚宏宇博士和宽带资本的田溯宁先生共同创办。友友系统致力于云计算核心技术的研究和发展,开发云计算操作系统(CloudWare®)及应用软件,为市场提供具有自主知识产权的云计算基础软件产品和行业解决方案,成为中国及世界领先的云计算基础技术的提供者。欲了解更多关于友友系统的信息,请登陆http://www.yoyosys.com。