云原生不可变基本设施
发布时间:2022-07-26 15:27 所属栏目:124 来源:互联网
导读:前面几篇梳理了容器和容器编排技术。本篇,想简单梳理一下上面一层:不可变基础设施。 从开发者角度来看,不可变基础设施在时间和空间的一致性是非常棒的,特别是在排查业务侧问题的时候。对于时间的理解,如果应用部署在某一个服务器上面的时候,运行了一段
前面几篇梳理了容器和容器编排技术。本篇,想简单梳理一下上面一层:不可变基础设施。 从开发者角度来看,不可变基础设施在时间和空间的一致性是非常棒的,特别是在排查业务侧问题的时候。对于时间的理解,如果应用部署在某一个服务器上面的时候,运行了一段时间(比如100天),服务器的状态还是一模一样的,这就能在很大程度上保证排查问题的效率;空间上,应用不管部署在研发区还是测试域、部署在linux还是windows,空间上也能做到一致。 可变基础设施常见问题: 服务频繁持续的变更会给服务运行引入很多中间态,从而导致软件熵的增加,不可知风险增加; 故障出现时,很难快速构建出新的服务副本,依赖于部署时的高可用节点; 很难标准化,交付运维过程异常痛苦,虽然可以通过 Ansible、Puppet 等部署工具进行交付,但是也很难保证对底层各种异构的环境支持得很好,还有随时会出现的版本漂移问题。比如你可能经常遇到的,某个软件包几个月之前安装还能够正常运行,现在到一个新环境安装后,竟然无法正常工作了。 不可变基础设施是另外一个思路,部署之后即是只读状态,不可对其进行修改,如果需要更新或修改,则使用新的环境或服务器去替代旧的。不可变基础设施可以避免可变基础设施中遇到的各种常见问题。 不可变基础设施的特点 一致性 一致性是最明显的一个特征,不可变基础设施保持一致,同样的版本,同样的配置,和管理相同机器一样管理很大规模的集群; 简单 所有机器和实例都是一样,只有扩容和销毁两个状态,所有系统只要处理这两个状态就可以; 安全 所有实例扩容之后不会变,扩容之前可以对其进行充分的测试,安全人员可以对代码进行扫描,保证应用实例相关的数据都是经过测试安全的。 (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读