软件开发模式:瀑布、敏捷、DevOps

软件开发模式:瀑布、敏捷、DevOpsDevOps 持续交付的八大原则对可运维性给出了这样的定义 在企业中研发和运维体系必然需要相互配合 开发团队负责功能性需求实现的同时 在架构和编码上注重非功能性需求的实现 测试团队与运维团队将围绕

大家好,欢迎来到IT知识分享网。

从瀑布式开发到敏捷开发再到DevOps,各个阶段的切换速度越来越快,瀑布式开发和敏捷开发的运维部署工作都是放到最后,而 DevOps 结合敏捷开发思想,将部署工作也敏捷起来。

最大的风险是,当产品研发完成后, 到了产品测试阶段如果发现了问题 ,或者发现其无法满足市场需求, 那么就需要重新开发,甚至需要重新规划产品。

敏捷适用于需求不明确、创新性或者需要抢占市场的项目,特别适合互联网项目。

在这里插入图片描述

DevOps 的独特之处在于开发、IT 运营、质量工程和安全团队协同工作,在发布新产品、版本或更新所涉及的所有任务中创造效率。

DevOps将开发和运营合并为一个团队,专注于快速交付和稳定的基础架构。其目标包括:

DevOps 基于其它两个领域的实践: 精益和敏捷。DevOps 不是一个公司内的岗位或角色;它是一个组织或团队对持续交付、持续部署和持续集成的坚持不懈的追求。三种方式定义 DevOps 的理念:

Start Small,从小做起

痛苦的事情优先解决

工具也是一种文化

自动化别人,先自动化自己

价值拉动,而非事务驱动

构建指标,驱动DevOps落地。

创建从开发过程下游至上游的反馈环。

强调全局优化,避免局部优化。

持续做试验和学习的文化,通过反复实践来达到精通。

DevOps融合了一系列基本原则和实践的方法论,并从这些实践中派生出了各种工具。这些工具体现在软件开发和交付过程的不同阶段:

编码:代码开发和审阅,版本控制工具、代码合并工具

构建:持续集成工具、构建状态统计工具

测试:通过测试和结果确定绩效的工具

打包:成品仓库、应用程序部署前暂存

发布:变更管理、发布审批、发布自动化

配置:基础架构配置和部署,基础架构即代码工具

监控:应用程序性能监视、最终用户体验

自动化比手动快。

工具不会像人一样容易犯错误。

通过自动化按照定义执行确保每次执行的一致性。

通过统一的部署流水线将从代码提交到交付给用户的整个过程高度可视化出来,信息透明;让开发、测试和运维以高度一致的方式工作在同一个流水线上,真正建立起协作。

每一次的软件变更在这个完整的流水线中得到充分的验证,尽早发现有缺陷的变更。

将一些必不可少的控制环节內建到自动化过程中,比如质量保障过程、过程度量、过程审计信息等,从而弱化很多传统依靠人为检查的管理流程。

在这里插入图片描述

DevOps 成功的关键在于文化转变,除了上面提到的工具,组织文化的转变也同等重要,我们总结出了很多 DevOps 的其他因素,比如人(People)的思想和思考方式、开发和运维的流程(Process)、精益(Lean)、自动化(Automation)、测量(Measurement。

在组织文化方面,DevOps 推崇:

尊重(Respect)

正视失败(Healthy attitude about failure)

不埋怨(Avoiding Blame)

精益求精

工程质量文化

快速验证文化

客户导向文化

持续交付是指团队确保每个变更可以部署至生产环境,但也许并不需要实际部署,这通常可能是出于业务方面的原因。而持续部署是指每个变更可以自动部署到生产环境。只有成功实现持续交付的前提下,才能进行持续部署。

DevOps 是一种文化,促进所有参与软件开发和维护的参与者之间的协作。

敏捷可以被描述为一种开发方法,旨在需求不断变化的现实中维护工作效率和驱动发布。

尽管 DevOps 和敏捷是不同的,但是如果将这两种方法结合使用,将会带来更高的效率和更可靠的结果。DevOps是敏捷的有效补充,是将运维纳入产品开发过程的思维方式,是敏捷开发方法论的升级,更强调自动化工具的实现与应用,以帮助实现软件的快速迭代。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/138437.html

(0)
上一篇 2025-06-12 20:45
下一篇 2025-06-12 21:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信