云计算讨论总是以“IPS”分类开始:基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。这种分类的好处是更易于理解,能够合理的制定评估要求。
想要一个应用?单一用途应用(人力资源、财务、印刷等)可以找软件即服务提供商。
想要编写自己的应用?可以找基础设施即服务提供商,他们能够让你创建你自己的定制应用。
在关注应用功能的同时,想要理解如何利用他人的软件优势进行管理这一概念?那么你可以看一下谷歌App Engine等应用,它们会让你对PaaS有一个认识。
以上这种分类总是作为一种补充说明,原因是其缺乏强有力的代表产品,但是这一情况正在发生改变。
各领域内的云提供商开始关注未来的研发战场——PaaS。他们已经清楚的认识到这是一个至关重要的市场——在这一市场中取胜将会拥有巨大的优势。同时这一市场也对用户带来了一些重大挑战。
这一证据就在我们身边。迄今为止,亚马逊是最成功的IaaS提供商。尽管亚马逊没有宣布他们的服务为“平台”,但是他们一直在用额外的附加功能丰富其核心服务,这些功能对公司提供的的服务产生了深远的影响,其能够帮助更为迅速的创建应用、更为容易的管理资源收集。想一想用于管理和扩充数据库的RDS、用于保护外部应用访问的直接连接、用于在AWS数据中心中隔离应用的虚拟私有云、用于应用管理的CloudFormation。
在上周的Dreamforce大会上,Salesforce公司列出了他们的PaaS服务项目。这些项目均以他们近期收购的Heroku公司为基础展开的。尽管这些项目曾经面向Ruby on Rails框架,但是Heroku已经开始扩展它们,让它们支持Java。它们还与Salesforce的Database.com进行了整合。由于将本地数据与Salesforce应用进行了整合,其还得到了Database Rights Option的支持。Salesforce可能称其为“社交企业”,但是整个服务项目很明显是为了向应用研发提供一个通用平台。
当然,不仅仅是大公司瞄准了这一市场。许多近期新成立的小公司也正在为创建云应用提供略有不同的架构。尽管这些公司宣称他们将采用开源和多云模式,但是人们仍然会继续关注他们的传输情况。在我看来,云提供商将适应每一种平台,以防止影响应用的可移植性。
这一作法的影响是简单的IPS分类将被迅速打破并被细分为复杂的云计算世界。在这个世界里,每个提供商都会寻求一种能够涵盖大部分客户计算需求的解决方案。你的SaaS提供商希望帮助你编写自己的应用。你的IaaS提供商希望其基础设施拥有更多的功能,以使你的研发人员更具多产性。在这种新的云计算联合世界中,要想彻底搞清楚提供商推出的产品将更为困难,这种模棱两可的情况无疑将对企业带来挑战。
PaaS带来的挑战
为什么会说PaaS对用户来说是一个重大挑战呢?简单的说是因为这种平台的实力和生产能力为企业带来了新的问题。企业可能直到部署了大量应用之后才意识到这些问题。
在IT主管评估他们的PaaS选项时应当考虑一下以下这些问题:
1、锁定。PaaS架构与CSP架构整合的难度远远超过了向一个提供商的虚拟机里安装应用。如果一个应用在内部依赖于服务提供商的服务,那么提取这个应用需要从最根本的地方检查代码,而不仅仅是简单的在另一个提供商那里安装一个打包工具。你从PaaS提供商那里获得的生产效率值与特定服务项目对你的锁定程度是匹配的。我并不认为锁定纯粹是负面的。以我的体验看,公司愿意被锁定是因为它们能够提供更多的好处。在选择PaaS时明白这一点非常重要,因为PaaS无疑会导致更大程度的锁定。
2、复杂性。每一个PaaS提供商都会将他们的功能与他们的架构整合在一起,而这些架构都是根据提供商对应用应该如何设计的理解创建的。确定在PaaS环境中如何以***方式编写和运行你的应用并不重要。当然,这是与传统的本地环境***的区别。
3、CSP(云服务提供商)差异。正如上面所提到的,大量PaaS架构宣称提供了一个抽象层,该层从应用研发人员那里隐藏了云提供商的细节。将应用抽象概念实际正在工作的可能性被放置在一旁的作法忽略了元应用软件功能,这些功能可以将用户进行锁定在任何项目中。大部分这类功能由将CSP提供,其重点用于运行,而不是应用编辑。CSP通过这种功能水平让他们自己与其他提供商区别开来,他们会在运行层面将你锁定起来,而不再是在代码层面。不要认为这种情况不会发生。云提供商的***个想法就是“我如何要让自己与其他的提供商不同?”因为他们都害怕成为计算能力相似的“哑管道”。
4、新技能。你的应用研发人员需要学习新的框架知识,知道如何为其研发应用。尽管早期的云部署公司都拥有大量能够快速学习新技能的熟练研发人员,但是对于其他公司来说,让公司能够快速掌握新技能是一项人力资本挑战。
5、以新架构为导向指导当前实践。大多数公司都已经明确了架构、方法和操作实践的定义。这些必须根据新架构进行评估并被修订。实际上,这一问题已经在IaaS云服务中存在了。随着新架构带来的指导点越来越多,情况将会进一步恶化。
以上这些问题可能会被人视为拒绝云计算的理由。事实上并非如此。实际上,每个新平台都会存在一些重大问题,无论是微型计算机、个人电脑、云计算还是笔记本电脑。重要的是要认识到每个新平台存在的利弊,做好面对它们的准备。记住以前发生教训和经验也很重要。正如美国作家乔治·桑塔亚那的那句名言,“那些忘记过去的人注定要重蹈覆辙” 。