借云之力完善平台之美


 2015-01-04 02:15:01       758

软件开发从最初的C语言到今天的集成平台技术,带给了时代翻天覆地的变化。而时代的变化总是又会走在技术发展之前。进入云的时代,企业软件平台总是在面对云端诱惑的同时,又无法放弃耕作已久传统平台。

目前阶段,软件平台还面临着哪些问题?未来,企业在完成软件平台向云平台转移的过程中需要注意哪些问题?企业的平台项目究竟是应该坚持自主开发,还是整体外包?在面对越来越多的平台产品选择时,企业用户需要注意的又是什么?

近日,《软件平台价值评论》就有关未来软件开发发展趋势,不同行业、不同企业对于商用软件开发的需求分析,以及国内开发类软件产品比较等问题专访昆仑海比(北京)信息科技有限公司总裁、分析师曹开彬先生。以下是经过编辑的对话。


软件发展宏观展望

软件平台价值评论:首先,请您简单回顾一下软件开发的发展历程。

曹开彬:软件开发发展到今天,实际上经历了几个阶段。第一个阶段是以各种语言为主的开发。比如大家都很熟悉的C语言、JAVA语言等等。在这个阶段中,主要的问题表现在写代码。一行行的代码,写起来会比较复杂。

后来,大家都觉得一个一个代码去写,这样很麻烦也很辛苦。所以软件开发就进入了第二个阶段,也就是组件开发的阶段。这样,程序员写起来就可以用一个个组件搭建起来一个软件。

现在,实际上我认为,我们的软件开发发展正处于第三个阶段,也就是基于平台的开发阶段。这个阶段,跟过去两个阶段相比,最大的进步就在于,平台本身会有一些基本的元素在。很多基本的功能在平台中就已经具备了,不需要开发者从头开始,重新开发。实际上,这样就解决了软件开发人员的很大一部分工作,同时,因为分工更加明确,也使整个软件开发领域有很很大的技术发展空间。另外还有一个进步就是,更加侧重建模的技术。当然,现在仍然还有组件和建模两种模式,但跟之前那种每个部分都需要组件来构成的情况相比,现在这种基于平台的软件开发,是在已经具备一定的功能基础的平台之上,再进行组件开发或者流程建模的工作。这种开发方式也会大大提升软件开发的整体水平。

而现在同时,整个软件开发领域正在慢慢向第四个阶段发展,我把这个阶段称为“面向服务的一种开发手段”,也就是大家俗称的云平台的开发。大家都知道,现在这个时代是云的时代、互联网的时代。广义上来说,基于云服务的软件开发应用也可以成为平台,比如“PaaS平台”。但是这种平台就跟传统意义上的软件开发平台,比如普元的平台又不太一样。因为这是一个完全基于互联网的平台;并且,基于互联网就意味着面向服务。我认为,未来的软件需要面对的问题,在很多情况下更可能是去解决用户的某一种服务的流程。举个例子,比如说我需要,一个人力资源的外包服务。作为甲方,可能我需要的不仅仅是一个人力资源的管理软件,而是一整套的管理服务,我可能希望你能帮我把招聘的事情搞定。所以从开发来讲,我觉得未来可能会走向这种云平台的开发。现在是属于传统平台开发和云平台开发的混合阶段,传统平台的开发更多一些,云平台开发少一些。

软件平台价值评论:平台阶段已经发展成熟了吗?

曹开彬:还可以吧。我觉得不能说完全发展成熟阶段,只能说接近成熟阶段。目前阶段,我觉得主要还有几个问题。首先就是产品。目前来看,基于平台开发的产品,成熟度上没有太大问题,已经经过了比较多的检验。功能等等其他方面也比较齐备。但是从目前的情况来看,用户的接受度和应用度我觉得相对还不太够。

软件平台价值评论:造成这种情况的主要原因是什么?

曹开彬:开发平台的建设是需要一个过程的。一般用户都会考虑,我是适应这个平台,还是使用之前我更加熟悉的技术?很多人可能因为更习惯于JAVA语言或者.net的直接开发。而如果要求他转到平台来做,可能对于开发者的开发习惯、工作方法都会有很多的影响。这样也就可以理解了吧,这需要一个说服教育的过程。从现在来看,我觉得比较关键的问题在于,推广和普及还不够成熟。除此之外,在产品本身,也还是需要进一步的完善。

软件平台价值评论:处在这种混合开发阶段,有哪些新的问题是开发者需要面对的?

曹开彬:我认为,一个很重要的就是,现在的平台开发,要更多的思考怎样在业务开发上做功课。现在很多的平台,还是最初那种更纯粹的技术平台,纯IT的东西多一些。但是,刚才也说了,我们共同面临这个互联网的时代。这个时代对于软件平台开发的要求,就是在往上走一点,要往结合业务的层面发展。这是未来发展非常重要的方向。

还有一个发展方向,就是怎样依托互联网进行开发,而不是采用现在常见的传统部署方式。用互联网作为一个开发平台,作为一个交付的工具,这一套开发的整个过程的开展,包括开发的实施、甚至到测试,到最终完成,都可以依托互联网来进行。

_ueditor_page_break_tag_

从差异化产品看技术区别

软件平台价值评论:刚才您也谈到了云平台,您对现在热炒的各种“XaaS”怎么看?

曹开彬:对于SaaS的认识,业界目前基本已达成一致,认为SaaS是将"软件作为服务"来提供。PaaS是在SaaS基础上衍生出来的概念,同理可以解释为将"平台作为服务"来提供。PaaS与SaaS都是侧重于服务,对厂商的服务能力有要求;而云计算更注重计算资源的共享。

软件平台价值评论:这三个概念哪个更大一些呢?

曹开彬:如果从产品的角度来看,我们可以更容易地辨别SaaS、PaaS与云计算的区别。SaaS应用的一大特点是直接面向最终的企业用户。Salesforce是SaaS领域最成功的企业之一,其推出的基于 Web的CRM解决方案正是典型的SaaS产品,可用于销售、服务、营销和呼叫中心运营等。

伴随着云计算的快速升温,Amazon、Google、IBM、微软等IT巨头都相继推出了云计算的相关产品。Amazon使用弹性计算云(EC2)和简单存储服务(S3)为企业提供计算和存储服务,收费的服务项目包括存储服务器、带宽、CPU资源以及月租费。IBM推出过包括一系列云计算产品在内的蓝云(Blue Cloud),使计算不仅仅局限在本地,通过架构一个分布的、可全球访问的资源结构,使数据中心在类似互联网的环境下运行计算。微软著名的Azure云服务平台,包括了Windows Azure;Microsoft SQL数据库服务,Microsoft .Net服务等主要组件,其主要目标是为开发者提供一个平台,帮助开发可运行在云服务器、数据中心、Web和PC上的应用程序。

SaaS(软件即服务)、PaaS(平台即服务)、云计算,这三个概念在软件领域被炒得火热。乍看之下,三者之间存在很多相似的地方,比如同是利用互联网来提供相关服务或应用,都是基于租用的模式,且同样是按需付费。但在表面的繁华之下,从技术角度来看,还是有很多各自的特点。

正是因为同出于发展初期,对标准的关注更显得重要,或将会影响这些技术未来的发展,甚至决定一些厂商的命运。就像前段时间的文档标准之争,尽管倪光南院士等人不停呼吁支持我们国家自己的文档标准,但因为微软的Office产品已成垄断之势,其文档标准基本也就成了事实标准。虽然很多厂商反对,但仍不得不让自己的产品去兼容微软的Office产品。

与当初的文档标准之争一样,对于SaaS、PaaS、云计算这几种技术,是先制定一个全行业可以普遍遵守的标准以便规范市场?还是让事实标准来说话?业界现在也存在很大争议。

对于PaaS、SaaS与云计算这三种技术未来会如何发展,业界也有不同的认识。

软件平台价值评论:您认为这几种技术之间是非此即彼的关系吗?

曹开彬:我不这样认为。我觉得SaaS、PaaS与云计算这几种技术之间会相互借鉴的关系。SaaS的发展催生了对PaaS的需求;PaaS的出现,则可以使得SaaS更加完善规范;而云计算与SaaS、PaaS的结合,可能会使得这个产业链变得更加完整。比如,当前很多SaaS厂商都是租用电信或移动的机房作为自己的数据中心,但这一传统模式有个缺点,即不够灵活。当SaaS用户规模急剧扩张时,数据中心不能及时做出响应,而如果SaaS厂商采用云计算厂商来提供网络资源,能够更好地解决这一问题。

我认为在2015年左右,由SaaS、PaaS、云计算共同组成的市场会逐渐成熟,提供不同技术的厂商之间携手合作的蓝图也将呈现。

_ueditor_page_break_tag_

完善真正意义的平台开发

软件平台价值评论:我们再来聊聊行业软件开发。您认为目前行业用户最大的需求是什么?

曹开彬:我认为还是要完善真正意义的平台开发。软件平台的概念可以追溯到早期的SOA(面向服务的架构),在云计算当道的今天,软件平台的涵义和功能也有了新的外延。

在电信行业,“烟囱式”的IT系统已经被业界诟病多年,如何打破业务系统“孤岛”,实现集中化的IT部署一直都是运营商长久以来的主要工作。云计算的出现加速这一目标的实现——通过云技术,IT资源得以高效复用,上层业务彻底脱离了底层硬件束缚,直接面向客户提供“随需取、可计量”的IT服务。比如运营商将针对创新型的中小企业推出按时计费的IDC业务,以此节省企业高昂的IT建设成本。

这种业务模式的创新离不开云环境下的软件平台,这一点在运营商近年来的IT系统搭建中得到了证实。不过,需要看清的是,尽管目前各地电信运营企业已经在不同程度上引入了“平台化”的IT建设思想,但是大部分的运营商为了解决其IT后台“多系统多项目”并行互通的问题,只将软件平台简单定位成了“中间件”,或是一套开发和运行的工具,这也造成了电信市场中“平台化”产品定义不清、功能模糊以及供应商竞争混乱的局面。

这种混乱也给企业带来了很多具体的问题。比如采用套装软件,尽管流程规范且标准化,但对操作人员的技术要求比较高,同时由于电信业务更新和变化的速度太快,迫使IT人员必须要建立很多的外部子系统;与定制软件开发商的合作,确实能够满足运营商个性化的业务需求,但也存在着交付时间太慢、软件不达标、上线问题多等弊病。

真正的软件平台是一个完整的体系,它作为信息化建设的新模式,将充分发挥其机能优势为企业信息化构建扫除障碍,并将大量复杂共性的软件技术集成封包,以实现更大范围的共享复用。这种共享复用不仅仅关乎项目代码,而是从需求、框架、架构、业务模块、引擎、测试等软件全生命周期的资产复用。

之所以很多企业会“看轻”软件平台,归根结底还在于企业内部的IT搭建制度。我了解到的数据,当前国内83%的大型企业在IT建设中只重视应用,IT建设项目都以“外包”形式委托给软件外包公司,由此带来的风险是每一个开发项目都需要消耗大量的人力、物力,从底层软件开发做起,并且不同项目之间也缺少必要的标准、共享以及复用。

这种完全放手给软件外包公司的行为,无形中也是放弃了项目的管控权,至于业务系统的功能性、上线时间以及成本控制等方面,恐怕只有等系统完成时才明了。

_ueditor_page_break_tag_

“软件平台”理念日渐普及

软件平台价值评论:要是软件平台的开发更加成熟,需要关注的最关键的部分是什么?

曹开彬:我认为最关键的还是要让用户明白,“软件平台”的真正意义。在不断的实践验证中,运营商也会逐渐意识到,过于追求标准化或个性化在实际操作中都是不切实际的。传统意义上的中间件产品,面对上层应用时还缺少必要的管理功能,因此软件平台的理念开始被国内运营商所接受。

据我的了解,目前在电信、金融以及能源等行业中已经出现了“平台化”的IT建设模式。普华、华为的产品线研发中心等企业正在通过“软件平台模式”,即建立统一的业务平台,集中承载企业关键业务,实现“以平台托应用,平台与应用并重”的IT建设方式,以此解决企业CIO们广泛关注的管理与控制、投入成本、上线时间、精细化,以及对业务创新的支撑能力等等难题。

统一化的软件平台思路与云计算强调的“虚拟资源池”理念不谋而合,同时又有别于传统的SOA理念和目前流行的“虚拟化”技术。

简单地说,软件平台相当于是横跨服务器和网络设备而搭建起的,面向应用软件的公共平台,上面聚集了具有普适性的公共能力,这些能力经过封装,可以面向所有上层应用开放。

软件平台最大的效用在于实现了硬件无关性,这也是软件平台可以更好地适应云计算环境的主要体现。比如在很多未经改造的运营商传统机房中,如果业务部署在IBM服务器上就要用到IBM的虚拟化能力,部署在HP服务器上就得采用HP的虚拟化技术,这种分割是从技术角度出发而非消费者角度。在未来,运营商需要所有的应用开发都能够快速部署,且无需再去关注底层平台。

这需要基于原有的硬件管理软件之上,再搭建一个软件平台,它能够调配异构设备间的虚拟化资源,自动化地完成资源调配,并将底层资源和上层应用进行关联,同时还能够提供应用相关的审计、安全、计费等服务。

软件平台价值评论:现在的企业级用户在选择软件平台的时候,会有越来越多的选择。您有什么建议可以帮助他们?

曹开彬:现在提供软件平台产品的厂商分为六大阵营。第一类是独立的平台提供商,以普元为代表,专业提供平台。这类平台产品的最大特点就是适应性好,同时具有很大的灵活性。第二类是领域平台提供商,以用友、金蝶很典型。这类产品的显著特点就是在某一个领域已经做的非常成熟,有长期的成功经验积累。第三类是行业平台厂商,这类厂商主要是指每个行业的系统集成商,诸如中软、东软等,这些厂商平台都有一个共同的特点,为自己行业客户所服务。第四类是基础软件平台厂商,像IBM,和上一层应用之间和业务之间结合度不会那么紧密。第五类是开源类厂商,现在有很多开源各种各样平台的环境,也有数据库和研发环境,提供开源平台服务。开源服务一个最大的优势就是成本低,但同时安全问题也一直是妨碍这类产品和厂商发展的一大难题。最后一类是PaaS云时代平台提供商。

我认为,企业级软件的选型过程中,有几个步骤非常重要:第一是需求,需求决定一切。第二是选型路线图,需求定了之后,该怎么样选型?第三是产品选型当中应强调比较模型,其中涉及到产品的比较模型,以及产品提供商比较模型。只有完全充分的考虑到了这些方面的问题,完成了整个选择步骤,才有可能找到最适合企业的软件开发平台。

相关阅读: