现在对云计算的炒作就如同上百人在电话会议中狂吼一样喧嚣。回顾 20 年来 IT 的演变,较为特别(其实也不那么特别)的一点就是每次新技术的诞生都发生了喧嚣的炒作。以 4 到 5 年为周期的技术更新意味着大量赚钱的良机。从最早的大型机到客户端 - 服务器、CASE 工具、.COM、企业架构 (如 EJB 和 DCOM)、SOA,以及发展到现在的云计算,IT 一如既往地关注于如何想方设法赚钱。
云计算广受期许的原因是什么?首先对于一般开发人员和架构师来说,确实非常赞同‘IAAS’(基础设施即服务)的理念。无可置疑,这也难怪,由于在开发过程中 IT 部门和外包服务商常是制约项目进程的瓶颈,使得这些人过去多是生活在资源的“捉襟见肘”之中。但现在他们终于可以不受限制地开发应用并任意部署。
对于拥有复杂技术的大牌供应商来说,(据说)可以通过预先配置和包装来让那些缺乏足够技能和经验的用户也能够合理的配置并使用产品和服务。从而为它们的产品和服务开辟了一个全新的分销渠道。由于云计算缺少通用的标准,因为可以将用户的应用绑定在特定的供应商平台上,这样客户就会很忠诚——然后提供富余的硬件也是一条生财之道。
对于业务主管来说,云计算既支持按使用付费,又很容易平衡成本和收益——这个设想非常的美妙……
对于学术研究者来说,云计算预示着可在诸多领域进行探索的良机。同时它还使用到了很多过去在并行计算,可伸缩性和虚拟化方面的研究成果。
云计算的真相是什么?
- 提供很多你不需要的东西
- 不是服务复用的圣杯
- 不是开发 / 托管全能的瑞士军刀
如果你只需一辆自行车,那么给你提供一架比自行车贵得多的航天飞机绝不是一件好事。问题的关键在于复杂度。它不工作该怎么办?它不如预期工作该怎么办?该如何操作它呢?除非自己是个火箭科学家,否则会很被动。你已经拥有所有(甚至更多)特性的功能需求吗?你在定制架构上拥有足够的技能和经验吗?如果这些条件都不具备,那么无论是用云计算还是别的什么就都没有多大区别了……
“软件开发成本如此昂贵,所以我们要尽量复用”。这句话没错,但是请看这条新闻:四十年以来,我们一直试图复用代码但却从未成功!云计算在软件复用上也根本没有任何进步。复用要求非常相似的业务需求和上下文。而现在最主要问题恰恰在于每个用户的业务需求和上下文都有些细微差别。从技术角度上看,同类的云的集成服务会很容易,但在质量和安全领域上复杂度却会增加。简单数据服务(如地图 / 地理数据)的复用会带来一些好处,但这并不能改变用户仍然需要雇用开发人员来开发新功能这一事实。
IT 不仅指像 Facebook 和 Amazon 这类的互联网创业公司,它需要支持业务流程。除开少数流程可以通过云计算来实现,绝大多数都不可以。它们都需要云计算平台所不擅长的整合、安全和灵活。
SAAS(软件即服务)是个好主意,但也不够通用。即将出台的一系列标准将使 SOA 和服务看起来很容易,但是其中绝大多数都会被忽略掉,进而根本无法根据它们来做实现!重写软件又是非常昂贵且缺乏商业价值。基于上述问题,未来 5-10 年里将只出现少量的面向云的应用。而到那时,取代云计算的下一个技术革新将会发生。
云计算擅长做什么呢?以下场景都是不错的利好方案:
- 没有基础技术设施而又需要可伸缩性的创业公司。
- 地理数据,政务信息之类的数据中心。
- 桌面办公(邮件,浏览器,日历类应用)。
- 游戏(拥有服务端和三维渲染的廉价终端的这类)。
- 需要动态处理大容量数据的业务。
- 具有大容量数据和低安全要求的应用。
开发人员一直盼望的是什么呢?不是免费。IT 部门和(或)外包服务商应该提供丰富的包含安全、标准、补丁等自助服务,从而可以用来开发现实的“自行车”类方案的环境。实际上,学术研究者应该停止附和 Garter 公司对云计算的不合实际的高估。把时间用来研究产品和市场的需求,这才是云计算等新技术诞生并发展的源泉。
大牌供应商应该意识到“大量打包用户并不需要的东西”的做法并不合理。他们应该降低开发复杂度从而更好的帮助开发人员完成任务。
业务主管应该改变 IT 部门的工作方式。敏捷和精益思考的出现使 IT 和业务无缝协作成为可能。管理上则应该从成本导向(开发花了我多少钱)转为收入导向(上阶段发布的新功能让我们赚了多少钱)。
邀请您来挑战我们的观点并指出其中的错误。我们不需要一套套的理论和逻辑,我们需要你举出真实的场景。
感谢霍太稳对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家加入到 InfoQ 中文站用户讨论组中与我们的编辑和其他读者朋友交流。
评论