自从Google成功推广Docs系统以来,所有的软件公司都逐步意识到,云计算将逐渐主导未来IT领域的发展,软件“云化”将是所有IT企业所要面对的机遇和挑战,在此大背景下,各家公司都在积极学习而不希望被市场淘汰。努力思考如何用“云概念”全新理解和改造企业已经拥有的软件产品和服务,以求在起步阶段占的先机。Office 2010 就是一个很好的例子,它说明即使微软这样的大公司和市场占有率如此高的产品,依然要考虑软件“云化”。“云化”必然是未来所有IT企业最热门的话题,那么如何让已存在的软件“云化”,其核心问题是如何为客户提供一个简单方便的瘦客户端和一个功能强大的后台应用处理服务。如何做到这一点,其实大家都默认选择了B/S多层架构的设计模式,早在10年前,很多公司就已经开始使用三层或多层架构设计技术来开发软件,而这种技术几乎成为所有软件工程师的必学知识,正是由于这种技术的广泛成功使用,现在也理所当然的成为大多数公司考虑其产品“云化”首选解决方案。但这种技术同样也存在缺陷:
1 适应于企业MIS系统,而对于一些专业单机版软件或对硬件、CPU、内存依赖度很高的软件就几乎无能为力,例如图形处理,视频音频处理,编程工具等类型软件,虽然网络上能够提供一些简单功能的处理,但对于专业人士,这远远不够。例如Office2010 中的一些高级功能,Excel中的复杂图表,PPT的动画,宏和对象嵌入等等,你还需要单机版软件来完成。
2 系统的改造会为企业带来风险和成本。大多数的成功软件或平台,例如Lotus Notes并不是基于B/S架构的,而是基于C/S架构的,以此平台开发的大量软件和应用基本不可能转移到B/S架构来,即使可以转移到B/S架构的其他软件,其原有功能和界面都需要更改,这样的改造未必能够得到客户的认可,客户需要的全功能的成熟的软件系统,而不是阉割后的软件。还有企业必须考虑其软件改造的成本,B/S系统的改造的工作几乎相当于全新开发一套类似软件工作量的60%~90%。成功率和成本考验着企业“云化”其软件时的决心与信心。
3 系统弹性低。云服务是个极端,软件真正的服务都集中到了服务器端,并严重依赖互联网。如果一家企业无法使用互联网而只能使用局域网,或极端的说有一天Google的Docs网站被封或停止服务,我们如何应对没有互联网下的云服务。还有如果企业的发展需要把原本在互联网的CRM,OA迁移到企业局域网内,并与已有的其他系统进行整合,我们的云服务提供商是否能够做到云服务本地化。如果解决不了这个问题,真正出现问题时,我们就会怀念那些可以在单机或局域网内顺畅运行的各种软件了。
如何能够让90%以上软件轻松在互联网为客户直接服务,而几乎不需要对已有软件进行的任何改动,从而完美的实现软件“云化”,首先这需要云计算技术和虚拟化技术的完美结合。严格意义上虚拟化技术更加偏向于向客户提供完整虚拟化后的操作系统和硬件支持,而云计算更加偏向于向客户提供独立的软件应用和服务。大多数“云应用”都不需要这么完整的系统功能,而只需要业务处理和数据存储功能,例如Saleforce公司的CRM。但是对于我们上面提到的一些专业软件而言,这些功能远远不够,大多数都需要独立的“计算机”,所以完美实现软件“云化”,首先需要整合虚拟化技术。
其次我们应该考虑放弃HTML+JS,而选择功能更加强大的声音、图像、网络等的解决方案。虽然HTML+JS在声音、图像、网络方面一直在寻求突破,例如Web2.0,但从技术角度上讲,要能够Socket编程、3D处理、实时声音图形传输等功能,基本上是不可能的,所以我们需要使用Flash技术或Silverlight技术。事实上,如今的互联网已经成为Flash或Silverlight技术的天下,从在线3D游戏到实时视频和声音,而这些能力正是完美实现软件“云化”的根本。但Flash或Silverlight技术受限于客户端的权限,进程,存储和硬件约束,很难开发出Silverlight版的Photoshop,但他们作为输入和输出接口的,完全是没有问题的。
除此之外我们还需要例如客户认证、文件共享、系统迁移等,加之上面提到的虚拟化技术和Silverlight(Flash)技术,就可以搭建一个完整的技术平台,让任何软件轻松变为“云应用”。这方面我已经做了长时间的研究和开发,并已经成功开发出可以在线的使用Office2010单机版的演示系统,借微软发布Office2010之际向推荐了解最新“云化”技术,感兴趣的朋友请邮件联系我:richard_hxw@yahoo.com.cn以获得在线使用真正的Ofiice2010 的机会。