云原生模式
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

小结

■ 为了让编写的代码实现价值,你需要做到两件事:能够简单且频繁地发布,让它在生产环境中良好地运行。

■ 如果这两个目标其中之一没有实现,不应该归咎于开发人员或者运维人员。一个失败的系统才是“罪魁祸首”。

■ 系统之所以失败,是因为采用了定制化从而难以维护的解决方案,它的环境给软件部署本身带来了风险,同时它将软件和环境中的变化视为一种例外情况。

■ 当部署存在风险时,部署频率就会降低,但这只会让部署有更大的风险。

■ 你可以反过来看面对的这些问题,即关注可重复性、确保部署的安全性、拥抱变化,并创建一个支持部署而非阻碍部署的系统。

■ 可重复性是优化IT运维的核心,自动化不仅适用于软件的构建过程,还适用于运行时环境的创建和应用程序的部署过程。

■ 在基于云的环境中,软件设计模式和运维实践都会不断发生变化。

■ 新系统依赖于一个支持持续交付、高度迭代的软件开发生命周期。

■ 企业需要具备持续交付的能力,才能在当今的市场竞争中获胜。

■ 让整个系统具有更细的粒度是关键。更短的开发周期和规模更小的应用程序组件(微服务)可以显著提高开发的敏捷性和系统的弹性。

■ 在一个一定会变化的系统中,实现最终一致性是最重要的。


[1] 请查阅维基百科上的“Fallacies of Distributed Computing”词条获得更多信息,网址参见链接15。

[2] 更多信息请参考Pivotal官方的API文档,网址参见链接16。

[3] 谷歌在2018年发布的报告“Accelerate:State of DevOps”中介绍了更多相关内容,文章网址参见链接17。