持续交付 36 讲
王潇俊
携程系统研发部总监
39682 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 42 讲
开篇词 (1讲)
结束语 (1讲)
持续交付 36 讲
15
15
1.0x
00:00/00:00
登录|注册

20 | Immutable!任何变更都需要发布

Application of immutable thinking in your company
New challenges in continuous delivery with containers
Importance of the immutable model
Every change is a release, every release is a system rebuild
Expansion of continuous delivery in the container era
Evolution of technologies to meet speed and scalability requirements
Golden image, VDI, Phoenix Server, Infrastructure as Code
Challenges with divergence and convergence models
Divergence, convergence, and consistency models
Ensuring consistent behavior
Blue-green deployment concept
Similarity to immutable classes in Java
Impact on continuous delivery
Immutable Infrastructure concept
Reflection
Conclusion
Back to Continuous Delivery
Derivatives of Immutable Infrastructure
The Myth of Immutable Infrastructure
Derived from Continuous Delivery
Introduction
Immutable Infrastructure

该思维导图由 AI 生成,仅供参考

在专栏的第 13 讲《容器技术真的是环境管理的救星吗?》中,我们初步结识了不可变基础设施(Immutable Infrastructure),这里我们再一起回顾一下:
在这种模式中,任何基础设施的实例(包括服务器、容器等各种软硬件)一旦创建之后便成为一种只读状态,不可对其进行任何更改。如果需要修改或升级某些实例,唯一的方式就是创建一批新的实例来替换它。
这种思想与不可变对象的概念完全相同。
为什么我会说,不可变基础设施的思想对持续交付的影响非常深远呢?因为不可变的思想正是解决了持续交付一直没有解决的一个难题,即环境、顺序、配置这些基础设施在测试环节和生产环节的不一致性所带来的问题。
那么,今天我就来详细分析一下不可变基础设施的由来、影响,以及如何实现的相关内容。

从持续交付中来

如果你是一个程序员,其实很容易理解不可变基础设施的概念,以及其实现的方式。因为它就和 Java 中的不可变类完全相同:类实例一旦创建,就无法变更,而可以变更的是指向实例的引用。
其实早在 2011 年出版的《持续交付:发布可靠软件的系统方法》一书中,就曾提到“蓝绿发布”的概念:你需要更新一组实例,但并不是直接在原有实例上进行变更,而是重新启动一批对等的实例,在新实例上更新,然后再用新实例替换老实例。此时老实例仍旧存在,以便回滚。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

不可变基础设施(Immutable Infrastructure)是一种革命性的基础设施管理模式,其核心思想是将基础设施实例变为只读状态,通过创建新实例来替换旧实例,从而解决了持续交付中环境、顺序、配置不一致性的问题。这种模式对持续交付产生深远影响,尤其在容器时代。文章介绍了不可变基础设施的由来、影响以及相关衍生技术,如容器技术等。它强调了每一次变更都是一次发布,每一次发布都是一个独立镜像的启动,以及如何理解和应用“不可变”模型。同时,提出了持续交付面对的新问题,即持续交付不再仅限于交付可运行软件,而是连带基础环境一起交付。这篇文章深入浅出地阐述了不可变基础设施的概念、重要性和应用,对于正在探索持续交付和基础设施管理模式的读者具有重要的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《持续交付 36 讲》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(3)

  • 最新
  • 精选
  • Milo
    想了解下大家怎么处理数据库版本回滚的

    作者回复: 数据库不回滚,且必须做到向前兼容

    2018-08-24
    4
  • 春风百里
    请问,按照每一次变更都是一次发布,每一次发布都是一次独立镜像启动,那在配置中心做的配置变更,也算是一次发布,但是并没有产生新的独立镜像,这个怎么理解?
    2020-03-18
    1
    1
  • 禾子先生
    不可变思想在mybatis的使用中有应用,通过MBG生成的代码不可变,有特殊需求,继承或新增。
    2018-08-19
    1
收起评论
显示
设置
留言
3
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部