客户案例|SNOW Corp 基于 HAMi GPU 共享与 KEDA 自动伸缩,支撑 2 亿用户 GenAI 服务
探索 SNOW Corp 如何编排 1,000+ 张 GPU 应对 700% 病毒式流量峰值,实现 MTTR 缩短 91%、峰值流量错误减少 85%、预估节省成本 1,740 万美元,基于 Kubernetes 上的 HAMi 和 KEDA。
公司概述
SNOW Corp. 是韩国 NAVER 集团旗下子公司,运营着 1,000+ 张 A100 GPU 的计算集群,为 SNOW、EPIK、B612 三款全球排名领先的 GenAI 应用提供 AI 功能服务,覆盖 2 亿 + 全球用户。基础设施承载 1,200+ AI 工作流和 400+ 模型,需要应对病毒式 AI 趋势带来的极端流量波动。
韩国领先科技平台 NAVER 集团旗下子公司
三款全球领先的 GenAI 应用:SNOW、EPIK、B612
生产环境承载 1,200+ AI 工作流和 400+ 模型
多区域本地化 Kubernetes 平台
SNOW Corp.
NAVER 旗下子公司,服务全球 2 亿 + GenAI 用户
挑战:极端规模下的 GPU 调度
Kubernetes 原生 GPU 调度将 GPU 视为原子资源——Pod 要么获得整张 GPU,要么什么都没有。这种模式在 SNOW 面临异构工作负载需求和不可预测的病毒式流量峰值时彻底失效。
异构工作负载需求
训练流水线、推理服务和批处理具有截然不同的 GPU 利用率特征。训练任务可能消耗 80% 的 GPU 算力但仅用 20% 显存,而推理服务的利用率特征正好相反。
流量不可预测性
病毒式 AI 趋势和异构推理工作负载产生了 700% 的流量峰值。缺乏 GPU 级别的可观测性,扩缩容决策只能依赖人工或粗略的 CPU/内存指标,无法反映 GPU 真实的饱和程度。
调度盲区
在采用 Kubernetes 之前,同一 Pod 中的 2-3 个容器在无协调的情况下竞争 GPU 资源。基于负载预测的手动 GPU 配置导致约 2 倍的资源超配。
成本爆炸
为应对峰值负载,SNOW 不得不超配约 2 倍资源——一张用于训练,一张用于推理——而理论上只需要一张即可。
解决方案:CNCF 生态驱动的 GPU 编排技术栈
SNOW 迁移至多区域本地化 Kubernetes 平台,整个技术栈由 CNCF 生态支撑:Cilium 作为 CNI、Helm 实现 GitOps 部署、Traefik 作为 Ingress、Prometheus/Loki/Grafana 提供可观测性、HAMi 实现 GPU 共享、KEDA 实现自动伸缩。
基于 HAMi 的 GPU 共享
Kubernetes 默认调度器执行严格的 GPU 隔离,这阻断了 SNOW 顺序式训练 - 推理流水线的迁移——训练器和推理引擎必须共享同一张 GPU。HAMi 通过虚拟化 GPU 资源(vGPU)解决此问题,使同一 Pod 中的多个容器能够并发共享单张 GPU。
与 kube-scheduler 原生集成,无需修改任何应用代码
与更广泛的自动伸缩生态系统完全兼容
训练 + 推理流水线所需 GPU 数量减少 2 倍
基于 KEDA 的主动 GPU 编排
标准指标(CPU/内存、DCGM 利用率)对 SNOW 的异构工作负载不可靠。KEDA 内置的 RabbitMQ 缩放器充当滞后指标——考虑到约 60 秒的模型预热时间,在队列积压形成后触发缩放总是太晚。
自定义 Metric Server(Python/FastAPI)向 KEDA 暴露消费者饱和度指标
主动伸缩:当 active_ratio 超过阈值(如 0.7)时,KEDA 在工作池饱和前预配新 GPU Pod
智能缩容:更长的 stabilizationWindowSeconds 和 cooldownPeriod 防止过早释放资源
应对病毒式峰值的混合云弹性扩展
当「吉卜力滤镜」等病毒式趋势在 3 小时内将流量推高三倍时,SNOW 通过统一的 GitOps 流水线动态扩展至云服务商区域,在所有集群中部署相同的 Helm Charts。
统一 GitOps 流水线,在所有集群部署相同的 Helm Charts
云服务商工作节点直接从中央 RabbitMQ 队列消费任务
无缝多集群扩展,零服务中断
影响与成果
SNOW 的云原生转型展示了如何将 Kubernetes 与更广泛的 CNCF 生态相结合,在极端规模下克服 GPU 调度和可观测性的根本性限制。
MTTR 改善
91%
从约 2 小时缩短至约 10 分钟
峰值错误减少
85%
峰值流量期间 GPU 涌涌相关用户错误
成本节省
1,740 万美元
相比按需云 GPU 配置的预估节省
GPU 使用时间
-55%
通过主动自动伸缩平均 GPU 使用时间减少
GPU 需求
减少 2 倍
通过 HAMi 共享训练 + 推理所需 GPU
运维节省
10.8 人月
消除手动扩缩容,采用指标驱动的自动化
“SNOW 的云原生转型展示了如何将 Kubernetes 与更广泛的 CNCF 生态相结合,在极端规模下克服 GPU 调度和可观测性的根本性限制。通过引入 HAMi 实现 GPU 共享,并利用主动式自定义指标增强 KEDA,SNOW 从被动的手工运营转向了预测性的自动化编排。”