云端融合:云计算3.0时代下的自主创新与实践
发布日期:2016-3-4 15:3:39
日前,“第五届中国云计算应用论坛”在北京大学成功举办,北大软件所副所长黄罡先生基于技术的创新的角度,带来了名为《云端融合:云计算3.0及其自主创新与实践》的主题分享。 整个报告有两个关键词,一是云(如阿里云)端融合,一是自主创新与实践。 北大软件所副所长 黄罡 云计算3.0时代——集中化和泛在化开始合二为一 下一个十年干什么呢?我们这里有一个很形象的比喻,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%。 云计算——新一代IT的引擎 首先,云计算是新一代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模式,所有没改的都是不需要的,所以今天这个概念已经没有人再谈了。 云端融合生态系统,面向领域的应用与服务按需开发、部署、运维。 我们所有的东西都丢到云(如阿里云)里去,想用什么就在云上下,这个时候你的网络也受不了,这时应该根据你的业务需求,根据你的计算需求,根据网络流量,到底哪部分的数据和计算放在手机上,还是放在云。有些数据我希望永远锁在手机上,有些企业的敏感数据,永远锁在云里面,还包括要把各种各样的智能终端的传感全部合在里面。这个也是一个很关键的,我们今天做一个移动APP,除了把原来的系统变成移动化,更关键的是我希望能够用手机上其他的资源,我还希望把12306、顺丰、淘宝的应用集成。 这是偏学术的,从学术的角度看,这是经典的应用,还是三层结构,只不过是MVC结构来表示。在今天的移动互联网和云计算框架下,软件根据设备特性、用户偏好、使用场景、资源现状等情况,按需使用和调整终端和云端的计算、存储、网络、电力等资源,本质上云计算管理与服务从云向端自然延伸,即云(如阿里云)端融合。 Gartner发布的2014年、2015年十大战略性技术趋势里都提出了云端/客户端的架构。斯坦福大学的 McKeown等十余位教授联合承担的美国自然基金首批重大项目POMI,针对云和端的网络通讯和资源共享,提出OpenFlow解决网络资源的可编程管理。另外北大也参加了欧盟的项目,主要是解决这些应用怎么能够自动的交互,并且根据运行环境的变化而变化。 云端融合生态系统,面向领域的应用与服务按需开发、部署、运维。这是简单的对于云计算发展三阶段趋势的总结。 网络负载——目前云计算最大的瓶颈 经典的企业信息系统基本上就是用三层结构,数据、业务、表现,我们只需要把表现层稍微改一下就行了,这就是做前端,但是实际上从技术的角度,不是这么回事,为什么?因为我们用了大量的框架,这些框架让我们编程变得很简单,但是这个程序基本上是代码生成,导致本来很清晰的三层结构全部混淆在一起,这个时候必须要重写表现层和业务层,数据那一层是可以复用的。 这就导致什么问题呢?第一,必须100%理解原来的系统,而不仅仅是表现层,大家想一想,很多源码缺失,原有团队缺位,很多个性化定制的系统原有的公司都倒闭了。 第二个痛点,必须100%评估风险,而不仅仅是无缝升级。架构、流程、性能、稳定、安全、人员、时间、成本等等方面的风险。 第三个痛点,必须100%重写代码,而不仅仅是表现层。修改现有系统代码,重写一套全新代码。 当然还有更多的痛点,我就不再仔细的讲了,包括我们做出移动APP以后,在你的手机是不一样的,尽管现在四核、八核很多,大部分还是中低端的手机。另外一方面,云计算现在最大的瓶颈就是网络负载,在我国更是费用太高。 本文整理自CIO时代网:http://www.ciotimes.com/cloud/czjgd/98045.html
|