“云服务”现在已经快成了一个家喻户晓的词了。如果你不知道PaaS, IaaS 和SaaS的区别,那么也没啥,因为很多人确实不知道。
“云”其实是互联网的一个隐喻,“云计算”其实就是使用互联网来接入存储或者运行在远程服务器端的应用,数据,或者服务。
任何一个使用基于互联网的方法来计算,存储和开发的公司,都可以从技术上叫做从事云的公司。然而,不是所有的云公司都一样。不是所有人都是CTO,所以有时候看到云技术背后的一些词可能会比较头疼。
云也是分层的
任何一个在互联网上提供其服务的公司都可以叫做云计算公司。其实云计算分几层的,分别是Infrastructure(基础设施)-as-a-Service,Platform(平台)-as-a-Service,Software(软件)-as-a-Service。基础设施在最下端,平台在中间,软件在顶端。别的一些“软”的层可以在这些层上面添加。
IaaS: Infrastructure-as-a-Service(基础设施即服务)
第一层叫做IaaS,有时候也叫做Hardware-as-a-Service,几年前如果你想在办公室或者公司的网站上运行一些企业应用,你需要去买服务器,或者别的高昂的硬件来控制本地应用,让你的业务运行起来。
但是现在有IaaS,你可以将硬件外包到别的地方去。IaaS公司会提供场外服务器,存储和网络硬件,你可以租用。节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用。
一些大的IaaS公司包括Amazon, Microsoft, VMWare, Rackspace和Red Hat.不过这些公司又都有自己的专长,比如Amazon和微软给你提供的不只是IaaS,他们还会将其计算能力出租给你来host你的网站。
PaaS: Platform-as-a-Service(平台即服务)
第二层就是所谓的PaaS,某些时候也叫做中间件。你公司所有的开发都可以在这一层进行,节省了时间和资源。
PaaS公司在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统。这节省了你在硬件上的费用,也让分散的工作室之间的合作变得更加容易。网页应用管理,应用设计,应用虚拟主机,存储,安全以及应用开发协作工具等。
一些大的PaaS提供者有Google App Engine,Microsoft Azure,Force.com,Heroku,Engine Yard。最近兴起的公司有AppFog, Mendix 和 Standing Cloud
SaaS: Software-as-a-Service(软件即服务)
第三层也就是所谓SaaS。这一层是和你的生活每天接触的一层,大多是通过网页浏览器来接入。任何一个远程服务器上的应用都可以通过网络来运行,就是SaaS了。
通过分析了Techno-Pulse网站的Google Analytics数据,结果发现几个搜索关键字与Cloud Service Models(云服务模式)有关。读者们似乎在寻找服务模式方面的实用信息,以便帮助自己作出决定。虽然我在不少文章中部分提到过这个话题,不过在此专门探讨一下,希望帮助读者更清楚地了解和决定应该选择哪一种云服务模式。
云服务模式仅仅意味着哪一种类型的服务提供给客户。不同的模式适合不同种类的要求,可以获得不同的业务目标。简单搜索一下,你会发现网上有许多关于Cloud * as a Service的内容,其中的*可以换成下面任何一个:
Desktop(桌面)、Security(安全)、Data(数据)、Software(软件)、Platform(平台)、Infrastructure(基础架构)、IT(信息技术)、Testing(测试)、Hardware(硬件)、Computing(计算)、Database(数据库)和Storage(存储)等。
这一切让人有点晕头转向。由于云计算仍在发展之中,供应商们可以自由创新并提供各种服务,这些服务方面缺乏任何严格而明确的规则。所以,不妨让我化繁为简,提出被最多人接受的服务模式类型,由美国商务部国家标准和技术研究所(NIST)定义。
NIST在其特别刊物800-146文档中提到了三类云服务模式。制作的这篇文档供联邦机构使用。非政府组织也可以在自愿的基础上使用它,不受版权保护。
三类服务模式
•SaaS(软件即服务)
•PaaS(平台即服务)
•IaaS(基础架构即服务)
NIST进一步详细地定义了这些服务,下面提供了摘要,只不过换成了本人的表述。
SaaS篇
消费者不用操心与服务有关的任何问题或麻烦。服务提供商对应用程序享有非常高的管理控制权,负责更新、部署、维护和安全。提供商对应用程序行使最终管辖权。比如说,Gmail就是一种SaaS,谷歌是提供商,我们大众则是消费者。我们对Gmail享有的管理权和用户级控制权非常有限,不过消费者可以通过设置来采取一系列有限的操作,比如启用优先收件箱、签名和撤销发送邮件等。
下图表明了提供商与用户之间的相对控制级别——SaaS结构组成和控制范围,引用自NIST文档。
SaaS用户是哪些?
除了组织和企业外,SaaS用户/订户还可以是你我这样的个人。在大多数情况下,使用费按用户数量来计算。比如说,Google Apps最多可供10个电子邮件帐户免费使用;但是如果用户数量超过10个,Google Apps for Business每月每个用户收费5美元。
何时/为何应该选择SaaS?
如果你想要致力于业务,而不是把时间浪费在更换坏掉的故障、管理IT基础架构;最重要的是,不想把时间浪费在聘请和留住IT人员上。
你应该选用哪种SaaS?
•使用SaaS最有效的是云端生产力和协作应用程序(如Google Apps),以及在线项目管理应用程序(如DeskAway以及Zoho Mail/Chat/Docs/Project/Sheet/Writer等)。
•客户关系管理(CRM)应用程序——Impel CRM、Salesforce.com和微软Dynamics。
•基于云的存储和共享服务,如Dropbox、Skydrive(Windows Live)、亚马逊简单存储服务(S3)、Google Docs、Box.net和Mozy。
•中小企业/中小公司可以选用EazeWork(用于人力资源、工资处理和销售)
PaaS篇
简单地说,PaaS是可以在上面开发、测试和部署软件的一种平台;这意味着,软件的整个生命周期都可以在PaaS上完成。这种服务模式专门面向应用程序的开发人员、测试人员、部署人员和管理员。这项服务提供了开发云SaaS应用程序所需要的一切资源。
下图显示了NIST定义的PaaS结构组成和控制范围:
PaaS通常包括了开发环境、编程语言、编译程序、测试工具和部署机制。在一些情况下,比如谷歌应用引擎(GAE),开发人员可以下载开发环境,然后在开发人员自己的基础架构中本地使用开发环境;或者开发人员可以通过浏览器,使用提供商的基础架构中的工具。
PaaS用户是哪些?
独立软件开发商(ISV)、IT服务提供商或者甚至想开发SaaS的开发人员个体。
何时/为何应该选择PaaS?
你完全致力于开发应用程序,其他一切都将由平台来处理。
你应该选择哪种PaaS?
•GAE在Java和Python开发人员个体当中比较受欢迎。
•微软Windows Azure针对企业级用户群。ASP.Net(C#、VB.Net)开发人员会发现采用Windows Azure很容易。
•亚马逊也向前迈出了一步,提供PaaS:Beanstalk(这让Java开发人员多了一个选择)。
•几家总部设在印度的PaaS提供商(如OrangeScape和Wolf Frameworks)正凭借其5G可视化PaaS,在市场上掀起了动静。OrangeScape应用程序可以在所有主要的云平台上运行,包括谷歌应用引擎、微软Azure、IBM SmartCloud、亚马逊弹性计算云(EC2)或数据中心,没必要改写应用程序。
•Engine Yard和Heroku是面向Ruby on Rails(RoR)的领先的云PaaS。Heroku(已被Saleforce.com收购)也是用于开发Facebook应用程序的优先PaaS。
•PHP开发人员可以在PHP Fog和CloudControl之间进行选择。
•想选择支持多语言的应用平台,不妨考虑DotCloud。
•总部设在印度的Ozonetel Systems提供KooKoo PaaS,提供云电话服务。
IaaS篇
你需要虚拟计算机、云存储、防火墙和配置服务等网络基础架构部件吗?IaaS正是你应该选择的云服务模式。系统管理员是这种服务的一类用户。使用费可以按多个标准来计算,比如每个处理器小时、每小时存储的数据(GB)、所用的网络带宽、每小时所用的网络基础架构以及所用的增值服务(如监控和自动扩展等),不一而足。
下图显示了NIST定义的IaaS结构组成和控制范围:
IaaS用户是哪些?
你知道《开心农场》和《黑帮战争》吗?是的,它们是由Zynga.com开发的最受欢迎的两款Facebook游戏。每个月超过2.3亿个用户在亚马逊AWS上运行12000多台服务器。每当游戏开发商推出一款新游戏,开始是使用几台服务器,然后实时扩增服务器容量。
为了防止服务器遭到分布式拒绝服务攻击(DDOS),颇有争议的维基解密网站(Wikileaks)曾托管在亚马逊AWS上。现在,这个网站似乎搬回到了瑞典的主机上。
其中最重要的用户是SaaS和PaaS提供商,它们与IaaS提供商托管在一起。总部设在印度的在线订票服务商redBus。
何时/为何应该选择IaaS?
IaaS对于不知道新推出的应用程序/网站会有多成功的创业公司来说非常有用。你可以选择多个操作系统、平台、数据库和内容分发网络(CDN)——它们都在一个地方。
注意:由于经济原因,目前不建议把每月访客量不到10000人次的静态网站托管在IaaS平台上。如果你使用亚马逊AWS,可能每月需要付费18美元左右。
你应该选择哪种IaaS?
亚马逊是IaaS领域的先驱。其他领先的提供商包括Rackspace、GoGrid、Joyent、Rightscale和Terremark(已被美国电信运营商韦里逊公司收购)。
想选择总部设在印度的IaaS,不妨考虑下面两家提供商:
•NetMagic Solutions
•InstaCompute(隶属印度电信运营商塔塔通信公司)
云计算的分类
为了便于理解云计算下一个层次的问题,我想先按照下面的划分方式介绍一下云计算的类别:
IaaS(Infrastructure as a Service,基础架构即服务)通过互联网提供了数据中心、基础架构硬件和软件资源。IaaS可以提供服务器、操作系统、磁盘存储、数据库和/或信息资源。最高端IaaS的代表产品是亚马逊的AWS(Elastic Compute Cloud),不过IBM、Vmware和惠普以及其他一些传统IT厂商也提供这类的服务。IaaS通常会按照"弹性云"的模式引入其他的使用和计价模式,也就是在任何一个特定的时间,都只使用你需要的服务,并且只为之付费。
paas(Platform as a Service,平台即服务)提供了基础架构,软件开发者可以在这个基础架构之上建设新的应用,或者扩展已有的应用,同时却不必购买开发、质量控制或生产服务器。Salesforce.com的Force.com、Google的App Engine和微软的Azure(微软云计算平台)都采用了paas的模式。这些平台允许公司创建个性化的应用,也允许独立软件厂商或者其他的第三方机构针对垂直细分行业创造新的解决方案。
SaaS(Software as a Service,软件即服务)是最为成熟、最出名,也是得到最广泛应用的一种云计算。大家可以将它理解为一种软件分布模式,在这种模式下,应用软件安装在厂商或者服务供应商那里,用户可以通过某个网络来使用这些软件,通常使用的网络是互联网。这种模式通常也被称为"随需应变(on demand)"软件,这是最成熟的云计算模式,因为这种模式具有高度的灵活性、已经证明可靠的支持服务、强大的可扩展性,因此能够降低客户的维护成本和投入,而且由于这种模式的多宗旨式的基础架构,运营成本也得以降低。Salesforce.com、NetSuite、Google的Gmail和SPSCommerce.net都是这方面非常好的例子。
paas、IaaS和SaaS之间的区别并不是那么重要,因为这三种模式都是采用外包的方式,减轻企业负担,降低管理、维护服务器硬件、网络硬件、基础架构软件和/或应用软件的人力成本。从更高的层次上看,它们都试图去解决同一个商业问题——用尽可能少甚至是为零的资本支出,获得功能、扩展能力、服务和商业价值。当某种云计算的模式获得了成功,这三者之间的界限就会进一步模糊。成功的SaaS或IaaS服务可以很容易地延伸到平台领域。
选择云计算的标准流程
对于那些在考虑使用云计算,或者喜欢云计算的CIO或者商业执行官们,我的建议是和其他的业务或技术投资一样,按照标准流程考察选择。
首先,应该从一个业务案例开始,这一点非常重要。计算投资或者改变对财务的总体影响。
在考虑云计算项目的时候,网络带宽需求是一个需要考虑的重要问题,并且弄清楚你需要在网络上传递的数据有多大规模,以及对于特定服务的网络响应要求。
安全性是另一个重要的因素,所以你需要知道你的安全需求,以及你所在公司内部的能力同云计算供应商的能力之间孰高孰低。
对于任何开发和变革,最好能够从风险的角度进行一下衡量。我非常喜欢研究解决方案,同时也习惯于在作出重大的决策或投资之前,进行试用。
如果你计划采用的商业服务云计算是核心业务项目,那么一定要仔细考察云服务供应商,它的组织情况,它的业务稳定性。例如,这家公司是否盈利?这家公司是否处于增长期?他们的资产负债表是否健康?
如果你是计划在供应链管理和EDI(Electronic Data Interchange)项目上使用云计算技术,那么需要做的第一件事就是考察供应商整个网络的规模。规模大、扩展性好、质量较好的网络能够比较容易地提供更快、更高质量的服务。在为生意伙伴增加预接入的时候,这种可扩展性也能够提供同样的价值,帮助企业适应业务的增长和变化。
你一定要了解你的供应链服务的流程和组织情况。他们是否疲惫?是否真实?是否专业?评估他们的服务供应模式,他们整体的能力,以及他们作为服务商为企业建立业务的实际案例的情况。
最后,你应该做的最重要一件事是考察该应用的持续服务和支持。例如,绝大部分的SaaS应用都是按照采购服务的方式来销售的,对于客户来说,这非常好,因为这意味着供应商必须为你提供持续的价值和支持。这种采购方式买的不仅仅是某种技术的使用权,还包括提供客户支持、变革管理以及总体商业价值的专业人士的服务,这些服务渗透到每一天、每个星期,每个月,始终存在。