构建生产级基础设施为何如此耗时及相关最佳实践
在软件开发和运维领域,构建生产级基础设施往往需要比预期更长的时间。软件项目的时间估算向来不准确,而 DevOps 项目更是如此。一个原本预计只需五分钟的快速调整,可能会耗费一整天;一个预计一天完成的小功能,可能需要两周;一个原本以为两周就能投入生产的应用,六个月后可能仍未就绪。这其实体现了霍夫施塔特法则:事情总是比你预期的时间要长,即使你已经考虑到了霍夫施塔特法则。
耗时的三大原因
- DevOps 行业尚处起步阶段 :“云计算”“基础设施即代码”和“DevOps”等术语直到 2000 年代中期至后期才出现,像 Terraform、Docker、Packer 和 Kubernetes 等工具也是在 2010 年代中期至后期才首次发布。这些工具和技术相对较新,且变化迅速,不够成熟,只有少数人有深入的使用经验,因此项目耗时超出预期也就不足为奇了。
- 易陷入“剃牦牛毛”困境 :“剃牦牛毛”指的是在完成原本想做的任务之前,必须先完成一系列看似无关的小任务。例如,原本想给汽车打蜡,却因为水管坏了要去买新的,而买水管又因为没有 EZPass 去商店变得困难,借 EZPass 又要先归还借邻居的东西,归还东西又要先修复物品,最后可能跑到动物园去剃牦牛毛。在 DevOps 中,这种情况很常见。比如部署一个小的拼写错误修复时,可能会发现应用配置有 bug,修复配置又会遇到 TLS 证书问题,解决证书问题又会因为部署系统的问题失败,最后可能要更新整个服务器舰队的操作系统。这部分原因一方面是 DevOps 技术和现代系统设计不成熟,基础设施存在大量紧密耦合和重复;另一方
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



