告别物理数据中心:Stack Overflow的服务器退役与云端迁移
再见,感谢所有的比特!
自2010年10月以来,所有Stack Exchange网站都运行在纽约市(实际上是新泽西)数据中心的物理硬件上。这些服务器在我们的历史和心中都占有一席之地。当我第一次加入公司并在纽约办公室工作时,我看到原始的服务器安装在墙上,配有一块赞美的牌匾,就像一只心爱的宠物。多年来,我们分享了服务器机架的光鲜照片和更新信息。
在我们近16年的存在中,SRE团队管理了所有数据中心操作,包括物理服务器、布线、机架安装、更换故障磁盘以及其间的一切。这项工作需要有人亲自出现在数据中心并操作机器。
我们后来将所有网站迁移到了云端。我们的服务器现在是牲畜,而不是宠物。没有人需要开车到我们的新泽西数据中心更换或重启硬件。在上周之后就不再需要了。
这是因为在7月2日, anticipating数据中心的关闭,我们卸载了所有服务器,拔掉了所有电缆,并为这些曾经强大的机器举行了最后的谢幕。在过去的几年里,我们一直计划拥抱云端,并将我们的基础设施完全迁移到那里。我们在2023年将Stack Overflow for Teams迁移到Azure,并证明了我们可以做到。现在我们只需要处理公共网站(Stack Overflow和Stack Exchange网络),这些网站托管在Google Cloud上。去年年初,我们在新泽西的数据中心供应商决定关闭该地点,我们需要在2025年7月之前搬出。
我们的另一个数据中心——在科罗拉多——于6月退役。它主要用于灾难恢复,我们不再需要。Stack Overflow不再有任何物理数据中心或办公室;我们完全在云端和远程!
特别感谢SRE团队以及许多其他帮助实现这一目标的人。我们很快会有几篇博客来讨论将Stack Exchange网站迁移到云端的过程,但现在,请享受这些图片。
我们在这个地点总共有大约50台服务器。以下是当天开始时服务器的样子:
每台机器八根(或更多)电缆乘以50多台机器,是很多电缆!在上面的图片中,你可以看到大堆的电缆。尽管它们被整齐地包装在一个小笼子(称为“臂”)中,每台服务器一个,但拆除这么多主机的电缆是一项繁重的工作。
为什么每台机器有这么多电缆?这里有一张 staged 照片,分别显示 individual 电缆:
- 蓝色:1x 1G 以太网电缆,用于管理网络(远程访问)。
- 黑色:1x 电缆,将VGA视频和USB(键盘和鼠标)信号传输到“KVM交换机”。从KVM交换机,我们可以连接到数据中心中任何机器的键盘/视频/鼠标。它很贵,但值得。在紧急情况下,我们总是可以“在机器前面”而不离开家。
- 红色:2x 10G 以太网电缆,连接到主网络。
- 黑色:另外2x 10G 以太网电缆,连接到主网络(仅限需要额外带宽的机器,如我们的SQL服务器)。
- 白+蓝:2x 电源电缆(每条连接到不同的电路,以实现冗余)。
硬件爱好者应该会欣赏这些。但随后是拆卸它们的时候。我们的员工站点可靠性工程师Josh Zhang有点感伤。“几年前,我安装了新的web层服务器,作为计划升级的一部分,”他说。“ bittersweet 的是,我也是卸载它们的人。”这是IT版的《老黄狗》。
我们假设大多数数据中心关闭都涉及保留某些机器以将它们移动到新的数据中心。然而,在我们的情况下,所有机器都被处理掉了。这给了我们能够快速移动和打破东西的自由。如果它在我们的笼子里,它就会被送到处理公司。出于安全原因(以及保护所有用户和客户的PII),一切都被 shred 和/或销毁。没有保留任何东西。正如我们的可靠性工程总监Ellora Praharaj所说,“不再需要温柔了。”
清理机架有两个步骤:首先我们拆除所有机器的电缆,然后我们卸载它们。这里是一些正在拆除电缆的机架。任何可 salvage 的东西都已被移除。因此,我们不需要整洁,也不需要小心。在这里,你可以看到处于不同拆除电缆阶段的机架。之后,大堆的电缆被扔到大堆上。
曾经难以断开RJ45电缆吗?好吧,这里是我们有机会直接剪断这些东西,而不是弄清楚为什么小 tab 不会释放插头。
垃圾堆。我们的拆除电缆过程涉及将所有东西扔到房间的角落,直到我们意识到我们可能 blocking 了我们唯一的出口。然后我们堆得更高,而不是更宽。
所有服务器和网络设备都被堆在地板上。总共七堆。
这是2015年左右我们建造所有这些时的“之前”图片,还是我们退役所有东西时的“之后”图片?我们让你猜!
就这样,伙计们!
特别感谢Ellora Praharaj、Tom Limoncelli和Josh Zhang提供的图片和信息。以及做繁重的工作。