百度等企业在其云计算平台中均使用了自己开发的分布式文件系统,百度、中国移动、阿里巴巴等企业使用基于开源软件Hadoop的系统进行数据分析和处理。这些企业虽然没有开发这些新兴技术领域的商用产品,但在自己的系统中已经研发和应用,这位国内企业以后发展新兴技术奠定了基础。
(3)开源软件大量涌现,形成开源和闭源竞合发展格局 在新兴分布式技术领域,涌现出许多开源软件,很多开源软件已经在其领域中占据主导地位,带动相关技术和产品的发展。例如,在分布式编程技术领域,Apache软件基金会开发的分布式密集数据处理和数据分析的开源软件框架Hadoop在可伸缩性、健壮性、计算性能和成本上具有无可替代的优势,已经成为云计算生态环境中不可或缺的一环,亚马逊、微软、IBM、甲骨文等大型IT企业纷纷提供了基于Hadoop的大数据处理工具。在分布式文件系统及新兴分布式数据库领域,GFS、HDFS、BigTable、HBase、MongoDB等开源软件也已经成为主流产品,许多商业创新和产品创新都围绕它们展开。
同时,开源生态系统与闭源生态系统随着技术和需求的双重推动,日益正在走向融合。例如,数据存储领域目前仍由甲骨文、IBM等大型闭源厂商所控制,但开源软件厂商也在试图打破这一局面。RedHat通过收购开源存储软件提供商Gluster开始了在大数据领域的布局,旨在为大数据的存储管理和数据访问层面提供解决方案。同时,RedHat更多依靠数据分析利用方面的合作伙伴的配合来提供完整的解决方案,通过建立大数据的开源生态系统促进企业对大数据的
35
快速处理与应用。
(4)分布式技术涌现新兴领域,为我国企业赶超发展带来重大机遇
受到云计算发展趋势,分布式技术领域涌现出许多新兴技术,例如分布式文件系统、分布式编程技术及新兴分布式数据库系统。在这些新兴技术领域,国外企业的传统垄断地位有所削弱,我国企业与国外企业的差距尚未拉大。有业界人士分析认为,在Hadoop、MapReduce等新兴分布式技术领域,我国与国外的差距仅有5年左右,这些领域给我国企业提供了实现技术赶超的可能。
此外,由于开源技术在新兴分布式技术中占据引领地位,而开源技术对任何一个国家都是开放的,我国企业可以集成开源技术和已有产品分享新兴领域的发展机会;同时我国的百度、阿里等互联网企业已在用户行为积累和数据处理等方面拥有坚实的技术基础,这为我国企业在新兴分布式技术领域形成突破实现赶超提供了良好机会。
(三)云操作系统
云操作系统是目前业界的主要研究领域之一,即建立一个能够在云中运行的操作系统,应用运行在这个操作系统上,数据也存储在这个操作系统中,传统的PC,笔记本电脑等变成只用于输入和输出的终端。
虽然所有的云计算厂商都认为云操作系统将是云计算最关键的技术之一,各个厂商也都在积极研发云操作系统,但目前业界还没出现一个成熟的云操作系统产品。云操作系统到底什么样,业界也没有
36
统一的定论。国内外大型互联网服务企业,比如Google、百度、腾讯等,都有自己的云操作系统,但由于该系统是各自厂商的核心竞争力,都是自产自用,并不对外发售。但是,现在云计算服务厂商普遍使用的调度管理技术和平台管理技术也将是云操作系统的核心技术,这两种技术目前已经得到广泛关注。
1.云操作系统关键技术
云操作系统是构架于服务器、存储、网络等基础硬件资源和单机操作系统、中间件、数据库等基础软件之上的云平台综合管理系统。它通常包含大规模基础软硬件管理、虚拟计算管理、分布式文件系统、业务/资源调度管理、安全管理控制等几大模块。云计算操作系统有以下几个作用,一是管理和驱动海量服务器、存储等基础硬件,将一个数据中心的硬件资源逻辑上整合成一台服务器;二是为云应用软件提供统一、标准的接口;三是管理海量的计算任务以及资源调配。
(1)调度管理技术
云计算的核心问题是任务调度,其是在网络操作系统的指挥下正确有效地调度资源。因此,好的调度算法和技术是决定云计算成败的关键因素。
云计算包含三种服务模式,即SaaS、PaaS、IaaS,这三种服务模式,虽然面向客户提供的服务形态不同,但后台都具备资源多租户技术这一共同特征。即,基础资源的共享和流转,是不同应用模式下云计算特征的核心体现。
云计算数据中心的突出特点,是具备大量的基础软硬件资源,实
37
现了基础资源的规模化。但同时,如何提高这些资源的利用率,降低单位资源的成本,也是云计算平台供应商必须解决的问题。业务/资源调度中心可以实现资源的多用户共享,有效提高资源的利用率。且可以根据业务的负载情况,自动将资源调度到需要的地方。业务/资源调度中心是云计算中心操作系统的高级应用模式,也是云计算数据中心低碳、绿色的开展业务的必然要求。
(2)平台管理技术
云计算资源规模庞大,服务器数量众多并分布在不同的地点,同时运行着数百种应用,如何有效的管理这些服务器,保证整个系统提供不间断的服务是巨大的挑战。
云计算系统的平台管理技术能够使大量的服务器协同工作,方便的进行业务部署和开通,快速发现和恢复系统故障,通过自动化、智能化的手段实现大规模系统的可靠运营。云计算平台管理技术涉及的技术很多,包含硬件、软件和服务。平台管理系统基于开发标准和开源软件,以及Web2.0的资源预约系统,涉及裸机部署和虚拟服务器管理,Power、X86处理器的支持。
2.主要厂商及产品
以虚拟机厂商、服务器厂商为代表的IT厂商认为传统操作系统建构在一台物理服务器上,而云操作系统是架构在多台服务器上;传统操作系统管理一台服务器,而云操作系统则管理一个数据中心。云操作系统的作用就在于将物理资源整合起来,在需要的时候将这些资源进行动态分配,以对外提供服务。在这些厂商看了,云操作系统的
38
核心就是虚拟化,这种技术只能将IT资源提供给用户,但用户最终需要的不是这些IT资源,而是实实在在的应用。因此,这种云操作系统还需要借助传统操作系统和软件才能为用户提供真正需要的服务。从可行性层面来看,这种云操作系统的好处在于可以利用现有的大量成熟软件,无须重新开发,但缺点在于应用软件仍依赖传统的操作系统,因此传统操作系统所导致的资源开销仍然是不可避免的。一般来说,处于这个阵营中的厂家是软件或者硬件厂商,其本身的运营能力不强,并且商业模式主要以出售软硬产品为主。
以Google为代表的互联网公司则认为,云操作系统不是将物理的IT资源变成虚拟的IT资源交付给用户,而是把物理的IT资源整合为一个庞大的系统。这个系统对外表现为一个统一的操作系统,即云操作系统。对用户来说,看到的就是这个云操作系统,而看不到所谓的IT资源。即使是存储资源,也不再是物理设备,而是文件系统。用户无须安装自己的操作系统,而是必须按照云操作系统的要求开发软件,否则开发的软件将无法运行在云操作系统上。这种操作系统是一种真正对操作系统进行的革命,使原来运行于一台服务器的操作系统可以运行在一个庞大的集群上。
目前业界一些厂商将云终端操作系统看作云操作系统,例如现在流行的各类基于云计算的移动终端操作系统及Web系统,但这些系统与现行的单机操作系统区别不大,不属于严格意义上的云操作系统。国内外大型互联网服务企业,比如Google、百度、腾讯等,都有自己的云操作系统,但由于该系统是各自的核心竞争力,都是自产自用,
39