开发者学堂课程【ALPD 云架构师系列-云原生 DevOps36计:云原生时代的发布模式是怎样的?】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/82/detail/1277
云原生时代的发布模式是怎样的?
构建可持续部署的应用发布体系
回顾之前所学的内容:终态:提供稳定、可预期的系统。可预期的系统,需要确保运行环境和软件制品(例:容器镜像)一致性。
相同的代码(相同的依赖),相同的构建环境,相同的构建脚本,三个构建成相同的软件制品。相同的软件制品,相同的运行上下文,相同的编排规则,三个部署成一致的环境。一致的环境如果是一套环境肯定是生产环境,运发内存环境,最后是测试环境。
把制品放进生产环境中叫做发布过程。发布是将软件的特性增量交付给最终用户的过程。平时指把服务应用部署到生产环境的一个过程。部署到生产环境中用户就能使用。
这是常见的发布方式。
问题:想一想,你见过哪些不同的发布形式?
常见发布形式:
1、实体卡、光盘等。(游戏卡带,很多都是用实体卡带形式发布,当然现在是数字版。)
2、源码。(例如inbsdk inshsdk godsdk 是源码及时发布的)
3、library。(jar包)
4、Web UI。
5、Web Service。(后端服务,目前最常见的发布形式)
6、应用市场。(移动端是将应用发布到应用市场,升级由用户决定)
发布过程背景:经济全球化背景下的供应链,云研发背景下的软件交付。集装箱加速了经济全球化,在经济全球化背景下让供应链体系变得更高效。云研发背景下的软件交付和经济全球化背景下的供应链是类似的。做下简单类比,容器类比集装箱。这是在两种不同的生态里,怎样利用生态里的一些东西达到一种交付的目的?软件交付最终目的需要准确,低成本,高效率,能有一个稳定预期的系统服务。
云研发时代主流的软件发布形态让持续发布成为可能。主流发布形态变成服务化发布形态,Web Service 是同主流的发布形态。在这种形态上基于它去做持续发布,它就有了现实的基础。