在过去的一年里,Facebook对传统网络行业进行了一些有趣的调整。虽然主流的想法是将网络运营的大部分细节保密,但Facebook一直在自由地分享它的创新。对于一个商业模式建立在人们分享个人信息基础上的公司来说,我认为这是非常合理的。
更有意义的是,Facebook在开放方面获得了回报。基础设施副总裁Jason Taylor估计,在过去的三年里,Facebook已经节省约$ 2十亿它的成员开放计算项目试一试它的设计规范。
但真正回头率是去年的公告楔,一个开放的顶级机架交换机与OCP社区开发。楔子八个月后由跟随6-Pack,用于网络核心的楔形模块版本。加上这些裸金属开关是FBOSS,一个开放的基于linux的网络操作系统(好吧,不完全是操作系统——更多的将在以后的文章中讨论),和OpenBNC系统管理。
这种开放性对我们其他人很重要的原因是,这一切不仅仅是Facebook的一个疯狂科学项目。您可以很快通过台湾的开关制造商购买到楔板智邦科技,将切换到与集成的操作系统,专有交换机的成本的一小部分数据中2020欧洲杯预赛心。而你没有锁定在交换机上运行FBOSS无论是。您可以货比三家,选择NOS是很有道理的给你,如Linux开放网络,积云Linux,大开关开关灯,以及可能的其他诸如Pica8的PICOS甚至杜松的朱诺。如果你有一个勇敢的开发团队,他们有足够的时间,你甚至可以自己构建。
我将在以后的文章中写更多关于open switch和open software的内容,但是现在我想关注Facebook在数据中心网络设计方面所分享的创新,以及它对您的意义。2020欧洲杯预赛去年11月,在Wedge和6-Pack发布期间,Facebook在爱荷华州的阿尔图纳开设了最新的数据中心。2020欧洲杯预赛正如它对其他网络创新所做的,Facebook公开分享其新设计。
事实证明,有从阿尔图纳设计,可以适用于任何规模的数据中心一些有价值的外卖。2020欧洲杯预赛
超大型的误解
说“超大规模数据中心”到谁了这样2020欧洲杯预赛的事情持续了大部分人,他们会本能地命名Facebook,谷歌和亚马逊。而且由于这种关联的,人们认为超大规模的的东西仅适用于由开发商军队支持庞大的数据中心。2020欧洲杯预赛
实际上,hyperscale只是指快速向外扩展的能力。一个超大规模的数据中心网络2020欧洲杯预赛可能很小,但它可以在不改变网络的基本组件和结构的情况下以指数级增长。随着业务的增长,您应该能够使用相同的交换机和相同的互连模式——只是数量更多而已。您不需要仅仅为了适应增长而将一类开关丢弃到另一类。
您可以让一个数据中心只包含几个2020欧洲杯预赛机架,如果网络设计正确,它就是一个超大规模的数据中心。Hyperscale是一种能力,而不是规模。
关于超大规模数据中心的另一个误解是,它们是针对一个或相对较少的应用程序在整个数2020欧洲杯预赛据中心的大规模优化的。这主要来自Facebook和谷歌协会。实际上,超规模设计对于非常沉重的东西工作负载是理想的,但超规模设计原则也适用于一般的企业数据中心,它支持数百个业务应用程序,就像它支持单一的社交媒体、大数据或搜索应用程序一样容易。2020欧洲杯预赛
Hyperscale还会让人联想到这样一种情景:由一群才华横溢的年轻建筑师组成的骨干团队,在硅上建立起自己动手的网络,他们的薪水远超普通网络运营商。对于创新者来说,这可能是真的,但因为Facebook已经把它的工作摆在了桌面上,像你我这样的凡人也可以把他们的设计原则运用到我们自己的数据中心中去。2020欧洲杯预赛
要欣赏阿尔图纳网络的意义,让我们先来看看Facebook是其早期的数据中心使用的网络架构。2020欧洲杯预赛
好的还不够好:Facebook的集群设计
图1显示了Facebook的pre-Altoona的凝集块设计,他们称之为“4柱”架构。多达255个服务器机柜通过的ToR开关(RSW)连接到高密度簇开关(CSW)。该RSWs有多达44个10G下行和四个或八个10G上行链路。四暗娼和其连接的RSWs包括集群。
四“FatCat”(FC)聚合交换机互连集群。每个CSW有40G连接到四个界别。一个80G保护环的每个群集内连接暗娼,和FCS连接到160G保护环。
从几个方面来说,这是一个好的设计。冗余是好的;超订阅很好(通常RSWs和CSWs是10:1,CSWs和FCs是4:1);拓扑是合理平坦的,没有路由器互连集群;通过增加新的集群,增长被简单地管理,至少达到FCs的40G端口容量。
但Facebook发现,好的还不够好。
大部分来自非常大的开关,用于暗娼和FC的必要性,这种架构干的问题:
- 只需四盒处理所有群集内业务和四盒处理所有群集间业务,发生交换机故障有严重的影响。一个CSW故障减少25%集群内的容量,和一种FC失败了25%降低了集群间容量。
- 非常大的开关限制了供应商的选择——只有少数的“大铁”制造商。而且,由于这些供应商销售的大交换机相对较少,每个端口的资本支出和运营支出与大量供应商提供的小交换机相比不成比例地高。
- 这些大开关的专有内部防止定制,复杂的管理和扩展bug修复等待几个月甚至几年。
- 大型交换机往往有超额订阅的交换结构,因此不能同时使用所有端口。
- 集群交换机的端口密度限制了这些拓扑的规模和带宽,使得向下一代端口的转换速度太慢。
- Facebook的分布式应用程序创建了难以在聚合网络设计中管理的机器对机器的流量。
阿尔图纳:超大型的见解
因此,Altoona的下一代架构必须在保留其最佳特性的同时从根本上纠正集群架构的问题。具体地说:
- 而不是少数大的交换机,使用大量的小开关。这样,每个交换机负责负载所占比例较小,且开关故障需要较小的咬了一口整体能力。
- 端口密度分布在许多交换机上,而不是集中在一个交换机上,从而简化了向更高带宽端口的转换,并减少了内部的超额订阅。
- 内部交换架构应该是开放的,无阻塞,并与商户建立硅,鼓励定制,简化管理和故障排除,缩短等待时间,以便修补漏洞。
- 找到一个模块化单元比可以被复制在宽范围的用途,并且可经济地部署到数据中心的所有角部的簇更小。2020欧洲杯预赛
- 降低资本和运营费用。
- 当然,还要快速、简单、廉价地适应任何增长速度。
Facebook提出的是一个分散的核心-豆荚设计,它创建了一个单一的高性能结构,覆盖整个数据中心。2020欧洲杯预赛pod是基本的构建模块(Facebook称之为标准的“网络单元”),由48个ToR交换机组成,通过40G上行链路连接到4个fabric交换机。查看图2中的拓扑结构,您可以很容易地识别出一个折叠的3阶段秘密地织物-或者去掉极客的语言,树叶和脊柱的拓扑结构。与集群设计中的数百个服务器机架不同,这些机架每个只包含48个服务器机架。因此,ToR和fabric交换机可以在端口密度方面保持相对较小。假设每个ToR交换机有48个10G的下行链路,pod有3:1的超额订阅——比集群超额订阅的10:1有了显著的改进。
单个吊舱通过40G上行链路连接到四个脊柱平面,如图3所示。每个脊柱平面最多可以有48个开关。这种拓扑的关键在于,每个fabric交换机都有相同数量的40G下行链路和上行链路——最大上限为48向下链路和48向上链路——因此fabric是无阻塞的,在pods之间不存在超额订阅。双带宽,运行到多拍,是数据中心一致的吞吐量。2020欧洲杯预赛
图3显示了光纤交换机和其相应的棘平面之间的彩色编码的连接的图,但不公平对待所有关系如何在一起。而一些肯定打你的是,有很多的光纤交换机和主干交换机之间的联系。光学和电缆可能变得昂贵,所以管理豆荚和脊椎平面之间的距离是很重要的。(如果你有兴趣了解更多关于Facebook的架构,这里是我用于群集架构的源文件(PDF)和阿尔图纳架构。)
如果你旋转豆荚和线,每个吊舱的48架的方式将被安排进行数据中心,然后用脊柱做同样的飞机——但它们排垂直于圆荚体-你得到三维图如图4所示,随着织物开关成为脊柱飞机的一部分。2020欧洲杯预赛减少了织物开关和脊柱开关之间的距离。请注意,还有边缘豆荚,它提供与织物的外部连接。
Facebook的网络工程师Alexey Andreyev这样描述这种结构:“这种高度模块化的设计使我们能够在一个简单统一的框架内快速地将容量扩展到任何维度。当我们需要更多的计算能力时,我们添加服务器pods。当我们需要更多的内部网络容量时,我们在所有平面上增加了脊柱交换机。当我们需要更多额外的布料连接时,我们就会增加edge pods或者增加现有edge交换机的连接。”
如果你想听到安德烈耶夫描述阿尔图纳架构自己,这里是一个出色的视频:
阿尔图纳外卖
到现在,您可能想知道这些与您和您的数据中心有什么关系。2020欧洲杯预赛毕竟,Facebook或多或少支持单个分布式应用程序,生成横跨整个数据中心的机器对机器的流量。2020欧洲杯预赛你可能不喜欢。虽然48机架的pod是对其早期集群的缩小,但大多数企业数据中心整体上小于48个服务器机架。2020欧洲杯预赛
那么,你为什么要关心这些呢?因为这不是尺度。它的可伸缩性。
从阿尔图纳设计的基本外卖店使用小开开关,使您可以缩放到任何尺寸不改变基本构建块的体系结构构建数据中心网络的优势。2020欧洲杯预赛首先看一下开关。你不必等待楔形或6包去市场上(智邦会销售楔不久)。你可以拿起从智邦,广达,天弘,戴尔和其他裸机开关的成本大牌供应商将收取的一小部分。例如,广达与切换为$ 7,495 32个40G端口的列表。瞻博网络QFX5100 24名$ 30,000一点40G端口的列表。那是一个公平的比较?这JUNOS溢价为您提供了一个相当真棒操作系统,但裸机开关给你一堆选项,用于加载您所选择的操作系统。
至于pod和核心设计,可以根据自己的需要进行调整。豆荚可以是你想要的任何大小;虽然“网络单元”是一个美妙的概念,但它不是一个规则。您可以创建许多pod设计来满足特定的工作流需求,或者只是开始从旧的体系结构迁移。pod也可以是特定于应用程序的。随着数据中心网络2020欧洲杯预赛的增长,或者采用较新的技术,您可以毫无干扰地“插入”新的pods。
核心部分也是如此。你可以在第2层或者第3层构建它。这完全取决于您所支持的工作流。使用简单的pod和核心设计,您可以按照您认为合理的速度管理数据中心网络,从每隔几年就有一个新的pod到每隔几个月就有一个爆炸性的2020欧洲杯预赛新pod增长。