APP下载

云计算之软件定义——思考和探索

2014-08-08梅宏

中国信息化周报 2014年23期
关键词:定义软件服务

经过这些年的发展,目前云计算基本上呈现出三种大家公认的形态,也就是IaaS、PaaS和SaaS。

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

云计算呈“三分天下”态势

云计算真正掀起热潮,应该是从亚马逊发布AWS服务开始起步,到2007年开始的iPhone的发布,过去的这8年可以用风起云涌来概括,风起云涌的“风”就是大量的智能手机的出现。从过去8年到现在,我们在云计算方面已经形成了千亿级市场。尤其是iPhone的发展,带来了移动互联网的蓬勃发展。

虽然具体到云计算这个概念本身,现在有很多技术手段的论证,可以说明它在2006年前就已经诞生,并且也能在计算机的很多领域找到“云”的影子,但目前学界公认,云计算开始受到重视并被公众熟知,是从2006年开始,因为亚马逊的EC2和S3的发布开启了新篇章,计算资源就像水和电一样,能够为用户提供按需使用。

接着两年是众说纷“云”的两年,有太多关于云计算各种各样的定义,有IBM的、微软的等,这些定义都是站在各自的角度,从自己的视角给了云一个定义。

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

2009年进入云计算的沸点,可以看到传统的网格计算已经消失,这表明云计算已经成为互联网时代适合为更多的受众群体提供服务的主要东西,而实际上云计算也涵盖了网格计算所能够提供的服务。

在2010年的时候,云计算几乎成为互联网计算一个代名词,开始覆盖到更多的领域,又演化出了私有云、云平台等各种各样的形态。此时,云计算已经成为服务计算的一个主要落地形式。

2013年应该是云计算规模化年,形成了千亿美元的市场,在中国的市场规模达到千亿人民币,全球是千亿美元。

云计算出现之后,大量服务模式相伴出现。但经过这些年的发展,目前云计算基本上呈现出三种大家公认的形态,也就是IaaS、PaaS和SaaS。

目前IaaS的发展形态已相对明确,而且还在保持高速增长,占有较大的市场份额。但这里最重要的还是SaaS,并且在统计数据里面,SaaS里面还包括其他XaaS的成分。三种形态中,PaaS成分相对较小,这意味着它还需要一定时间的发展。

就中国市场而言,IaaS相对SaaS的市场份额还是较小,这意味着它未来的市场空间依然很大。

软件定义和云计算的关系

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

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

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

软件定义采用了很多技术,从我们现在从事的软件研究的结果来看,操作系统某种意义上体现了软件定义之集大成。仅仅从一个计算机系统使用者的角度,操作系统正是一台软件定义的计算机,计算机从硬件的角度看只是裸机,如果没有操作系统,你只能使用机器语言、汇编语言的方式使用计算机,编程很困难,使用也很麻烦,正是操作系统给我们提供了计算系统庞大的灵活性。

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

其次,应用的多元化。我们需要大量的新应用,这些应用的形成,要形成一些共性支撑,庞大的共性集聚到互联网上,还得满足每个个体甚至每一个单位的个性化需求。

应用模式是以服务的方式提供,对外要提供按需使用的模式,同时也支持用户要有不同的终端能够访问服务。所以,这样就构成了后期的云或者服务站点为服务端,以各种智能手机、PC等为终端的一个一体化平台。

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

围绕互联网计算进行的探索

互联网带来了技术和应用创新,从2000年以来,人们心目中都希望把互联网看成一个全球的计算平台。互联网也正在形成新的软件产业的形态,就是面向互联网的软件产业。

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

从软件质量到软件开发、软件运行、软件范型几个方面,互联网都面临着一系列的挑战。所以在互联网时代,需要一种和过去不同的软件范式。未来要进入所谓的网构软件时代,要构造一个网构软件的硬件平台,采用网构软件的思想和理论来演示操作相关平台,支撑互联网的技术,围绕网构自身平台进行了一系列的探索,从云资源、端设备到物理资源的管理与虚拟化,虚拟资源的管理及编程方向,到上面支撑各种各样的应用。

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

目前,我们有一个IaaS平台,称之为燕云,是面向云计算的网络操作系统。

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

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

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

(以上内容系根据梅宏院士在“第六届中国云计算大会”上的演讲整理而成)

endprint

猜你喜欢

定义软件服务
禅宗软件
服务在身边 健康每一天
软件对对碰
服务在身边 健康每一天
服务在身边 健康每一天
招行30年:从“满意服务”到“感动服务”
成功的定义
谈软件的破解与保护
修辞学的重大定义
山的定义