QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

疯狂马斯克的“极限”计划居然成功了?!“下云”后成本降低 60%,部分功能代码精简 90%,30 天急速迁移服务器

  • 2023-10-30
    北京
  • 本文字数:4946 字

    阅读完需:约 16 分钟

大小:2.35M时长:13:40
疯狂马斯克的“极限”计划居然成功了?!“下云”后成本降低60%,部分功能代码精简90%,30天急速迁移服务器

2022 年 10 月 27 日,经历了长达半年的拉锯战之后,马斯克终于将 Twitter(现已更名 X)收归囊中,这笔 440 亿美元的收购案也终于迎来了大结局。入主 Twitter 后,马斯克进行了大刀阔斧的改革,如今一年过去了,Twitter 发生了哪些变化?

 

2023 年 10 月 27 日,X 工程技术发布帖子称,过去一年是 X(Twitter)平台全面推进工程技术探索的一年。除了大家在 X 应用端看到的直观调整之外,团队还在幕后完成了以下一系列重要改进。其中包括:

 

  • 关闭萨克拉门托数据中心,并重新配置了 5200 台机架和 14.8 万台服务器,每年节约超 1 亿美元。共释放出 48 兆瓦的功率配额、拆除重达 6 万磅的网络梯架,必要设备后续将被重新配置至其他数据中心。

  • 优化了 X 的云服务使用方式,着手将更多工作负载迁往本地基础设施。这一转变使 X 每月的云成本降低了 60%。所有媒体/blob 工作均已下云,这让 X 的整体云数据存储量缩减了 60%,还成功将云数据处理成本降低了 75%。

 

此外,X 还发生了以下变化:

 

  • 围绕单一产品框架整合了 For you(为您推荐)、Following(关注)、Search(搜索)、Profiles(个人资料)、Lists(列表)、Communities(社区)和 Explore(探索)等技术栈。

  • 从头开始全面重建了 For you 服务与排名系统,代码行数从 700K 缩减至 70K精简比例高达 90%,计算占用量降低 50%,根据请求得分计算的帖子吞吐量增长了 80%。

  • 统一了 For you 和视频个性化及排名模型,显著提高了视频推荐的质量。

  • 重构了技术栈内的 API 中间件层,通过删除超 10 万行代码和数千个未实际使用的内部端点、清理未采用的客户端服务等方式完成了架构简化。

  • 精简后的元数据获取延迟降低了 50%,全局 API 超时错误减少了 90%。

  • 阻断 bot 和内容抓取的速度较 2022 年提高了 37%。平均而言,X 每天阻断超 100 万次 bot 注册攻击,并将直接垃圾邮件减少了 95%。

  • 构建本地 GPU 超级计算集群,并设计、开发和交付了 43.2 Tbps 的新网络体系架构以支持这些集群。

  • 扩展网络主干容量与冗余,每年节约 1390 万美元。

  • 开始进行自动峰值流量故障转移测试,用以持续验证整个平台的可扩展性与可用性。

 

自接手 X 以来,马斯克为了缩减成本挖空心思,其中包括裁员、推行“极端硬核”企业文化、拖欠办公室租金……在公司的运营开支方面,马斯克去年刚接手 X 时便指示团队通过削减云服务和额外的服务器空间,力争每天在基础设施上节省 300 万美元。

省钱大法一:云服务太贵了,马斯克要“下云”

 

2020 年 12 月,Twitter 宣布将使用亚马逊云科技为其主时间线提供支持。当时的消息称这将是一份“多年期”协议,但没有透露任何具体数字。彼时 Twittr 公司 CTO Parwal Agrawal 在一份声明中表示,Twitter 和亚马逊云科技将合作扩展该社交媒体的基础设施、加快功能发布速度,并扩大其功能组合。

 

据 The Information 2023 年 3 月报道,这笔交易为期五年半,合同总值 5.1 亿美元。根据报道,无论是否使用相应容量,Twitter 都同意向亚马逊云科技付费。而且亚马逊云科技不愿就具体条款进行重新谈判。根据交易细则,Twitter 的月度亚马逊云科技支出大约在 773 万美元

 

如今,Twitter 已经不再使用亚马逊云科技的实时时间线功能,转而选择了 AWS for Spaces 等其他服务。Twitter 后续可能使用 Google Cloud Platform(GCP)运行其时间线业务。根据 Twitter 与亚马逊云科技之间签订的合同细节,马斯克执掌的社交媒体巨头还计划使用:

 

  • 亚马逊云科技云基础设施,用于补充 Twitter 的本地功能,帮助该公司在全球范围内扩展其实时服务。

  • 采用 Amazon Elastic Compute Cloud (Amazon EC2)服务中基于 Arm 架构的亚马逊云科技 Graviton 2 实例,以运行其云工作负载。

  • 借助亚马逊云科技容器服务,Twitter 将在其混合基础设施当中统一构建并交付新的功能和服务。

  • Amazon CloudFront,即亚马逊云科技的超高速内容交付网络(CDN)服务,能够以低延迟、高速率向全球客户分发数据、应用程序、视频和 API。

  • Amazon DynamoDB,即亚马逊云科技的键值数据库,可大规模提供个位数毫秒级性能。

 

目前,Twitter 已经与谷歌签订了一份价值 10 亿美元的合同,且相关承诺早在与亚马逊云科技合作之前就已敲定。另据报道,Twitter 将在 2023 年向谷歌支付总计 3 亿美元,这也是总价值约 10 亿美元的多年期合作协议的一部分。

 

随着马斯克入主 Twitter 并开启削减成本计划,Twitter 的基础设施支出大幅减少。根据题为“深度削减成本”的 Slack 内部消息,Twitter 计划从云服务和服务器容量方面入手,省下 150 万到 300 万美元。此外,Twitter 还试图与亚马逊云科技、Google Cloud 以及甲骨文就合同内容展开重新谈判,但供应商们纷纷表示拒绝。

 

根据最新公告,马斯克通过将工作从云端转移到 Twitter 自己的服务器上,每月的云成本降低了 60%,整体云数据存储量缩减了 60%,还成功将云数据处理成本降低了 75%。

下云就能解决问题?

 

近年来,为了节省成本,不少公司开始下云。不过,并非所有公司都适合下云,需要结合自身实际业务情况来做判断。比如,GitLab 在 2016 年底时候就表示计划要“下云”,不过团队“在收到数百条充满建议和警告的评论和邮件后,最后还是决定将 GitLab.com 保留在云端。

 

此外,37signals 旗下一款流行的基于云服务的项目管理软件 Basecamp 也曾想“下云”。Basecamp 的上云历程已经超过十年,而且其前两年发布的产品 HEY 也一直在云端运行。但 Basecamp & HEY 联合创始人 David Heinemeier Hansson 发文表示将要“下云”。

 

“我们用过亚马逊云科技、也用过谷歌云,试过裸虚拟机、也体验了 Kubernetes 容器编排。我们知道云能提供哪些功能,其中大部分都有实际应用。现在我们终于得出结论:对于像我们这样一家增长稳定的中型企业来说,租赁基础设施资源总体上看是笔糟糕的买卖。云服务商做出的降低复杂性、控制运营成本等承诺从来就没能实现,所以我们正在筹划脱离云端、重归本地。”

 

不过,在 David Heinemeier Hansson 撰写的关于离开云计算的思考中,他特别提到了两个情况是不能离开云计算的。一种是流量极低,一种是复杂不均衡:

 

  • 第一个极端是当您的应用程序非常简单且流量很低,通过使用完全托管的服务来降低复杂性确实能够节省成本。这是 Heroku 铺就的道路,也是 Render 等其他服务商所追随的道路。当您没有客户时,这是一个绝佳的起点,即使在您开始拥有一些客户后,它仍能推动您的业务发展。(然后,一旦使用量激增,账单飙升到天际线上时,您可能会面临一个好问题,但这是一个合理的权衡。)

  • 第二个极端是当您的负载非常不规则时。当您的使用量出现剧烈波动或巨大峰值时。当基线只是您最大需求的一小部分时。或者当您不知道您需要十台服务器还是一百台时。在这种情况下,没有什么比云端更好了,就像我们在推出 HEY 时学到的那样,突然有 30 万用户在三周内注册尝试我们的服务,而我们的预测是六个月内有 3 万用户。

省钱大法二:数据中心大迁移

 

为了节省成本,去年 12 月,马斯克还关闭 Twitter 加州数据中心。

 

据悉,在平安夜前夕,纳斯克飞往加利福尼亚州的萨克拉门托——Twitter 三大主要计算存储设施之一的所在地——切断了维持该社交网络平稳运行的服务器。有知情人士表示,虽然有员工担心关闭这些服务器可能导致各种问题,但节省资金是首要任务。

 

随后,世界各地的用户报告 Twitter 服务中断。一些用户反馈 Twitter 出现很多奇怪的错误消息,比如看到空白页面、无法回复推文或关注热门话题,还有人被迫退出登陆。有熟悉 Twitter 基础设施的人士表示,如果萨克拉门托的设施仍在运行,它就可以在其他数据中心出现故障时提供备份计算能力,从而帮助缓解问题。

 

此外有消息称,当时马斯克为了省钱,计划将萨克拉门托的服务器搬到波特兰,基础设施团队称这项工作至少要九个月才能完成,马斯克一怒之下直接搭乘私人飞机跑去机房,拔了网路线与电源就搬上大卡车开始转移,最后整个工作一个月就完成了。

 


在今年 9 月出版的《埃隆·马斯克传》中,详细讲述了马斯克亲自迁移服务器的故事(节选,经编辑):

 

2022 年 12 月 22 日深夜,位于 X 公司 10 楼的会议室,马斯克正在与两名基础设施经理进行紧张的交谈。

 

位于萨克拉门托的一家数据服务公司允许 X 公司延长其服务器租约,以便在 2023 年有序迁出。一名显得有些紧张的基础设施经理告诉马斯克:“今天早上,他们回来告诉我们说这个计划不再适用,因为他们认为我们在财务上不再稳健。”

 

这个设施每年花费 X 公司超过 1 亿美元。马斯克想通过将服务器迁移到 X 公司在俄勒冈州波特兰的其他设施来节省这笔费用。另一位经理表示这项工作不能立即进行。她平静地说:“我们至少需要六到九个月的时间,因为萨克拉门托仍然需要服务流量。”

 

马斯克沉默了几秒钟,然后宣布:“你们有 90 天时间来完成这项任务。如果你们做不到,你们可以辞职。”这名经理开始详细解释迁移服务器到波特兰的障碍。“机架密度不同,电力密度也不同,”她说。“所以机房需要进行升级。”她开始详细介绍更多原因,但被马斯克打断。“这让我的大脑感到压抑,”马斯克说道,“你知道头爆炸的表情符号吗我的脑袋现在就是这个感觉。真是一堆屁话。波特兰明显有大量的空间,从一个地方迁移到另一个地方简直小菜一碟。”

 

“你们需要做的就是将服务器迁移到波特兰,”马斯克说道,“如果超过 30 天,我会很震惊。”他停顿了一下,重新计算。“找一家搬家公司,运输电脑需要一个星期,然后再花一个星期来连接它们。两周。就应该这样。”

 

所有人都默不作声。但马斯克仍在发火。“如果你们租了一个 U-Haul (一家租车公司),你们可能自己就能完成。”两位 X 公司的经理看着他,试图判断他是否是认真的。马斯克的两位亲密助手 Steve Davis 和 Omead Afshar 也在场。他们多次看到过他这样,知道他可能真的这么认为。

 

12 月 23 日星期五晚上,James 和他的弟弟 Andrew(马斯克的表弟)与马斯克一起从旧金山飞往奥斯汀,当飞机飞过拉斯维加斯时,James 提出了一个建议,他们现在就可以移动服务器。一个名为 Alex 的来自乌兹别克斯坦的 X 员工帮助他们进入了 X 公司的数据中心,内部共有大约 5200 个冰箱大小的机架,每个机架有 30 台电脑。每个机架重约 2500 磅,高 8 英尺。但马斯克认为“这些东西看起来并不难移动”,他向保安借了一把小刀,抬起地板上的一个通风口,这让他可以撬开地板面板。然后他爬到服务器下面,用小刀撬开了一个电箱,拔掉了服务器插头,等着看会发生什么。没什么异常发生。服务器已经准备好迁移。

 

第二天——圣诞前夜,马斯克召集了增援。Ross Nordeen,与他的朋友 James 在 Tesla 工作,从旧金山驱车而来。他在联合广场的 Apple Store 花了 2000 美元,买下了所有的 AirTags,这样服务器在迁移过程中就可以被跟踪。然后他去了家得宝,花了 2500 美元买了扳手、断线钳、头灯和拧下地震螺栓所需的工具。

 

Steve Davis,马斯克的忠诚副手,找人租了一辆半挂车,并安排了搬家车。其他来自 SpaceX 的援助队员也已到达。这些服务器机架都有轮子,所以团队能够断开其中四个并将它们推到待命的卡车上。这表明,这五千两百多个服务器可能在几天内全部移动。 “伙计们干得好!”马斯克兴高采烈地说。

 

到这周结束时,他们已经使用了萨克拉门托所有可用的卡车。尽管该地区受到了雨的袭击,他们在三天内移动了 700 多个机架。该设施之前的记录是一个月移动 30 台。这仍然留下了大量的服务器在设施中,但这群人已经证明了它们可以被快速移动。其余的部分在 1 月份由 X 公司的基础设施团队处理。

 

马斯克的疯狂举动引发了不少争议。网友海狗油 90 认为,“几乎没有人明白数据中心搬迁要搬的是服务、数据,而不是服务器本身,也不明白 X 这样的公司,服务连续性、数据一致性值多少钱。”

 

网友酷憋哥评论称:“除了证明马斯克胆子大,这个案例没有什么正面的意义,试想一下,哪个普通打工人可以做出这么鲁莽的决定?他或她是否能承担由这种行为导致的严重后果?所以最终只有老板能做这种事情,只要他愿意。”


参考链接:

https://twitter.com/XEng/status/1717754398410240018

https://www.cloudzero.com/blog/twitter-aws

https://twitter.com/thecat/status/1705860673149059115

https://weibo.com/1727858283/NkRTyymTQ

https://mp.weixin.qq.com/s/7xdSNegYf9zoH7tB8jMDuQ

2023-10-30 15:0413510

评论 6 条评论

发布
用户头像
除了他的第一性原理,spaceX有一帮他的能干兄弟也很关键
2023-11-21 12:02 · 浙江
回复
用户头像
老板说的都对,这结果也只有老板可以承担。
2023-11-13 15:45 · 湖南
回复
用户头像
用 Twitter 快十年了,最近看到的广告和垃圾推文是史上最多。
2023-11-04 09:06 · 上海
回复
用户头像
得罪了广告主,没人愿意在上面投放广告了。这X恐怕还要贬值。
2023-11-04 09:01 · 美国
回复
用户头像
就是这样搞,所以X估值现在就220亿了。钱是省了,但是总估值也减了一半。理论上现在买就只要220亿了。
2023-11-04 09:00 · 美国
回复
用户头像
只有不信邪的马斯克老板才敢这么降本增效。形势比人强,老板管形势。
2023-10-31 07:21 · 北京
回复
没有更多了
发现更多内容

Eureka的TimedSupervisorTask类(自动调节间隔的周期性任务)

程序员欣宸

Java SpringCloud 6月月更

PingCAP 入选 2022 Gartner 云数据库“客户之声”,获评“卓越表现者”最高分

Geek_2d6073

剖析 SPI 在 Spring 中的应用

vivo互联网技术

spring Java’ JavaSPI Spring SPI Dubbo SPI

浅谈DOM中的类型

大熊G

JavaScript 前端 6月月更

NodeJS mysql需要注意sql注入 🎈

德育处主任

Node SQL注入 6月月更

MySql 过滤查询(以字母开头,以数字开头,非数字开头,非字母开头)

迷彩

数据库 MySQL 数据库 6月月更

Python 设计模式:单例模式

宇宙之一粟

Python 单例模式 6月月更

mysql中的查询计划及sql语句性能分析:explain

乌龟哥哥

6月月更

全面双录倒计时,融云助力泛金融业务办理高效合规可回溯

融云 RongCloud

一条命令开启监控之旅!

TanCloud探云

开源 监控系统

如何写出同事看不懂的Java代码?

码农参上

后端 Java’

InfoQ 极客传媒 15 周年庆征文|分布式设计介绍

No Silver Bullet

6月月更 InfoQ极客传媒15周年庆 分布式设计

我把 b 站拉黑了!

博文视点Broadview

应用配置管理,基础原理分析

Java 微服务 构架

电商增长红海突围,借势小程序生态

Speedoooo

小程序 小程序生态 电商 移动开发 小程序运行时

实践 DevOps 时,可能面临的六大挑战

SoFlu-JavaAI开发助手

浅聊一下数据监控(针对MSSQL)

为自己带盐

SqlServer 数据监控 6月月更

DOM操作

Jason199

js DOM事件 6月月更

Java 中的Comparator使用技巧

Nick

Java stream 6月月更 Comparator nullsFirst

深度学习编程常用工具Jupyter Notebook

Damon

深度学习 Jupyter Notebook jupyterlab 6月月更

Flutter 中的 Flash 错误消息

坚果

6月月更

今天 2 点:关于龙蜥社区云原生 SIG 及安全容器 runD 介绍 | 第 24 期

OpenAnolis小助手

开源 云原生 虚拟化 sig 龙蜥大讲堂

如何使用物联网低代码平台进行设备调试?

AIRIOT

低代码 物联网 低代码开发

C#入门系列(二十一) -- 面向对象之继承

陈言必行

C# 6月月更

视频一对一源码,简单的搭建方式也有技术要求

开源直播系统源码

软件开发 二次开发 一对一源码

设计微博系统中“微博评论”高性能高可用计算机构

Fan

架构师实战营

Ajax入门教程

倔强的牛角

ajax 6月月更

SRE Lesson One -- Day1 准备你的工作环境

耳东@Erdong

SRE 6月月更 SRE Lesson One

【LeetCode】 移除字母异位词后的结果数组Java题解

Albert

LeetCode 6月月更

Linux开发_文件发送与接收

DS小龙哥

6月月更

知识管理系统有效推动中小企业信息化发展

小炮

疯狂马斯克的“极限”计划居然成功了?!“下云”后成本降低60%,部分功能代码精简90%,30天急速迁移服务器_云计算_凌敏_InfoQ精选文章