服务器变更管理模式与实践
1. 不可变服务器与基础设施
1.1 不可变服务器的概念
“不可变服务器”这一术语由Ben Butler - Cole提出。不可变基础设施是指通过构建新的基础设施元素来进行配置更改,而非对正在使用的元素进行修改。这样能确保任何更改在投入生产前都经过测试,避免对运行中的基础设施进行更改可能带来的意外影响。
1.2 不可变服务器的特点
服务器的配置被嵌入到服务器模板中,因此服务器的内容是可预测的,除了运行时状态和数据外,其他部分都基于基础镜像以及构建模板时应用的配置定义和脚本。不过,不可变服务器仍可能出现配置漂移,因为其配置在部署后可能被修改。通常的做法是结合“凤凰服务器”模式,缩短服务器的生命周期,例如每天重建服务器,减少未管理更改的机会。也可以将服务器文件系统中不应在运行时更改的部分设置为只读。
1.3 对“不可变”的理解
“不可变”这个术语用于描述这种模式可能会产生误导,因为真正不可变的服务器是无用的。服务器启动后,其运行时状态会发生变化。更准确地说,“不可变”应指服务器的配置,而非整个服务器。这有助于团队明确区分配置和数据,确定哪些元素作为配置进行确定性管理,哪些作为数据处理。
2. 容器化服务
2.1 容器化服务的优势
标准化的轻量级容器打包、分发和编排方法日益流行,为简化服务器配置管理提供了机会。在这种模式下,服务器上运行的每个应用程序或服务都与其所有依赖项一起打包到容器中。对应用程序的更改通过构建和部署新的容器版本来实现,这是不可变基础设施概念在应用程序层面的应用。
超级会员免费看
订阅专栏 解锁全文
8万+

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



