云上一年花掉 10 万美元,我们决意本地部署私有云

简介: 自从 2000 年初全球首家公有云服务商成立以来,云计算的普及从根本上改变了互联网的格局,而且变革烈度之大远超以往。

自从 2000 年初全球首家公有云服务商成立以来,云计算的普及从根本上改变了互联网的格局,而且变革烈度之大远超以往。

作为第一家在 2000 年初就将内部计算基础设施通过 API 向外部客户出租的云服务商,Amazon 创造了“基础设施即服务”(IaaS)一词。Google 与微软也不甘于人后、很快决定跟进,于是就有了 Google Cloud Platform (GCP) 和微软 Azure 两款 IaaS 产品。在 IaaS 厂商时代之前,人们几乎从未听说过基于 Web 或者 SaaS(软件即服务)的商业模式。倒不是人们想不到,只是其中困难重重、成本也太过高昂——服务商必须购买专用服务器及高带宽连接,才能及时处理网站上传入的大量访问请求;还需要聘请工程师构建起一套可扩展系统;如果打算向国外客户提供服务,企业还需要在相应的地理位置部署服务器。

IaaS 厂商则给企业客户提供更短的产品上市周期、显著降低开发成本,帮助客户在几天之内就能用少量资金开发出在线、可扩展且面向全球的服务。这一切,在二十多年前几乎根本无法想象。

为何决定将众多流程转移至本地部署私有云?

首先要向大家介绍一下,Enzymit 的主要工作就是利用云服务对蛋白质设计进行资源密集型计算,我们并没有多少需要跨越多个地理区域进行扩展,或者每分钟需要处理数百万个请求的开放式应用程序。我们的主要用例就是运行繁重的 CPU 与 GPU 分析,而且在实践中逐渐发现 IaaS/ 公有云解决方案其实并不能带来长远的成本效益。

从我们的角度来看,公有云服务的第一个显著短板就是成本透明度。尽管目前最具体量的几大 IaaS 厂商都投入了大量资源,希望为客户打造出准确的计费模拟器与支出预测工具,但我们发现只有在客户将公有云 API 作为工程师与“原始”计算基础设施之间的中间层时,这些方案才有良好效果。换句话说,只有客户把自己锁定在单一 IaaS 厂商身上,成本透明度才能得到保障;如果选择跨云,成本优化能力就会大打折扣。而如果我们不希望把软件锁定在某家云服务商处,而单纯使用其准系统基础设施来保证后续在不同云厂商间的迁移能力,那可就麻烦了。这时我们需要面对的是极为复杂的计费模型,感兴趣的朋友可以参考本指南,而且这还只是单一服务商的数据传输计费模型!

正因为如此,企业客户一般都需要聘请认证专家,由他们专门负责在添加存储、CPU 及其他资源时设计出易于理解和验证的成本结构。云服务商也不失时机地推出了认证资质考试,这同样是个可观的收入来源。

在建立 Enzymit 之后,我们也从某公有云巨头那边拿到了可观的服务积分。跟大部分人手紧张的初创公司一样,我们兴高采烈地涌入云端、并没有注意到自己在架构设计上的失误。由于资源利用率低下,我们白白浪费掉了价值数千美元的积分,但最终还是在云上运行起一套利用 GPU 执行神经网络训练 / 推理、通过 CPU 执行计算的业务平台。

不过在一年花掉 10 万美元服务费后,我们计算出每线程每小时的成本约在 0.06 美元到 0.08 美元之间——包含存储、数据传输以及 CPU 使用等资源要素(不含 GPU 资源)。

因为我们每月大约需要运行 12 万个 CPU 时,所以单月云成本就高达 7200 到 9600 美元!有这笔钱,我们完全可以买到配备有 RTX 3090 顶级 GPU 的强大服务器了。

这一发现,让我们开始考虑至少应该把部分工作负载转移到本地计算服务器上。经过初步规划,我们决定购置三台工作站,总成本为 17000 美元。其一是基于 GPU 的工作站,配备两块 RTX 3090 显卡外加一块英特尔 i9-12900 CPU。另外两台工作站则分别配备 16 核 AMD Ryzen 5950X CPU。

我们又投入了一定人力,在几天之内完成了 slurm、NFS、备份等常用服务的设置和部署。

我们注意到,虽然 RTX 产品被广泛理解成高端游戏显卡,但其性能并不弱于 Tesla V100(有时候甚至更好)。部分云服务商甚至为 RTX 3090 开出了每小时 3.06 美元的租赁天价。

我们也知道,维护自己的计算基础设施并不便宜,而且需要考虑维护、安全等一系列隐藏成本。

在接下来的几个月中,我们将持续收集各项数据,希望最终找到一套更具成本效益的完善解决方案,真正在本地基础设施与公有云服务之间寻求平衡点。但无论如何,经历了几个礼拜的本地基础设施使用之后,我们意识由于资源规模完全无法与公有云相比、所以必须对本地负载做出详尽规划。但另一方面,只要规划得当、实验顺利,我们实际消耗的资源远比当初在云上时要低。

云使用不当便是“杀器”

2021 年 CNCF《FinOps Kubernetes Report》调研报告显示,迁移至 Kubernetes 平台后,68% 的受访者表示所在企业计算资源成本有所增加,36% 的受访者表示成本飙升超过 20%,这都说明即使是资源利用率更高的云原生架构也需要合理的资源成本管理。

星汉未来联合创始人 &CPO 胡忠想此前的文章中在优化云成本方面提出了四点建议,不同企业可以根据自己现阶段情况有条件地加以选择:

  • 做到成本可观测。通过建立资源利用率指标和每日对账机制,让企业各部门对成本的认识及管理能力保持一致。
  • 公有云物尽其用。企业由于对云产品了解不够、对云成本认识不足,引入公有云从而导致业务复杂度提升、相应成本提高。企业可以通过定时扩缩容和机型降配两种手段,充分利用公有云的弹性和退改灵活性,直接有效降低公有云的使用成本。
  • 充分利用弹性与共享。企业可以利用 Kubernetes 切割现有资源并以固定 IP 形式交付资源,并对流量模型进行抽象,结合具体业务建立自动扩缩容和错峰调度等。
  • 异地部署、混合编排和在离线整合。这些方式需要从企业整体层面考虑,通常不是一个部门能解决的。企业内部可以公司名义成立专项来实施,先从小业务入手,待验证平台功能完善后,再考虑逐步把核心业务迁移到平台,最终达到优化企业整体资源利用率的目的。

降低云成本会对企业利润产生重大影响。Zoom 公司在 2021 年一季度的财报中称,其毛利率从前一季度的 69.4% 上升至 73.9%,这主要是由于在公共云资源的优化上下了很大功夫。Spotify 自研追踪云计算开支的工具,同时鼓励工程师们掌握云计算支出的所有权,使其每年节省了几百万美元的云计算开支。

参考链接:

https://medium.com/enzymit-log/why-enzymit-decided-to-build-its-own-on-prem-hpc-infrastructure-bcaeff0105a7

https://www.infoq.cn/article/4CqbookqQAjQ4MGhzbHd

相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
目录
相关文章
|
8月前
|
机器学习/深度学习
YOLOv11改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
YOLOv11改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
645 8
YOLOv11改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
|
6月前
|
安全 Linux API
Burp Suite Professional 2025.4 发布 - Web 应用安全、测试和扫描
Burp Suite Professional 2025.4 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
299 6
Burp Suite Professional 2025.4 发布 - Web 应用安全、测试和扫描
|
6月前
|
人工智能 开发框架 小程序
【一步步开发AI运动APP】二、跨平台APP AI运动识别方案介绍
本系列博文旨在帮助开发者从【AI运动小程序】迈向性能更优的【AI运动APP】开发。通过「云智AI运动识别」uni-app版插件,提供本地原生极速识别、精准姿态检测及运动计时计数功能,支持健身系统、线上赛事、学生体测、康复锻炼等多场景应用。插件无需云端依赖,一次付费永久使用,成本低且扩展性强。同时兼容uni-app与uni-app x框架,适合不同技术背景的开发者快速上手,助力抢占AI辅助运动市场。下篇将介绍插件引入,敬请期待!
|
Java 应用服务中间件 容器
SpringBoot配置外部Tomcat并打war包
SpringBoot配置外部Tomcat并打war包
288 0
|
9月前
|
监控 安全 数据中心
基于Intel RDT平台技术的系统资源隔离能力提升|龙蜥大讲堂103期
龙蜥大讲堂103期探讨了基于Intel RDT平台技术在Koordinator项目NRI模式中提升系统资源隔离能力。课程分为三部分:1) NRI与Koordinator,介绍NRI框架及其应用;2) RDT与Koordinator,讲解RDT技术如何优化资源分配,提高集群效率;3) RDT技术发展,展望未来RDT技术的演进方向及在Koordinator中的集成进展。
170 0
|
JavaScript 前端开发 算法
JavaScript 中前置自增与后置自增:区别、应用场景
【4月更文挑战第6天】JavaScript中的前置自增`++a`先增后用,返回新值,适合复合赋值和循环计数;后置自增`a++`先用后增,返回原值,适用于保留变量原值的操作。二者差异在于运算时机和返回值,选择时要考虑递增时机和表达式中使用的值。在复杂表达式中应避免混用,注重代码清晰度和一致性。理解这些差异能提高代码效率,避免逻辑错误。
721 1
|
11月前
|
前端开发
Bootstrap5 消息弹窗(Toasts)3
本示例展示了如何使用HTML和Bootstrap创建并显示多个消息弹窗。通过设置`.toast-container`类及相应的位置属性,可以轻松控制弹窗的布局与间距。每个弹窗包含标题、时间戳及关闭按钮,支持自定义内容显示。
|
存储 关系型数据库 数据库
OceanBase数据库常见问题之修改日志盘的数据存储路径后控件不生效如何解决
OceanBase 是一款由阿里巴巴集团研发的企业级分布式关系型数据库,它具有高可用、高性能、可水平扩展等特点。以下是OceanBase 数据库使用过程中可能遇到的一些常见问题及其解答的汇总,以帮助用户更好地理解和使用这款数据库产品。
HIMA F6215 已取代快速以太网在有线本地网络
HIMA F6215 已取代快速以太网在有线本地网络
HIMA F6215 已取代快速以太网在有线本地网络
spring-state-machine持久化
spring-state-machine持久化
232 0