全德信息技术战略公开研讨会 报名通知

全德信息技术战略公开研讨会综述报告

在风和日丽的夏秋之交,来自德国、法国等50多位信息技术领域的资深华人专家、中青年学者,在风景宜人的德国海德堡市进行了为期两天的高水平研讨会。参加会议的人员大都是来自IT企业的资深研发专家、战略发展负责人以及科研、教育单位的研究人员,中国驻德使馆教育处的有关官员也参加了这一研讨会。

德国乃至欧洲信息技术发展的现状如何?战略发展的准备和前景是什么?面对最新的信息技术的发展,我们能对中国的信息技术发展建言什么?这些问题是贯串会议的主题。

会议共宣读了近二十篇高水平的论文,论文的内容基本概括了德国乃至欧洲的IT战略现状及发展方向。各方人员就论文的内容进行了热烈的讨论。讨论不时碰擦出思想上的火花,为形成一条把握IT发展的主线带来了灵感。为此,学会主席周盛宗还额外组织了一次总结大会。大会一致认为,有必要将这次战略研讨会主要观点和主要思想总结整理出来,对国内快速发展的信息技术行业汇报德国的IT发展新动向并提出我学会独立的看法和建言,为祖国的信息技术发展做出一份奉献。

1、云计算的战略现状及发展前景

“合久必分、分久必合”,用这句千百年来政治形势发展的经典名言来描述近几十年的IT行业发展是最为恰当不过的。八十年代以来,以PC机和工作站出现为代表的发展,使计算机的应用从大型机中独立了出来,信息技术得到了迅速发展和普及,也促进了世界范围内互联网的发展,这一段“合久必分”的时期是信息技术发展的革命性阶段,必将在IT发展历史上留下重要的一章。

随着互联网的深入发展和信息技术的成熟,不少有识之士一直在呼唤“分久必合”的时代的到来。最新的有可能促使这一时代到来的技术便是云计算技术。云计算技术的实现,“分久必合”的时代到来,其革命性的程度将不亚于“合久必分”时期。那么,到底什么是云计算?云计算有什么应用?这中间是否有炒作在起作用,甚至有陷阱之嫌?这一论题是本次战略研讨会的重点之一。

1.1 云计算的定义和基本特点
虽然,云计算是一个非常热门的话题并被认为是一个非常有技术和商业发展前景的一项技术,但它的定义却不是那么的清晰。一般认为,云计算是指通过网络作为服务的超大规模的、按需的、易扩展的、高可靠性的、虚拟化的资源进行的计算方式。同时,它也是IT基础设施的交付和使用模式。提供所需的资源(硬件、平台、软件)的网络服务被称作“云”,其原因在于,通常在设计或演示中,网络资源是用云形图来表示的。

初次接触云计算的概念,似乎并无多大新意,因为它与传统信息技术所追求的目标是一致的。但是只要深入研究就会发现,云计算的内涵却是传统信息技术所无法比拟的。我们可以以用电这样一个例子来说明云计算与传统信息技术的差别:在传统信息技术中要求的是类似于每个用户需要自己配备供电设备来消费所需的电能,这样用户必须要根据自己所需的电量来对所需的发电机进行选型,并要配备专业人员来管理和维护供电设备。而云计算中则相当建立了一个大型的发电厂,用户可以不必考虑配备专业人员、也不必担忧电能的消耗状况,直接插上电源就可获得所需的电能。

通常,云计算系统必须具有以下特点:
1. 超大规模的存储空间,用于存储海量的数据。以前的考虑是针对某一具体应用,现在却是面对大量的客户群,需要提供不同的应用服务。这就类似于,以前考虑的只是一台发电机满足特定的具体用户的用电需求即可,而现在则是一个大型发电站,考虑的是对整个城市的不同用户用电需求。

2. 要求具有可扩展性,即scalability。事实上,比可扩展性更为重要的是系统可伸缩性或者弹性(elasticity)。有一个很好的例子能够说明这一问题:著名的网站Facebook里面有个制作视频的插件Animoto,登台亮相之初,宾客盈门,后台服务器在三天内,从50台一下子猛增到3500台。热闹了一阵子以后,宾客热情消退,门可罗雀,根本用不了3500服务器。
对于一个网站服务的提供者,往往有以下的恐惧:流量猛增时,担心后台计算和存储资源不够,从而失去市场。流量下跌时,担心后台资源过剩,浪费资金。
据美国专家Jim Gray的统计,企业私有自用的机房,使用效率通常只有5%到20%。为什么机房使用效率如此低?为什么不减少机房内服务器的数量?因为高峰期对服务器的需求,经常比平均需求高出2到10倍。而云计算提供者因为有规模化作为支撑,能够很好地优化资源,实现可扩展性和弹性的要求。这就相当于对于一个耗电不稳定的用户来说,如果自备发电机,则是一个非常头痛的问题:为了要满足高峰期的要求,他必须得配置一个比通常需求要大得多的发电机,而这台发电机平时大部分时间是闲置的,浪费资源浪费效率。如果,用户把这个问题交给大型发电厂甚至大型电网,问题就可以得到满意地解决。

3. 要求要有高度的可靠性(reliability)。云计算的设计者在设计这个集群的时候,必须保证不能因为个别机器死机,导致整个系统的崩溃。也就是系统的稳定性要好。一个有高度可靠性的云计算系统,对于用户来说是非常有吸引力的。一个对系统稳定性有高要求的用户来说,他必须要花很大精力来考虑与他本身应用以外的事,即如何维持系统的稳定。这犹如需自备发电设备的用电客户,必须采购高稳定的发电机,同时他必须还要备用发电机以防不测,这样既浪费精力也浪费资源。如果云计算系统能够替用户解决了系统稳定问题,则用户可以只关注他自己的应用,而不必浪费精力去关心维护系统稳定的问题。

4. 云计算系统高度虚拟化及通用性。众所周知,由于历史的原因,许多应用软件是在某一个特定的操作系统下写成的和运行的。许多用户本身就是软件的开发者或应用开发者,他们需要云计算系统能提供者能提供相同的操作系统平台。但问题是,如果云计算系统提供给用户操作系统的平台,一旦由于用户的有意或无意在其程序的错误而引起操作系统的崩溃,此时,是否能不致于整个机器的崩溃或不至于破坏其它客户的程序运行,不至于损坏其它客户的文件?当然最简单的办法是,不同的客户分配不同的机器,井水不犯河水。但这种办法浪费的资源却是相当惊人的。成千上万的客户将要配备成千上万套机器,更何况很多客户并不是天天24小时都在利用系统,配备了的成千上万套机器绝大部分的时间必定是空闲着。为了解决这一问题,虚拟化系统便因运而生。虚拟化系统能使同一台机器上运转多套不同的操作系统而相互不干扰,某一操作系统的崩溃并不影响其它系统的运转。解决虚拟化问题,Xen和VMWare提供了实现这一目标的技术解决方案。

5. 云计算系统是一个庞大的资源池,可按需购买。另外,云计算系统可以采取特殊容错措施保证用极其廉价的节点来构建系统。云计算的自动化集中式管理使大量企业无需负担日益高昂的数据中心管理成本。由于云计算上述的超大规模性、可扩展性、高可靠性以及通用性使资源的利用率较之传统系统大幅提升,资源可以得到充分的优化,所以用户可以充分享受云计算的低成本的优势。因此,能向客户提供极其廉价的服务是云计算的特点之一。


1.2 云计算的基本技术

如何构建云计算平台?云计算的基本技术是什么?云计算平台的基本思想,可以简单概括为,设计一套操作系统,同时管理多台电脑,尤其是把多台电脑结合起来当作一台超级电脑使用。在此以Google技术为例来说明云计算的基本技术:

1. Google File System(GFS):
这个文件系统把多个电脑的硬盘组合起来,形成一个超大规模的硬盘,用来存储海量数据,同时保障万一有某些硬盘崩溃了,不至于遗祸整个系统。

2. MapReduce:
在多个系统作为一个系统来使用时,如何解决并行计算问题?MapReduce就是Google解决并行计算的一项技术。

3. Chubby lock service:
电脑操作经常要用到制锁机制,譬如用制锁防止两个进程同时向同一个文件写数据。Chubby lock service就是Google推出的技术,在由多台电脑组成的分布式系统中,集中管理制锁的机制。

4. BigTable:
BigTable要解决如何实现分布式数据库,同时也可以把它看成范例,如何正确使用Chubby锁机制,和GFS文件系统。
5. Google cluster architecture:
各个组成部分完成以后,如何组建一个计算中心。Google cluster architecture主要解决的就是这个问题。

有意思的是,对比一下传统的单机操作系统,如POSIX,Google云计算基本技术就是提供一套云计算的操作系统,其中,GFS可以理解为云计算版的文件系统,MapReduce是云计算版的进程管理,Chubby是云计算版的synchronization。但如果对比Google公开的云计算技术与传统的操作系统,Google云计算未公开的恰恰是下面两项:
1. Memory management
2. Scheduling
因为Google没有发表这两个方面的技术,可以有理由认为Google视其为云计算的核心机密,所以才没有公开发表。
值得庆幸的是,如果想构建一个云计算平台,不必从头编写程序,完全可以利用开源项目的现有技术。例如:Hadoop是一个开源项目,把前面提到的几个Google式云计算技术,用Java实现了。

1.3 云计算提供的基本服务

云计算提供的基本服务,或者说云计算的目标客户可以按应用等级由低而高分成以下几类:

1. Data-storage-as-a-Service(dSaas):