暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

停止使用Kubernetes后,员工更快乐了

103

Stackadem)ic 公司将基础设施从Kubernetes替换成了更简单的解决方案,整个过程值得让深思。

1:Kubernetes 的梦想与现实

Stackademic 公司三年前部署了Kubernetes,承诺非常吸引人:

  • • 大规模的容器编排

  • • 云原生架构

  • • 基础设施即代码

  • • 自动化扩展和自愈

Kubernetes 确实具有这些优势,但有很多的隐形成本。

虽然有8 名高级 DevOps 工程师,3 个专门的 SRE 团队,24/7 值班,但仍然出现了很多故障,包括4 次重大中断、23 次紧急部署、147 次错误警报、二名员工不堪重负离职。

2:看看Kubernetes成本耗费在哪儿了?

基础设施成本:

  • • 40% 的节点运行 Kubernetes 组件

  • • 控制平面美元就要花费25,000 美元

  • • 3 倍冗余以实现高可用性

人力成本:

  • • 每个新 DevOps 员工的培训需要 3 个月

  • • 60% 的 DevOps 时间花在维护上

  • • 值班事件增加了 30%

  • • 12 个月内有 4 名有经验的工程师离职

隐藏的复杂性:

  • • 基本部署需要 200 多个 YAML 文件

  • • 5 种不同的监控工具

  • • 3 种独立的日志解决方案

  • • 不断的版本兼容性问题

3:迁移开始

Stackademic 公司选择了最不关键的服务,并将其迁移到一个更简单的技术栈:

  • • AWS ECS 来管理和编排容器化应用

  • • 使用 CloudFormation 管理基础设施

  • • 尽量使用托管服务

  • • 使用简单的 shell 脚本进行部署

效果嘎嘎的:

  • • 部署从 15 分钟缩短到 3 分钟

  • • 基础设施文件从 200 多个减少到 20 个

  • • 每月成本从 12,000 美元降低到 3,200 美元

  • • 干扰的警报减少了 80%

4:全面替代

为每个工作负载选择合适的工具:

  • • 简单应用 → AWS ECS/Fargate

  • • 有状态服务 → 带 Docker 的 EC2

  • • 批处理任务 → AWS Batch

  • • 事件驱动 → Lambda

迁移过程就是逐步迁移:

  • • 从非关键服务开始

  • • 一次迁移一个服务组

  • • 新老系统并行运行

  • • 收集性能指标

5:六个月成果

技术改进:

  • • 基础设施成本减少 62%

  • • 平均部署时间加快 89%

  • • 生产事件减少 73%

  • • 警报噪音减少 91%

团队收益:

  • • 周末部署次数为零

  • • 值班事件减少 82%

  • • 无因疲惫而离职的情况

  • • 新团队成员入职更快

业务影响:

  • • 功能交付速度加快 47%

  • • 维持 99.99% 的正常运行时间

  • • DevOps 招聘时间减少 60%

  • • 每年基础设施节省 432,000 美元

6:总结

Kubernetes 并不差,只是被过度推荐了。

可能需要 Kubernetes:

  • • 运行着成千上万的微服务

  • • 需要复杂的自动扩展

  • • 有多云需求

  • • 需要高级的部署模式

可能不需要Kubernetes:

  • • 服务数量少于 20 个

  • • 规模是可预测的

  • • 主要使用托管服务

  • • 团队规模较小

对我来说,没有很强的掌控能力,千万别碰Kubernetes,使用云服务即可!

文章转载自虞大胆的叽叽喳喳,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论