黄罡:云端融合 云计算3.0及其自主创新与实践

27.01.2015  18:06

  2015年1月18日,由北京大学信息化与信息管理研究中心和北大CIO班教务办公室联合主办,CIO时代网承办、北达软协办的“第五届中国云计算应用论坛”在北京大学成功举办,此次论坛以“云计算的转型与创新”为主题,将近200位专家学者、行业代表、优秀CIO们就云计算的技术、架构、建设与应用等一系列的问题展开了讨论,理论与实践结合,思维上再次擦出新的火花 。


      北大软件所副所长黄罡先生在下午的论坛中为嘉宾们带来了题为《云端融合:云计算3.0及其自主创新与实践》的主题分享,他在分享中谈到:云计算是新一代IT的引擎,从技术上属于网络计算,根据应用需求将计算和数据分布到多台联网计算机,云计算已经走过了1.0时代与2.0时代,未来3.0时代会有更多的发展机遇。黄罡先生的深入浅出的演讲深深的吸引了在场的每一位嘉宾,赢得了大家的热烈掌声。以下为演讲实录:


北大软件所副所长 黄罡

      各位嘉宾,大家下午好!


      非常高兴跟大家分享过去一年里我们对于云计算战略研究的成果,关于云计算,对云的认识,我这里的汇报更多的是代表了学术界,或者是技术的角度的观点。今天上午从应用角度看待很多问题,其实从技术角度也是一样的,我也非常高兴能在上午很多专家解释了云计算的应用前景以后,我再来讲技术上的创新。


      整个报告是两个关键词,一个是云端融合,一个是自主创新与实践,主要是我们过去几年里在科研层面的一些成果。我的报告分为三个部分,首先给大家介绍一下,从技术的角度看,过去云计算十年走过了1.0和2.0时代。


      首先,云计算是新一代IT的引擎。互联网以及移动互联网和物联网之上,核心一定是云计算,云计算上再长出移动计算、泛在计算、大数据,去支撑新一代信息产业,还有现代服务业、现代制造业。在这里,今天早上宁主任讲的云计算,是电厂、电线和电器模式,这是我非常认同的。云计算已经有了美国NIST给出的定义,从学术的角度看,我们认为云计算就是经典的网络计算。计算机出来以后,从单机时代到了网络时代,把应用的数据和代码分布到联网的计算机上,协同去完成各种计算任务。


      贝尔定律是1972年提出来的,计算设备每十年换一代,为什么换一代呢?是使用模式、成本显著的下降,这一代比上一代在用户数量翻十倍。经过统计,确实过去这么多年,大型机、服务器到PC、互联网终端,到移动互联网终端、可穿戴设备,基本上是遵循这个规律的。遵循这个规律的前提下,再来看网络计算是什么,就是把这些计算设备通过网络连起来,让它无处不在,同时还希望它跟后台的计算机连起来,就是泛在化。另外一个概念,集中化,从集群到网格,到云,强调的是计算能力追求更快更强,泛在化追求的是更多更好用。


      今天来看,云计算是很了不起的,2006年底谷歌提出了云计算这个词,现在我们回过头来看,确实那个时候大家是人云亦云,众说纷纭,是概念探索期。因为云计算和网格、和今天看到的天河计算机这种超级计算机都是不同的,网络计算集中化的理念发生了转变,从更强到更易,这本身是一个观念上巨大的转变,这是所谓的1.0时期。


      我们简单看一看,包括亚马逊,这个时候主要的模式是以公有云模式为主,着力提供面向公众的基础设施服务,主要用户是具有计算机知识的专业人员,以自助方式使用计算和存储资源。


        云计算发展的根源在于信息技术变革,学术界追求了这么多年的更快更强,从一九四几年开始,计算机所有的经典理论、模型、原理,包括摩尔定律,都是所谓的技术驱动的渐进式改进,将遇到重大障碍。摩尔定律在现有CMOS技术和工艺下仅能维持到2020年,2020年实现E级计算,由于功耗问题也实现不了,2020年40ZB的数据难以使用现有技术及时有效处理,复杂性控制、可信性、语义等问题,如果信息技术不进行根本性的变革,没法玩了。


      发现这个问题以后,学术界做了两个努力:第一个,质变,改进或替换图灵机、布尔电路,二进制等等,这些确实给我们带来期望,但是目前的共识是,量子通信推到了2030年,量子计算机推到了2040年,至于分子计算可能得到2050年,这是科学上的问题,本身就不具备确定性,这条路目前来看,有希望,孕育着变革,但是至少在2040年以前,估计普通老百姓看不到,都是在实验室里面。


      另外一条思路,量变引发质变。互联网聚合现有IT资源,形成一台全球泛在的巨型计算机,最终突破现代计算机数学与物理基础的限制,具体包括网络资源的聚合,计算资源的聚合,数据资源的聚合,用户资源的聚合,回过头来看过去十几年,基本上是按照这个思路,我们现在说泛互联网就是网络资源的聚合,云计算是计算资源的聚合,大数据是数据资源的聚合,社会网络是用户资源的聚合,未来还会有各种的聚合。我们看出来云计算本身是有它自己的科学或者技术发展规律的。


      回过头来顺便讲一下,2006年到2010年是概念探索期,也可以认为是概念炒作期。2010年的时候,云计算几乎成为互联网计算的代名词,已经看不到其他的词了,在2009年的时候,还有服务计算,2006年还有网格计算,但是这些后来都没有了,因为网格计算和服务计算实际上都已从Hype Cycle中消失,因为网格计算服务模式差。


      过了概念探索期以后,经过头五年的概念探索,进入了技术验证期,概念想明白了,确实要上云计算,怎么做呢?这个时候就出现了技术上的转变,网络计算集中化的技术发生转变,从管理到服务。服务一出来以后,对于资源管理的要求和技术挑战就完全不同了。在这个时期,各家,包括今天听到的很多企业,都在从自己的角度想这个技术应该怎么做。我们也看到,这是2011年美国国家标准技术研究所发布的云计算定义。


      这个时候的技术重点已经不是虚拟化了,而是怎么把大规模的虚拟资源管起来。这时候的应用方式和用户跟前两年不一样了,一般的老百姓都可以开始使用像云存储、云主机等云服务。这个时候得出来的共识是,云计算的两大核心技术就是服务和管理。首先,与以往网络计算集中化以硬件资源管理为核心不同,软硬件资源虚拟化降低用户成本与使用门槛,硬件资源虚拟化屏蔽硬件管理复杂性与异构性,管理功能可编程满足上层服务的个性化管理需求。应用部署容器化实现应用跨云平台的移植性。这里面有一个很有趣的东西,我们发现,经过十年以后,云计算概念探索期炒作的一些所谓云计算核心技术没有了,如multi-tenancy,今天这个已经没有用了,为什么?因为今天所有云服务基本上都改成了Saas模式,所有没改的都是不需要的,所以今天这个概念已经没有人再谈了。


      下一个十年干什么呢?我们这里有一个很形象的比喻,1.0时代类似于春秋,就是各种想法百家争鸣的时代。2.0时代,理念想清楚了,就是看谁强了,相当于战国争霸。接下来是什么,很自然的,大秦统一天下,确实也是这样。


      首先,云计算的计算模式,应用模式已经得到了共识,这是1.0时代解决的问题。第二,核心技术,2.0时代就是服务加管理,到今天上午大家讨论的时候,大家考虑怎么在应用繁荣期让云计算变得更好。大家可以看一下,云计算1.0和2.0是在服务器那一端进行网络计算集中化,接下来是集中化和泛在化要开始合二为一。


      接下来花一些时间跟大家分享,为什么云和终端的融合开启了云计算3.0。这个我们叫Phone起云涌,2006年亚马逊发布了AWS,2007年1月,苹果发布了iPhone,2007年11月,谷歌发布了安卓,这个时间上,非常有趣。更有趣的是,去年的时候,他们两个同时都达到了上千亿的市场。


      包括今天大家看到很多移动APP,一定是移动互联网加云计算,但是这中间,风起云涌挑战企业传统信息化。去年有一个中国企业级移动应用行业白皮书,说2014年中国企业级移动需求量20万个,行业规模近300亿元,实际完成不到2000个App。


      我们接下来看几个数据,非常有意思。第一,大家普遍认为移动化是很简单的事情,92%预算低于50万,实际上这对于一个企业应用来说,是非常简单的。同时我们看到,在这些项目里面,47%的项目开发周期超过了6个,实际上对于企业应用来讲,是比较大的工程。最后,他们还有一个具体的调研,很多传统企业都希望能够在1个月甚至更短的时间内完成项目,实际上3个月以上才能打造出一款基本的东西。我们发现这中间很大的冲突。


      具体看,这是招商银行刚刚发布的,他号称自己这个花了2706人天,作为招商银行的移动版。这个我相信大家看着就更熟悉了,这是某个市政府的办公信息移动化系统,就中级开发者,4人120天,仅支持安卓。


      为什么会这样?大家都在说移动互联网很简单,APP这么小的玩意儿,为什么花这么多时间在做?还有一个数据,企业级移动应用目前来说,大部分是在原有的信息系统上长出一个移动端来,完全建立一套纯移动的信息系统只有23%。


      经典的企业信息系统基本上就是用三层结构,数据、业务、表现,我们只需要把表现层稍微改一下就行了,这就是做前端,但是实际上从技术的角度,不是这么回事,为什么?因为我们用了大量的框架,这些框架让我们编程变得很简单,但是这个程序基本上是代码生成,导致本来很清晰的三层结构全部混淆在一起,这个时候必须要重写表现层和业务层,数据那一层是可以复用的。


      这就导致什么问题呢?第一,必须100%理解原来的系统,而不仅仅是表现层,大家想一想,很多源码缺失,原有团队缺位,很多个性化定制的系统原有的公司都倒闭了。


      第二个痛点,必须100%重写代码,而不仅仅是表现层。修改现有系统代码,重写一套全新代码。


      第三个痛点,必须100%评估风险,而不仅仅是无缝升级。架构、流程、性能、稳定、安全、人员、时间、成本等等方面的风险。


      当然还有更多的痛点,我就不再仔细的讲了,包括我们做出移动APP以后,在你的手机是不一样的,尽管现在四核、八核很多,大部分还是中低端的手机。另外一方面,云计算现在最大的瓶颈就是网络负载,在我国更是费用太高。


      我们所有的东西都丢到云里去,想用什么就在云上下,这个时候你的网络也受不了,这个时候应该根据你的业务需求,根据你的计算需求,根据网络流量,到底哪部分的数据和计算放在手机上,还是放在云。有些数据我希望永远锁在手机上,有些企业的敏感数据,永远锁在云里面,还包括要把各种各样的智能终端的传感全部合在里面。这个也是一个非常关键的,我们今天做一个移动APP,除了把原来的系统变成移动化,更关键的是我希望能够用手机上其他的资源,我还希望把12306、顺丰、淘宝的应用集成。


      这是偏学术的,从学术的角度看,这是经典的应用,还是三层结构,只不过是MVC结构来表示。在今天的移动互联网和云计算框架下,软件根据设备特性、用户偏好、使用场景、资源现状等情况,按需使用和调整终端和云端的计算、存储、网络、电力等资源,本质上云计算管理与服务从云向端自然延伸,即云端融合。


      Gartner发布的2014年、2015年十大战略性技术趋势里都提出了云端/客户端的架构。


      斯坦福大学的 McKeown等十余位教授联合承担的美国自然基金首批重大项目POMI,针对云和端的网络通讯和资源共享,提出OpenFlow解决网络资源的可编程管理。另外北大也参加了欧盟的项目,主要是解决这些应用怎么能够自动的交互,并且根据运行环境的变化而变化。


      云端融合生态系统,面向领域的应用与服务按需开发、部署、运维。


      这是简单的对于云计算发展三阶段趋势的总结。


      最后一点点时间,大概的说一下,我们这一块儿,中国的学者2000年前后提出软件新范型,比如说我们现在做了一套支撑平台“燕风”,把已有的Web系统自动封装成一组API,供新的APP或微信调用和集成。达到的效果是什么呢?只需要理解系统的使用,代码只要重写表现层代码,而且更关键的是对原有系统来说是外挂式的,不产生任何风险。


      具体的案例我这里就不讲了,刚才的那个,我们2人10天就完成了,1.5人天就新增了微博、在线、舆情系统。这是混合云管理系统“燕云”,我就不具体讲了。


      谢谢大家,主要是跟大家分享了一些云端融合的想法,谢谢!

来源: