二、云计算架构及关键技术
云计算是“一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备”。它将网络共享的计算资源统一管理,向用户提供根据需求访问计算机和储存系统的服务。
云计算作为近些年来兴起的一个新的概念,从狭义上来看,它代表的是一种数据计算方式,是网格计算、分布式处理和并行处理等计算机科学概念的发展。它将大量的可能分布于不同地理位置的计算机服务器通过互联网整合在一起,利用分布的计算资源来处理数据。云计算作为网格计算的发展,它们之间一个最大区别就是资源的调度模式。网格计算是以计算为中心,采取的是将数据调度到计算节点服务器上执行计算任务的方式,而计算资源和存储资源可能是分布在因特网的不同地方,并不一定在同一服务器上,这样在调度到同一节点进行计算时就可能需要耗费一定的数据传输时间;云计算倾向于以数据为中心,数据的管理和存储都在集群上,因此它采用的是将计算任务调度到数据的存储节点上运行的方式。
从广义上看,作为web 3.0的一个重要组成部分,它代表了计算能力、数据仓库和应用软件的结合,是共享的软硬件资源、信息和可以按需提供给计算机和用户的大型平台。它将网络共享的计算资源统一管理形成资源池,向用户提供根据需求访问计算机和储存系统的服务。它的“低投入成本”、“高性能”、“高扩展性”、“易访问性”和“低风险”都是吸引企业用户购买云供应商服务的关键词。
一般来说,云计算的软件架构分为三层,由上至下分别是基础设施层、管理层和应用层。每个层次都有各自对应的功能(表2-2)。
表2-2 云计算三层架构
云计算作为一种基于Internet的强调服务性的高性能的计算方式,其所涉及的技术包括了大部分网络信息技术。除上表提到的虚拟化技术和Web Service技术外,针对其海量数据资源并行化计算的特性,还包括了信息安全技术、大规模服务器集群技术、分布式并行编程模式、海量数据分布存储和云计算平台管理技术等。在下一节对开发最为成熟的几个商业云计算平台为例进行分析时,都会涉及他们采用的关键技术的介绍,以进一步加深对云计算应用的理解。