健康 DevOps 生命周期的七个(或更多)阶段

45 篇文章 0 订阅

在这里插入图片描述

如果您正好看到这篇博客,那么您可能已经很熟悉 DevOps 了,但是在外行看来,这个术语由两个单词组成:“development(开发)”和“operation(运营)”。其概念具有广义和狭义两个方面。DevOps 理念旨在鼓励跨团队协作;而 DevOps 实践则涉及改进软件开发的工具和流程。这也是我们今天所讨论的方向。

为便于理解,我们通常需要将其一一拆解,逐一分析其组成部分。人类天生富有好奇心,也正是好奇心帮助技术专家脱颖而出。这一定律同样适用于 DevOps。如果您想与组织中的开发人员沟通,您首先应了解 DevOps 生命周期的各个阶段。

开发

从技术上来看,DevOps 的第一个阶段由两部分组成:规划代码和编写代码。在这一阶段,项目团队战略性地拆解开发过程,直到形成更小、更易于管理的开发周期。

在规划阶段,团队先识别和分析业务需求,然后再从最终用户处收集反馈信息,这样其就知晓需要改进什么,以及为什么需要进行改进,二者同样重要。使用 Jira 等工具辅助冲刺规划和问题监测,团队创建路线图跟踪开发进程,同时确保按时完成关键的可交付成果。

然后,开始代码编写阶段。这一阶段需要版本控制工具的辅助,例如 Git,这个工具可以帮助开发人员跟踪代码的变更情况。在编码实践过程中,它也能为团队提供帮助,无论所用的语言为何,都可以最大限度地降低安全漏洞的风险。

集成

集成阶段是 DevOps 生命周期的核心,可能也是最重要的一环。在这一阶段,开发人员通过构建工具将新代码提交到共享代码库中。常用的工具包括 Jenkins、GitHub 和 GitLab,不过您最好仔细对比研究,再做出决策,因为每种工具处理集成和交付部分的方式都有所不同。

这一阶段会频繁更改源代码(每天或每周),并且每次都要构建提交,这意味着可以快速识别各种错误。

(团队)通常会在测试或中间版本中增加并持续测试能够增强功能和安全性的代码,以反映不断变化的最终用户体验。在这过程中,团队必须确保更新后的代码能够与其需集成的其他系统良好对接,这正是团队的一大挑战。希望最终能够开发出安全、灵活且用户友好的产品。

测试

然后,质量保证人员 (QA) 利用 Docker 容器,模拟测试环境,对开发人员构建和更新的代码进行测试,确认是否存在错误、不可预见的错误和其他问题。在这一阶段,自动化是关键因素,因为自动化可以减少开发人员的工作量,否则,开发人员不得不耗费大量时间进行手动测试。

自动化测试包括用户界面 (UI) 测试、负载测试和安全扫描等,它们可以重复运行,生成报告,从而简化评估流程,并突出风险领域。不过,万事皆有风险。如果团队发现问题,项目会返回到集成阶段进行修改(尽管一些团队更乐意回到测试阶段而非集成阶段)。

最终,测试是涉及各个利益相关者的重要一步,做好测试工作,有助于完美集成产品。这也是质量保证团队体现其价值之处。

部署

一旦团队测试完新代码,代码就必须部署到生产环境中,而这一过程非常棘手。对于那些必须一直在线的应用程序或直播游戏,更新的推送必须尽可能减少干扰,在理想情况下,最好不要造成停机。在这一阶段,团队必须高度谨慎,因为验证后的代码会在第一时间呈现到真实用户面前。

此时,团队必须配置产品功能,并保持功能一致性,所以,使用 Chef 等工具实现配置管理,发挥着至关重要的作用。代码必须准备部署到各可用服务器上,这样才能避免预定发布。如果成功,这样的做法可以加快反馈过程,同时便于开发人员快速解决各种问题。

监测

既然软件是随最终用户运行的,那么团队就必须持续监控软件的健康状况,因为实际应用中总会遇到各种意想不到的挑战。因此,在这一阶段,团队需要采用正确的工具(例如 Splunk)收集使用数据,这样才能理解和克服反复出现的系统错误。

监测过程中发现的任何重大问题,都意味着软件必须重新运行,再走一遍早期的所有 DevOps 阶段——这真是天赐良机!

反馈

在反馈阶段,我们会分析团队在集成和测试阶段所做的各种改进。这样做的目的是确定更新对产品的影响。此时的首选方法是邀请客户反馈意见。然后,基于反馈分析,我们可能会进行新的迭代,其中会涉及产品团队和管理等利益相关者。

反馈意见可以来自社交媒体等来源,也可以通过问卷调查和小组讨论等更可控的方式收集。二者的目标相同——都是了解用户对产品的感受。

运营

运营阶段时间最短,但这并不表示此阶段就不重要。运营关注的是连续性,确保团队能够不间断地工作。其目标的建立自动化的产品发布和更新流程。

额外优势——持续运营

这并不是第八阶段,但我们会把它作为一个额外优势。开发周期越来越短,最终演变成持续运营,从而使组织不断加快速度,缩短产品上市时间。

DevOps 生命周期的业务优势

我们知道,一个健康的 DevOps 生命周期具有七个(或更多)阶段。坚持遵循这些阶段,企业能够从诸多方面获益,包括:

  • 提升客户体验——应用程序始终运行,一直在不断改进,始终处于最佳状态
  • 数字化转型——组织可以将其运营转到云端,转变成为数字原生企业,而不影响其发展过程
  • 降低生产成本——平稳的开发过程有助于企业降低管理和整体生产成本
  • 更优质的产品——加强开发人员和信息技术运营之间的协作关系,有助于优化反馈流程,从而提高产品质量
  • 加快开发周期——开发进程不再是线性发展的,因此无需从零开始

Incredibuild 热衷于帮助公司加快发展,利用常规的新产品和改进,超越客户期望。

访问我们的开发加速页面,了解我们如何帮助微软等企业不断迭代。

点击获取试用 License !
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值