Go 语言项目开发实战
孔令飞
腾讯云专家工程师,前 Red Hat、联想云工程师
41030 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 61 讲
Go 语言项目开发实战
15
15
1.0x
00:00/00:00
登录|注册

09 | 研发流程设计(下):如何管理应用的生命周期?

NoOps
GitOps
ChatOps
AIOps
Ops
CI/CD
DevOps
研发模式
敏捷模式
迭代模式
瀑布模式
2. 添加企业微信机器人并思考自动化工作
1. 使用GitHub Actions进行静态代码检查
建议选择合适的技术
概念澄清
应用生命周期管理技术的演进
大厂的应用生命周期管理
探索GitOps、AIOps
引入ChatOps
建立CI/CD流程
选择合适的研发模式
NoOps
GitOps
ChatOps
AIOps
持续部署
持续交付
持续集成
敏捷模式
迭代模式
瀑布模式
管理技术类别
演进维度
课后练习
总结
如何选择合适的应用生命周期管理技术?
DevOps:研发运维一体化
CI/CD:自动化构建和部署应用
研发模式
应用生命周期管理技术
如何管理应用的生命周期?

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

你好,我是孔令飞。今天我们来聊聊如何管理应用生命周期。
上一讲,我们介绍了一个相对标准的研发流程,这个研发流程可以确保我们高效地开发出一个优秀的 Go 项目。这一讲,我们再来看下,如何管理我们的 Go 项目,也就是说如何对应用的生命周期进行管理。
那应用的生命周期管理,怎么理解呢?其实,就是指采用一些好的工具或方法在应用的整个生命周期中对应用进行管理,以提高应用的研发效率和质量
那么,如何设计一套优秀的应用生命周期管理手段呢?这就跟研发流程“设计”的思路一样,你可以自己设计,也可以采用业界沉淀下来的优秀管理手段。同样地,我更建议你采用已有的最佳实践,因为重复造轮子、造一个好轮子太难了。
所以,这一讲我们就一起学习下,业界在不同时期沉淀下来的优秀管理手段,以及我对这些管理手段的经验和建议,帮助你选到一个最合适的。

应用生命周期管理技术有哪些?

那么,有哪些应用生命周期管理技术呢?
在这里我先整体介绍一下,你先有个大致的印象,一会我们再一个个细讲。我们可以从两个维度来理解应用生命周期管理技术
第一个维度是演进维度。应用生命周期,最开始主要是通过研发模式来管理的,按时间线先后出现了瀑布模式、迭代模式、敏捷模式。接着,为了解决研发模式中的一些痛点出现了另一种管理技术,也就是 CI/CD 技术。随着 CI/CD 技术的成熟,又催生了另一种更高级的管理技术 DevOps。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了应用生命周期管理的概念和技术,包括研发模式和DevOps。在研发模式部分,详细介绍了瀑布模式、迭代模式和敏捷模式,以及它们各自的优缺点。同时,对于CI/CD技术和DevOps进行了详细解释,包括持续集成、持续交付、持续部署以及DevOps中的AIOps和ChatOps等新兴技术。文章通过介绍不同的应用生命周期管理技术,帮助读者了解了如何选择合适的管理手段来提高应用的研发效率和质量。 GitOps是一种持续交付的方式,通过将应用系统的声明性基础架构和应用程序存放在Git版本库中,实现自动化部署和运维。NoOps则是无运维的理念,将维护工作交由云厂商完成,实现完全自动化的运维。在选择应用生命周期管理技术时,建议根据团队、项目选择合适的研发模式,建立CI/CD流程,并尝试引入ChatOps、GitOps和AIOps等自动化技术。 总的来说,本文从技术演进的角度介绍了应用生命周期管理技术,强调了敏捷模式、CI/CD技术和DevOps的重要性,同时提出了如何选择合适的应用生命周期管理技术的建议。这些技术和理念可以帮助提高应用的研发效率和质量,适应互联网时代快速迭代的需求。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Go 语言项目开发实战》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(21)

  • 最新
  • 精选
  • helloworld
    敏捷模式和迭代模式的本质区别是什么呢?这块没get到

    作者回复: 迭代模式关注研发流程。而敏捷模式不仅会关注研发流程,还会关注之外的一些东西,例如:团队协作,需求拆分等

    2021-06-17
    10
  • Fan
    2. 尝试添加一个能够每天自动打印“hello world”的企业微信机器人,并思考下,哪些自动化工作可以通过该机器人来实现。 这个没有弄过。怎么整呢?

    作者回复: 一言难尽,百度下教程,一大堆,哈哈,试试企业微信机器人

    2021-08-09
    4
  • aoe
    感觉自己在铁匠铺工作,离自动化太远了

    作者回复: 日常工作可以多思考下如何自动化,对效率提升帮助很大。我们现在只需要执行git push,自动化流程,就能一键创建测试环境、执行测试用例、创建发布单、审批、拉群、企业微信通知等

    2022-03-09
    3
  • 我好像一点都不像程序员
    我司用的是敏捷模式,工具是TAPD+自研的专项需求管理平台 双周一迭代,每次迭代都是提供可持续使用的产品。

    作者回复: 感谢分享! TAPD确实是非常不错的工具,腾讯都是用这个,结合Coding、Git托管平台,可以实现非常强大的CICD功能

    2022-01-22
    3
  • lesserror
    孔老板文中说:“迭代模式,是一种与瀑布式模式完全相反的开发过程”。 我怎么感觉不是相反而是相同的开发过程呢?瀑布模式要经历的过程,迭代模式也要经历,只是迭代模式可能要经历多次这样?

    作者回复: 考虑问题的维度不同。 如果从你所说的角度来看,二者确实有很多相同的地方。 文中主要是强调,迭代模式把一个开发任务分成很多个迭代,每个迭代并不寻求最完美。 瀑布模式相当于是把很多个迭代合并为一个大的项目周期,周期中的每个阶段力求完美。 可以把这句忽略:“迭代模式,是一种与瀑布式模式完全相反的开发过程”,仍然不影响文中所要表达的意思。

    2021-09-21
    2
  • 遇见@z
    我们现在用的就是GitOps,效率的确挺高的

    作者回复: 牛叉!

    2021-06-16
    2
  • Leven
    Gitlab CICD来构建流水线平台,确实有所简化一些重复的工作。但是如果没有充足的资源来支撑流水线平台的运行,那么反而还没有本地打包发版快

    作者回复: 其实现在简历一套CI/CD流水线对很多公司都不是难点了

    2021-06-18
    3
    1
  • helloworld
    “Config Updater 服务会从镜像仓库中下载镜像,并更新 Git 仓库中的 Kubernetes YAML 文件。”,文中的这句感觉不太对,Config Updater没必要下载镜像吧,kubectl apply -f 会自动从镜像仓库下载

    作者回复: 应该是更新镜像名,我更新下文档

    2021-06-16
    1
  • helloworld
    感觉GitOps落地应该比AIOps要容易多了

    作者回复: 是的呀,GitOps是偏工程化,但AIOps更侧重算法

    2021-06-16
    1
  • 黎俊伟
    没有实战项目吗

    作者回复: 里面有一部分 比如cicd

    2021-06-15
收起评论
显示
设置
留言
21
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部