分类: 服务器与存储
2008-08-10 13:43:53
任何成功都不是偶然,任何传奇背后都是对平凡的不平凡态度。谷歌也是个传奇。据称谷歌全球有36个数据中心,服务器不计其数,如此庞大的计算和规模,是很多企业、IDC不可想象的。谷歌用自己独特的方式部署、运维,超出了传统的IDC概念和方式,绘出一副“云”的蓝图。
Google的创始人Larry Page鼓励在公司中形成一种“健康的,对不可能说不”的气氛。IT技术的确是可以说不的技术,笔者也有这种自信。谷歌在数据中心的建设和维护上就做到了“对不可能说不”。
1、谷歌的技术“三宝”构筑数据中心和的基础
谷歌技术的“三宝”是GFS文件系统、BigTable大表、MapReduce算法。GFS是谷歌自己的文件系统。至今除了谷歌,在数据中心运维上还没有谁自己开发文件系统这种十分底层的技术。大家要么使用微软windows的文件系统,要么使用unix的文件系统。很显然有了自己的文?低常?雀杈涂梢杂行У刈橹?哟蟮氖?荨⒎?衿骱痛娲ⅲ?⑷盟?切??ぷ鳌?/FONT>
BigTable大表也是谷歌特有的技术,这样的大表可以管理百万G的数据表,并让表的结构分布在不同的服务器上。如果说文件系统是组织结构,那么大表就是对数据单元的组织。有了文件系统和对数据单元的组织,接下来谷歌必须有处理和运算的逻辑算法,谷歌称之为MapReduce算法。MapReduce算法是谷歌搜素技术的核心,这种算法也可以跨服务器跨软件进行。
如同微软的windows一样,谷歌的技术“三宝”也成了其基石。
2、依靠软件的组织和多硬件组成数据中心的“云”结构
由于企业数据中心各个业务系统的独立性,导致了在硬件服务器上零乱和依赖,因此传统的数据中心,是以硬件为主的,为了提高应用的访问质量,企业不得不购买高档的硬件服务器。
但是谷歌恰恰相反,他们依靠的是软件。谷歌的技术三宝从设计上就考虑到了分布式、负载均衡、服务器组织和管理等要素,因此硬件服务器完全可以在这些软件的控制之下良好地工作。即使出现宕机,也可以依靠其容错技术很快进行任务转移。在软件的组织之下,众多的服务器被组织成群集单元,不同的群集之间也相互协作,参与服务和。
3、通过软件功能保证SLA服务器质量
谷歌强调使用软件保证谷歌平台的可靠性。这点和很多企业的IDC完全不一样。比如IBM、华为等,他们数据中心里都有价值几百万、甚至几千万的硬件服务器以支撑特殊的业务应用,例如ERP等等。每次应用出现问题,很少有可能去完善应用的性能,而更多的是增加硬件成本,购买高性能的硬件。这种思路其实是数据中心的误区,会浪费大量的投资。
谷歌这种策略能够尽可能地使用服务器资源,保证服务器被充分使用。特别是在处理宕机这种问题的时候,可以依靠软件迅速地平滑过度,实现任务转移,以最快的速度保证SLA指标。
4、喜欢多核芯片配置,并行计算处理
谷歌庞大的数据量和计算量,迫使谷歌全方位地考虑如何提高计算速度并输出结果。从软件到硬件,再到硬件服务器的芯片,这些都是重要的因素。谷歌的软件策略不仅从宏观上支持多服务器的群集,还从芯片上支持多核芯片的处理。因为多核机器的作用类似多台单独的服务器。
所以当谷歌进行计算的时候在软件的组织下是众多的服务器参与,也是众多的芯片参与。
总之,谷歌面对的技术难题是难以用微软这些传统软件霸主的技术来解决的,其业务特点和商业模式必须让谷歌自己客服这些技术,并走出一条自己的路。
谷歌的模式不仅改变了传统软件计算,还在改变传统的硬件部署和数据中心的运维,由此也奠定了其“云计算”的蓝图,形成了决定未来十年IT格局的核心力量。