《数据中心设计与运营实战》—— 2.7 购买还是自建

2.7 购买还是自建

传统IT架构会大量使用第三方软件组件,如数据库软件和系统管理软件,把精力集中在开发专门的业务软件上以提供产品直接的价值,例如运行在应用服务器和数据库引擎上的商业逻辑就属于这类软件。而Google这样的大型互联网服务供应商则通常采用不同的做法:应用层特定的逻辑以及很多集群级基础架构软件均自行开发,平台层软件则采用第三方组件,但也都是开源的,在需要的时候可以自行修改。所以,Google整个软件栈的绝大部分是在服务开发者掌控之下的。

这种方式增加了大量的软件开发和维护工作,但却有利于程序的灵活性并节约成本。灵活性的重要性体现在当关键功能或性能出现漏洞必须马上解决时,程序可以在各开发层级间快速周转以修复漏洞,并可以提供解决问题的多种选择,从而解决复杂的系统问题。例如,一个不必要的网络行为在应用层级可能不好处理,但在RPC库的层面却相对容易解决,反之亦然。

从历史上来看,一个自建而不是购买的主要原因是,当时需要的仓储规模的软件基础架构根本没有商业产品。此外,除非第三方软件供应商自己维护集群,否则充分测试这样规模的软件是很难做到的。最后,自开发的软件可能更简单和迅速,因为可以设计仅满足很小部分的服务需求,因此在该领域中可以更加高效。例如,BigTable为了满足预期应用场景的更高吞吐量和可扩展性需求,就略去了一些传统SQL数据库的核心功能,GFS也是因为相同原因不再提供完整的Posix兼容文件系统。

时间: 2024-10-24 14:29:46

《数据中心设计与运营实战》—— 2.7 购买还是自建的相关文章

《数据中心设计与运营实战》——导读

序 传统的数据中心设计往往只关注风火水电,考虑地理位置.建筑面积.供多大电量.冗余做到多少级,等等,很少关注承载的IT设备的特性,更不用说上层具体的业务应用.因此,很多的数据中心从投入生产那天起就落伍了,要么是跟不上业务的发展节奏,不得不进行很多的生产中的改造优化等工作:要么是做了过多的可靠性考虑,系统富余非常多的容量,投产后实际只能利用设计的几分之一,甚至更少.互联网数据中心由于支撑的计算规模和存储规模较传统企业的数据中心更大,甚至超过几个数量级,如果只是沿用过去的数据中心设计方法和思路,在效

《数据中心设计与运营实战》——第1章 介绍1.1 仓储式数据中心

第1章 介绍 ARPANET问世已经超过40年了,World Wide Web最近刚刚庆祝完其走过了20周年.被这两个有杰出意义的里程碑所引领的互联网技术继续改变着各行各业和现今人们的生活习惯,时至今日依然势头不减.诸如网页邮箱.搜索.社交网络等流行互联网服务的出现,加之高速互联网络在世界各地的普及,使互联网服务日渐呈现出向服务器端以及云端转移的趋势. 越来越多的计算和存储需求开始从类PC客户端向更小.更适合移动设备,并结合了大型互联网服务的方向迁移.早期的互联网服务大多是用来提供资讯,而今许多

《数据中心设计与运营实战》——1.3 不只是服务器的集合

1.3 不只是服务器的集合 我们核心的观点是,驱动现今很多成功的互联网服务的数据中心已经不再是将五花八门的服务器放在一起,连上网线这么简单的了.运行在这些系统上的软件,诸如Gmail和Web搜索服务,是使用着超越单一服务器和单一机架规模的.成百上千的独立服务器组成的集群.因此,每个设备和服务器都是这个大集群或者服务器集合的组成部分,要被视作单一计算单元. 设计WSC的技术挑战,丝毫不亚于其他任何级别的计算机系统架构.首先,它们是由新的迅速增长的需求所驱动的新一类大规模系统.仅规模一项,就使其很难

《数据中心设计与运营实战》——2.6 监控基础设施

2.6 监控基础设施 各种形式的系统内控是集群级基础架构软件层的一个重要部分,因为无论是工作负载还是硬件基础架构,其规模和复杂性都决定了监控框架应成为系统最基本组成部分,如接下来的内容所阐述的. 2.6.1 服务级仪表盘 系统操作员需要监测互联网服务是否达到设定的服务水平.监测信息必须是非常即时的,这样操作员(或自动系统)才能以秒(而不是分钟)为单位采取快速准确的反应以避免巨大的灾难.幸运的是,监测只需要有限的几个关键信息,例如延迟.用户需求的吞吐量分析,这些都可以从前端服务器收集到.这样的监测

《数据中心设计与运营实战》——2.5 应用层软件

2.5 应用层软件 Web搜索曾是最早的受欢迎的大规模互联网服务之一,从20世纪90年代中期开始的互联网内容的井喷,使处理如此大量的信息超出了当时人工管理目录的能力.然而,随着针对家庭和公司的网络连接业务的持续增长,通过互联网提供新的服务变得越来越有吸引力,有时甚至取代了传统客户端的功能.基于网页的地图和邮件服务就是这一发展趋势的端倪.服务范围的扩大也造成了应用需求极大的多样性.例如,一个搜索任务可能不需要一个具备细粒度更新能力的基础架构,也就自然可以容忍硬件故障(因为Web搜索不需要每次都绝对

《数据中心设计与运营实战》——1.6 WSC的架构概述

1.6 WSC的架构概述 每个WSC的硬件部署与其他的都千差万别.即使在像Google这样的单一组织中,不同的年代也使用不同的基本组件进行系统部署,这也反映了行业的硬件演进.然而,这些WSC系统的架构在过去的几年里已经相对稳定,因此,描述这个通用的架构有助于为后续的讨论做个铺垫. 图1.1描述了WSC的顶层构建.一组低端服务器,典型的是1U1服务器或刀片服务器形式,安装到机架,使用以太网交换机进行内部互联.这些机架级别的交换机,支持1-10Gbit/s连接,有多个上行链路连接到一个或多个集群级(

《数据中心设计与运营实战》——1.5 为什么WSC对你至关重要?

1.5 为什么WSC对你至关重要? 说到这里,WSC被认为是商业领域中的一个问题,因为它庞大的规模和成本,使得只有非常少的大型互联网公司才能负担得起.我们不相信这是真的,毫无疑问.我们相信今天互联网服务所面对的问题很快会产生更大规模的意义,因为许多组织很快将可以用更低的成本实现近似规模的计算系统.现如今,低端服务器构建的计算平台以其经济性吸引着大量的公司和研究机构,这使他们将集群扩充至数百个节点规模成为可能.当综合考虑到将大量的处理器核心设计在同一基板上是当前趋势的情况下,不久后,一个服务器机架

《数据中心设计与运营实战》——1.4 单个数据中心VS. 多个数据中心

1.4 单个数据中心VS. 多个数据中心 在本书中,我们将数据中心比作计算机,尽管许多互联网服务使用多个彼此远离的数据中心.多个数据中心有时作为相同服务的多个完整副本使用,这有助于减少用户等待时间和改善服务的吞吐量.在这样的案例中,一个给定的用户需求在一个数据中心中被完全处理,我们的设备指派看似恰当. 然而,一旦某个用户的查询涉及多个数据中心,那么我们对单个数据中心的关注显然有些不完全适用.典型的案例是处理非易失性用户数据的更新服务,当然,多副本容灾是必需的.对于此类情况,一个数据中心更为合适,

《数据中心设计与运营实战》——第2章 工作负载和软件基础架构2.1 数据中心VS. 台式机

第2章 工作负载和软件基础架构 仓储式数据中心(WSC)中运行的应用主导了众多系统设计的决策权衡.本章概述了大型互联网服务中软件的显著特征以及一个构建完整计算平台所需要的系统软件和工具.以下是典型WSC部署中不同的软件层的相关术语. 平台层软件:和所有独立服务器都一样的固件.内核.分布式操作系统和函数库,屏蔽掉单一设备的具体硬件,提供基本的服务器级服务. 集群层基础架构:在群集层提供资源管理和服务,并最终成为数据中心级操作系统.比如分布式文件系统.调度器.远程过程调用(RPC)库,以及可以简化数