近日我分析了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(隶属印度电信运营商塔塔通信公司)