基础设施、云与 DevOps · 入门

环境:开发、测试与生产

一句话: 三个环境从同一份定义构建,只在配置和数据上不同——任何其他差异都是一个等着被发现的bug。

为什么重要

「在我机器上是好的」几乎总是环境差异:版本不同、少了一个变量、多了一个权限。当环境从同一个来源构建时,差异就缩小到只剩配置。

什么不同、什么相同

相同:版本、结构、部署流程、数据库表结构。不同:地址、密钥、资源规格和数据。

生产数据不能原样复制到测试环境。如果需要真实感的数据——做脱敏或生成合成数据。这既是隐私要求,也是基本卫生。

临时环境

为每次变更创建、合并后销毁的环境,能极大缩短评审:可以看见,而不只是想象。从团队第二个人开始就划算了。

深入一层

把环境当作代码来管理,这样才能从零重建一个环境。检验标准:如果今天早上所有服务器都被删了,重建全部要多久?如果答案不知道,那这不是基础设施,而是一堆累积起来的手工操作。