云计算是IT行业的新宠,但不是所有的应用都适合在云上运行。
专家觉得这个情况在变化,多数人预测在未来五年里,现在难以部署在云中的应用将能更好地使用云。
目前的应用基本上可以划分为两类:垂直扩展并与现有云不太兼容的应用,以及水平扩展能很好适应云的应用。
适合云的应用“其实就是轻量级服务的集合,通过通用协议与数据格式沟通交流,”数字咨询有限公司SolutionSet的副总裁Kent Langley说,“多数Web应用,如网页邮件撰写或在线零售网站都属于这个类别。”
同时,诸如SAP与甲骨文的PeopleSoft与会计应用,还有微软的SharePoint与SQL Server在公有云中部署稍微有些麻烦,具体要看其所处的底层架构。
确实,有时候似乎垂直扩展应用在公有云中互看不顺眼。这些应用在设计与部署时都是按照传统方式来的,严重依赖整体的数据库层。该层应该是高性能高可用的,所以难以部署在多台服务器上,在应用层之间需要快速的可靠的连接,这在广域网WAN链接上似乎难以实现。
“我们的最大挑战与最耗精力的就是遗留应用,”Robert Half国际股份有限公司CIO Sean Perry表示,“当我们在几年前使用(位于英格兰数据中心的亚马逊Web服务)PeopleSoft时,我们感到很痛苦,因为我们经常在自己数据中心要用到的性能工具没有,并且我们对于部署在其上的基础架构可视化程度也不高。”
Gartner首席分析师Kyle Hilgendorf表示,垂直扩展应用与云服务供应商基础架构,如AWS的理念背道而驰,它以诸如小型、中型、大型与超大型标准提供服务。
“在一个传统的VMware环境中,有一个滑动条,所以可以关闭虚拟机,添加虚拟内存,然后再打开虚拟机,这就完事了,”Hilgendorf解释,“亚马逊可做不了这些。”
传统的商业应用只是垂直扩展应用的一种。云计算咨询公司Cascadeo的创始人与首席工程师Jared Reimer表示很多自定义应用也是这样设计的。
这些应用很难为云而改进,尤其是在部署运行了一段时间后更难。
应用部署与管理的方式也会影响对云的适应性。现在大多数内部部署的应用没有参照“黄金镜像”虚拟机,随着新补丁与其他更新的到来更新量剧增。当负载增加时,IT可能也只是部署新虚拟机,造成虚拟机蔓延。
在云中,在更新或服务遭到破坏时,如Opscode Chef与Puppet Labs的Puppet这样的自动化工具完全可以用于从零开始部署应用,使得公有云部署更有效率更节约成本,IT人员也应该考虑在云环境中将应用服务器分组以便实现负载均衡,而不仅仅是添加更多的机器。
然而,不是每个部署都在云服务提供商提供的基于软件的负载均衡实现成功。
移动应用开发公司Best Fit Mobile的CTO Ray Williamson召回了为艺术连锁店Michaels部署的一款移动应用解决方案。在黑色星期五的流量高峰期,亚马逊负载均衡在新IP地址后配置新IP地址,直到负载均衡器上有22个不同的地址连接到Best Fit的服务器,实际上几乎没有流量到达后端机器。
“我想我知道在黑色星期五他们的软件负载均衡器怎么了,那就是大量DNS转换在进行,所以我们迷失了,”Williamson说,“请求没有传到我们的服务器。”
最终,公司转向基于硬件的负载均衡器,一些由Rackspace托管的物理集群,而不是继续使用纯碎依赖云的应用。
未来的道路
在下个十年,公有云计算的道路仍有障碍。数据外泄的法规与遵从是让人忧心的问题。
站在技术的角度,行业观察者表示解决如今云应用挑战的解决方案很容易实现。
首先,某些应用经过重新设计或重新部署就能适应底层云架构。有时候,初始的部署方式可能造成误会,其实云计算与虚拟数据中心之间存在不同。
“我见到很多人都简单地将Exchange移到云中就完事,”Reimer说,“从多个角度来看这样做都糟透了。”
Reimer指出,不过也有在公有云中运行遗留应用的专业服务。亚马逊与微软都发布了一个高可用设计,在AWS上运行可伸缩的SharePoint环境。
“大家都不仔细看,”Reimer说,“他们一厢情愿按照自己的方式构建,然后就觉得搞定了。”
Reimer说,IT专业人士在AWS上将SQL Server部署在Windows实例中的时候,应该遵循其数据中心直觉,而不是使用亚马逊的关系数据库服务RDS,这样获得效果可能更好。
其他情形下,无需部署应用适用于云,而是改造云让其适合应用。
如果AWS不是组织的那杯茶,可以选择专业的云供应商,他们基本都关注在云中支持棘手的遗留应用。比如Virtustream,托管着云中最大的SAP部署,根据单独的CPU、RAM与磁盘构建块,使用一种独特的资源分配系统。
“某些时候应用无需更改,”Virtualization Practice公司CEO Edward Haletky说,“围绕应用的云必须专门设计,以便支持想要运行的应用。”
某些行业的IT决策人已经在动手进行了。社区云可缓解在云中进行集中式处理的困难,能自定义构建满足行业的独特需求。纽约股票交易社区云就是这样的一个例子。
Haletky表示,平台即服务PaaS产品可能更改遗留应用的底层可扩展性,让它们乘上云自由翱翔。