云计算的实施可划分为三个层次,在底层的是构成一个网络架构的基础硬件,包括CPU、内存;基于最底层硬件之上的是一个软体层,包括支持并行计算的操作系统、中间件;位于最上层的由很多具体应用构成,诸如Gmail、Google Docs、Google Picasa Web等等,未来还会包括网络电视、视频点播更多的应用服务。
在硬体方面的研究至少应包括三个方面:第一个是需要大量非常廉价的服务器、CPU组成集群,在此单个的服务器或CPU的性能或许并不出众,但构建起来的整个网络,在可靠性、稳定性和计算能力上,均能达到大型计算机的标准;第二个需要注意的是,在搭建云计算数据中心过程中,所要求的硬件性能及其组织架构一定要具有良好的散热能力。对于个人用户来说,散热似乎不是需要单独考虑的问题,但对于集群服务器来说,追求良好的散热能力是服务商必须面对的现实问题。第三个方面是,要求每台服务器、每个CPU的耗电量非常低,否则在机器量达到数十万级时,每个月的耗电量都将成为一笔不可忽视的庞大开支。
Google的三大核心技术构成了实现云计算服务的基础:GFS(Google文件系统)、MapReduce(分布式计算系统) 、BigTable(分布式存储系统)。GFS位于这三项技术的最底层,负责许多服务器、机器数据的存储工作。它将一个大体积数据(通常在百兆甚至千兆级别)分隔成固定大小的数据块放到两到三个服务器上。这样做的目的是当一个服务器发生故障时,可以将数据迅速从另外一个服务器上恢复过来。在一定程度上,在存储层面,机器故障的处理由Google文件系统来完成。
第二个部分就是MapReduce,它是Google开发的C++编程工具,用于大于1TB数据的大规模数据集并行运算。这项技术的意义在于,实现跨越大量数据节点将任务进行分割,使得某项任务可被同时分拆在多台机器上执行。例如把一项搜索任务拆分成一两百个小的子任务,经并行处理后,将运算结果在后台合并,最后把最终结果返回到客户端。
第三个部分BigTable,作为 Google一种对于半结构化数据进行分布存储与访问的接口或服务,它是建立在GFS和MapReduce之上的结构化分布式存储系统,可以帮助Google最大限度利用已有的数据存储能力和计算能力,在提供服务时降低运行成本。
如果没有以上软体的支持,云计算战略的最终实现就只能是一个虚幻的梦。Google一直坚信所有的硬件都有可能在某个时间出错,不可靠的硬件数量最好是可靠机型的两倍,最重要的,需要将可靠性放在软件层面。过于关注单个线程的性能意义并不大,对于Google来说,更重要的是对于并行处理技术的完善。为了应对海量级的数据访问和查询,他们需要让每台廉价的服务器的性能发挥到极致,将核心的技术优势牢牢掌握在自己手中才是最安全的。
没有评论:
发表评论