知识卡片
雪花服务器到不可变服务器
内容
基础设施自动化程度可以分三级:手工配置的服务器是”雪花服务器”——独一无二、脆弱、无法复现,改动风险极高;把配置变更也用代码定义并可重复执行的是”凤凰服务器”——出问题就按代码重新生成,旧的销毁;把这个思路推到极致,服务器一旦配置完成后就再也不在原地修改,任何变更都是先用新代码生成一台新服务器、切换过去、再销毁旧的,这就是”不可变服务器”。基础设施即代码(infrastructure as code)和配置即代码(configuration as code)是支撑后两级的手段。发散:这条演进路线本质是把”运维操作”逐步变成”版本控制里的可重放变更”,和不可变数据结构在编程里解决的问题是同一类——消除因果不清的中间状态。
参考来源
《Cloud Native Spring in Action》第1章《Introduction to cloud native》