程序员人生 网站导航

梅宏院士:云计算之软件定义――思考和探索

栏目:互联网时间:2014-10-12 11:19:38

【CSDN现场报道】第六届中国云计算大会于2014年5月20-23日在北京国家会议中心拉开帷幕。本次大会立足实践,以国际化的视野,帮助与会者了解全球云计算技术的发展趋势;从应用出发,探讨交通、医疗、教育、金融、制造、数字娱乐等行业领域的实践经验;并通过技术专场、产品发布和培训课程等方式,深度剖析云计算大数据的核心技术。

在第六届中国云计算大会全体会议下午的演讲中,中国电子学会云计算专家委员会副主任委员,中国大数据专家委员会副主任委员,中国科学院院士梅宏的演讲主题是“云计算之软件定义――思考和探索”。他表示:经历了作为信息提供源的第一个阶段,互联网已迎来作为计算平台的能力提供新时代。云管理正全面实现软件定义,互联网在走向网构软件时代。

以下为演讲实录:

梅宏:谢谢主席,有这么一个机会在第六届中国云计算大会上作一次交流。大家看我这个题目就知道,这是从我的本行出发,从软件的角度来探讨云计算的发展。这里面有一些想法以及思考,可能也有很强的个人观点,和在座的同行交流。

我想分三个方面,首先我们来回顾一下云计算在过去几年所走过的历程;第二方面大家知道近两年比较热门的一个词叫软件定义,我们来看看云计算和软件定义的关系;第三部分,我想抽一点时间介绍一下我自己的团队在过去十几年围绕互联网计算所进行的探索。

我们都知道,在互联网时代带来了极大的创新,我们称之为一个创新的时代,有时候我们开玩笑说互联网时代每天频出的热点,大量出现的术语,不断的新术语的出现就凸显了这个时代一个创新的氛围。大体上讲,从早期门户网站、个人空间、到搜索引擎、到信息论坛,互联网早期所诞生的一系列东西。如果说从这个大泡沫的开始来看,我们把互联网的创新分成两个阶段,一个是大泡沫开始之前,从泡沫结束以后,最近十年的发展,比如说出现面向科技的网络运算,以及今天的主题云计算,还有上午大家谈到的物联网和现在比较热的移动互联网。前一段时间我们的创新主要还是把互联网作为我们的信息的提供平台,最新十年的发展,我们正在做的事情就是把互联网作为一个计算能力的平台。这是两个阶段。


中国电子学会云计算专家委员会副主任委员,中国大数据专家委员会副主任委员,中国科学院院士 梅宏

再回过头来看过去的云计算真正热潮开始,从亚马逊发布AWS服务开始起步的06年开始,到07年开始的iPhone的发布,过去的8年可以用风起云涌来概括,这个风就是大量的智能手机的出现,我们可以看到从过去8年到现在,我们在云计算方面已经形成了千亿级市场,我今天讲的主要是落在云的方面,而这个风就是iPhone带来了移动互联网的蓬勃发展。

真正的热潮是从06年开始,虽然现在有很多技术上的论证,我们能够找到早期也有很多关于云的影子,但是大家大体上的公认还是从06年开始,是由S3和EC2的发布开启了软件栈作为服务的新篇章,计算资源像水和电一样能够提供按需的使用,这也是我们公众所能感知到的,现在我们谈了8年的云计算的一个大体上的概念。

接着两年我们称之为众说纷“云”的两年,大家看到了太多关于云计算各种各样的定义,就像上午专家谈到的,前几年我们的云计算大会也是在不断讨论各种定义,有IBM的,有微软的等等,这些定义都是站在各自的角度,从自己的视角给了云一个定义。

到2011年,大体上以NIST有一个总结性的定义,把云计算称之为一个模型,该模型允许随地按需方便地通过网络访问共享的可配置的计算资源,从而达成了一个共识。

09年我们进入所谓云计算的沸点,大家都喜欢用这个图,到云计算走向热潮。如果我们发现中间在这个曲线上的很多术语,比如说Web服务、SOA已近成熟,而云计算走向顶峰,可以看到网格计算已经消失,这表明云计算已经成为互联网时代适合为更多的受众群体提供服务的主要东西,实际上云计算也涵盖了网格计算所能够提供的服务。

在2010年的时候,我们可以看到云计算几乎成为互联网计算一个代名词,开始覆盖到更多的领域,又演化出了私有云、云平台等等各种各样的形态。而这里面我们可以看到,服务计算以及相关技术从这个曲线里面消失了,实际上这体现出云计算已经成为服务计算的一个主要落地形式。

2013年,也许就是云计算规模化年,形成了千亿美元的市场,在中国已经有千亿人民币,全球是千亿美元。云计算成为产业的一个主流,但进入新的一轮发展周期,而云计算、大数据、物联网等正在形成概念以及技术上的共生融合,引起了业界的广泛关注。

如果从云计算出来到现在看看它的三个发展现状,一个是服务模式,随着云计算早期出现,有大量的服务模式出现,有一系列的XaaS,除了我们耳熟能详的IaaS、PaaS、SaaS等等,还有一系列的模式,至少展现了一种形态,就是说一切的方式都想通过互联网网络,我们以服务的方式向大众提供。

经过多少年的发展下来,大家看到云计算基本上呈现出三种大家公认的形态,也就是IaaS、PaaS和SaaS。

IaaS的形态相对明确,而且正在保持高速增长,占有较大的市场份额,当然这里面最重要的还是SaaS,在统计数据里面,SaaS里面还有其他XaaS的成分,实际上PaaS成分相对较小,这也意味着它还需要一定时间的培育和发展。中国的市场,目前来讲IaaS相对SaaS的市场份额应该是小的,未来市场空间仍然很大。

第二个方面,我们谈到部署模式,从公云、私云、社区云等等各种各样的模式,我们看到现在的状况是私有云热度正在超过公有云,混合云成为新的热点,各种混合云的解决方案和项目不断出来,但是社区云成功的案例并不太多。而移动互联终端和智能终端的大量出现,引发了云端融合的发展趋势,实际上云和端的紧密结合正在影响云计算新的一个部署模式的发展。

从技术方面我们可以看到,在整个左边体现出来的云计算技术相关的一个标签图,现在我们看到NIST总结了云计算的五大技术,按需自助服务、广泛的网络访问、资源池化、资源快速弹性扩展、资源可度量,一些云计算初期被谈及的技术现在已经很少谈及或者不再成为热点,现在的研究正在走向成形。这是关于现状需求。

如果我们透过这些服务模式、应用模式来看看它的技术需求,对于它的技术需求无外乎两点,一方面我们需要向上,为用户提供按需的服务,基于广泛的网络访问,按需自主服务。将软件的功能以服务的方式透过互联网进行交流,使得我们的用户可以只求使用,而不求拥有这样的软件。软件服务也是互联网软件最为重要的形态,其服务化的应用模式也只能通过软件和互联网的结合,才能够真正的实现。应该说,云计算已经成为互联网环境下主要的这么一种应用模式,而软件服务也就是云计算最重要的技术之一,我们所有的IaaS、所有的服务本质上都需要通过软件站来提供,这是一个需求。

第二个需求,我们需要对庞大的各种应用资源系统进行灵活有效的管理,包括资源池、资源快速弹性、可度量等等,因为我们要面对互联网上庞大的用户群体,也迫切需要软件提供高效灵活的管理,管理我们的计算资源、存储资源和网络资源。同样,我还需要基于这些庞大的共性资源提供面向不同需求的个性化定制能力,而在这几年可以看到有一个新词的出现正在成为云计算中间实现这种管理的一个途径就是软件定义,它希望软件定义网络,软件定义存储、软件定义数据中心。云计算的广泛应用使得我们需要一些专业设备能够被灵活管控。

这是回顾过去8年云计算的基本现状,我们来看看软件定义和云计算的关系,谈谈我对软件定义的理解。

所谓软件定义的兴起,大体上认为是有一个斯坦福大学的项目,在做项目的过程中所谓叫天地人互联网的模式,在这里他把传统的交换机进行了软件定义,就形成了OpenFlow,08年正式提出,2011年是用在云里面,被大家广泛接受,并迅速拓展到存储和其他的管理方面,进而发展到存储、数据中心等等。

我们来看看什么是软件定义?从本质上讲,软件定义是希望把原来我们整个一体化的一体式硬件设施相对拆散,变成若干个部件,然后把这些基础的硬件建立一个虚拟化的软件层,通过对虚拟化的软件层提供API,再通过管控软件对整个硬件系统进行更为灵活的管理,开放灵活、智能的管控服务。

软件定义两个基本的实现技术路径,也就是说硬件识别首先需要区别化,管理功能实现可编程。由硬件资源虚拟化的基础上,用户就可以编写程序,访问资源提供的服务,进而可以改变资源系统,满足应用对资源的多样性需求。所以说,本质上是通过虚拟化及其API暴露硬件的可操控成分,来实现硬件的按需管理。

我们来看一看软件定义如果从一个软件研究者的视角它是什么?实际上我们可以看到软件定义采用了很多技术,正是过去操作系统所体现的软件系统的这么一个设计实现的结果,所以说,从我们从事软件研究的结果来看,操作系统某种意义上体现了软件定义之集大成,什么是操作系统,操作系统管理计算机的硬件资源,控制程序运行,改善人机接口,为应用软件提供支持,向上提供公共服务,向下管理系统资源。如果说仅仅从一个计算机系统使用者的角度,我们可以看到,操作系统正是一台软件定义的计算机,但是我们计算机从硬件的角度,它只是裸机,如果没有操作系统,你只能使用机器语言、汇编语言的方式使用计算机,你的编程很困难、使用很麻烦,正是操作系统给我们提供了计算系统一个庞大的灵活性。

互联网时代,操作系统正在面临一些转变,传统的个人时代,PC机、网络系统,每个人每台机器是相对的,主要的运算系统都在本地,网络的目的只是为了强调互联。而在网络时代,互联网成为核心,PC功能成为网络的终端,网络成为计算和存储的中心,各种终端设备是作为网络的辅助交流工具,包括了智能手机、各种上网本等等。而在互联网时代,这样的操作系统要满足互联网的需求,就面临新的技术挑战,管理的资源从单机变成了整个互联互通,使得我们的资源复杂和海量。

第二个,应用的多元化,我们需要大量的新应用,像各种各样的互联网应用,从我们的论坛、邮件到各种服务等等,这些应用要形成,包括我们大量的视频服务,要形成一些共性支撑,同样这样庞大的共性集聚到互联网上,还得满足我们每个个体甚至每一个单位的个性化需求,共性和个性化。

应用模式是以服务的方式提供,对外要提供按需使用的模式,同时也支持用户要有不同的终端能够访问我的服务。所以,这样就构成了我们后期的云或者服务站点为服务端,以我们各种智能手机、PC等为终端的这么一个一体化平台。这就是网络时代互联网时代对操作系统的新要求,我们把它称之为网络化的操作系统。

所以从这个意义上讲,大家可以看到所谓的云管理平台本质上体现为一种新型的网络化操作系统,向下它需要管理调度大规模的网络化资源,虚拟计算、存储、网络和平台等,而向上就要支撑上面的运行在这个平台之上的各种应用,以服务化的方式对外交互。

当前,云管理相关的东西正在全面走向软件定义,首先云管理平台通过软件定义对网络化、规模化的各种资源进行高效灵活的调度,也是各种软件定义技术的一个综合展示平台。我们可以看到所有的软件定义计算、软件定义网络到软件定义存储等等,这个有很多关于这方面的研究。

我们也可以看到,如果说这样的云管理平台通过软件定义面临一系列的挑战,首先,你怎么样确定你被管控的硬件元素的合理力度,到什么样的力度是更合理的,并且针对这样的力度进行虚拟化以后,向上提供API,你怎么样界定一个软件定义的系统它的软硬件的功能划分,并且能够灵活的、更为方便的方式来组装配置相应的构成元素。

第二方面的问题就是系统质量问题。怎么样合理的平衡由于软件定义所带来的灵活性和通过各个层次的软件所带来的性能损耗的关系。通过软件定义实现它带来的复杂性,它有更复杂的东西,可能也会带来更大的故障率。同时,软件里面故障的定位也相对比硬件更为麻烦,这些问题怎么解决。

第三个方面,怎么样能够把系统的能耗通过软件管理进行适当的降低。我们说硬件解决哪怕低功耗的硬件,最终从系统层面还得通过软件管理来减少能耗。第三个方面的问题就是互操作的问题。由于在云环境中间,特别是私有云环境中间,我们存在着不同厂商提供的同类异构设备,怎么样能够巧解这些设备之间的异构性,形成同一个平台,这也是需要软件定义去解决。所以,这是我讲的第二部分,关于云计算式软件定义。

最后,我想讲一下从软件角度围绕互联网计算进行的探索。我们说互联网带来了技术和应用创新,可以看到从2000年以来,人们心目中都希望把互联网看成一个全球的计算平台,在这个意义上讲,也正在形成新的软件产业的形态,就是面向互联网的软件产业。我们从软件的角度希望把互联网看成一个全球泛在的计算机,来探讨它上面的软件应该是什么样子的。

技术方面,怎么样利用以互联网为核心的多网融合,实现高性能价、高效能、高可信的信息化技术。应用方面,如何利用以互联网为核心实现成本控制。

互联网的出现就是一种新的形态,这种形态从它的几个信息,这样的软件首先需要每一个实体的自主能力,实体之间的关系,实体之间协同之后产生的自发性和在线演化能力,所以它体现了按需构造协同行为模式。按照领域社区或者说社会网络的组织模式,以及基于复用、知识驱动、自底向上从无序到有序螺旋成长的系统开发模式,我们需要把过去一个以信息提供为主的网络变成以提供软件能力、计算能力为主的互联网。

从软件质量到软件开发、软件运行、软件范型几个方面,互联网都面临着一系列的挑战。所以,我们认为在互联网时代,需要一种和过去不同的软件范式。我们可以看到未来要进入所谓的网构软件时代。要构造一个网构软件的硬件平台,采用网构软件的思想和理论来演示操作相关平台,支撑互联网的技术。这是我们近期的工作,围绕网构自身平台进行了一系列的探索,从云资源、端设备到物理资源的管理与虚拟化,虚拟资源的管理及编程方向,到上面支撑各种各样的应用。应该说向上面向需求提供服务,向下面对资源提供管理,其中包括IaaS、PaaS、SaaS一系列的支持服务。

我们有一个IaaS平台,称之为燕云,面向云计算的网络操作系统。这是我们现在系统做的一些工作,已经在很多行业进行的相关应用,最核心的是基于北大的运行时模型构造。

第二个,围绕这样的服务端,我们构造一个面向云端融合的运行支撑框架,就是通过移动互联网驱动云计算和智能终端正在开始工作,所谓的云端工作。已经构建了一个运营框架,可以为用户提供移动应用编程模型和框架,非侵入式的把web应用转化为移动应用,满足在移动终端上访问用户的要求。

PaaS平台我们提供了一个软工服务集成环境,已经部署了很多的服务,现在主要用于科研相关的工作,特别是软件工程相关的工作。进而构建了一个大规模弹性分布式的调度与编程框架,面向大数据的使用,支持作业的云化部署、透明分布、按需并行、动态伸缩、自动容错,把传统语言与新语言结合到一起。

再一个是SaaS层面,围绕我们自己的领域构建软件工程,面向公共的科研服务和知识共享,对软件工程设计各个方面的知识,以及软件开发所需的各种服务提供了在线集成,包括软件百科知识相关的论坛、相关的博客等等,有一个软件构建资源库。

从数据服务层面,收集国际主要开源社区的软件过程数据,对外提供数据的研究。再一个就是把知识相关能力结合起来,特别是结合了现在大数据时代,怎么把数据提炼为知识,从知识的需求,按需动态来实行个性化的知识服务,涉及到知识的建模、知识的提取、知识推理、智能问答。

这就是我今天要讲的主要内容,三个方面。最后因为时间有限,我们团队的工作只是把这几个层面的东西作了一个简单介绍,有兴趣的我们可以在以后通过别的渠道,通过网站进行了解北大团队相关的工作。谢谢大家!

更多精彩内容,敬请关注第六届中国云计算大会专题报道,关注新浪微博直播 @CSDN云计算。

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐