目录
定义DevOps
错误1:跨人,跨流程或跨技术思考
错误2:只面向开发或运维
错误3:错过部署策略
错误4:只关注节省成本
错误5:没有开始
DevOps的最大障碍
越来越多的公司开始实施DevOps,以解决有关软件交付成本,速度和质量的挑战。它经常被称赞,因此从前人的DevOps实施中汲取经验尤其重要。
让我们开始探索在DevOps中应避免的5个错误。
定义DevOps
在讨论DevOps应该做什么和不应该做什么之前,必须了解什么是DevOps。
有很多不同的定义。简而言之:DevOps是开发,运维和QA的协作和自动化,旨在采用先进的技术或工具营造一种交流文化,改善流程。
自动化是此定义的核心,它允许实现DevOps最佳实践,并最终带来许多好处,包括:
- 更快的交付时间和反馈时间
- 提升客户满意度
- 增强构建正确解决方案的能力
- 更好的产品质量
- 更可靠的版本
- 提高生产力
- 降低成本和风险
其他还有安全性,集成的工具链,测试自动化,敏捷的心态,协作的文化以及持续集成,持续交付。
错误1:跨人,跨流程或跨技术思考
为了应对现代软件开发和交付的挑战,企业需要改进三个方面:人员,流程和技术。
人员和流程紧密相关。例如,孤立的流程导致团队之间的明显区别,例如开发人员和运维人员。其他传统过程和技术包括单体架构,物理服务器和瀑布式开发。
相反,现代实践包括协作和以产品为中心的思维方式。流程应越来越敏捷,例如持续交付和普遍自动化。最后,应采用新技术,包括云,容器,微服务,API和serverless。
DevOps需要这三个条件:文化的转变,敏捷流程的接受以及新技术的采用。
只有采用这种战略方法,组织才能建立协作和以产品为中心的性质。团队可以实现其不断提供新功能,增强功能和错误修复的目标,从而赢得更多的内部或外部客户。
错误2:只面向开发或运维
组织经常询问流程是面向开发还是面向运维。这源于传统上发展目标和业务目标相关的冲突。
开发人员希望构建软件,集成系统并尽快迁移。另一方面,运维团队希望获得稳定性,安全性和控制性,而这些通常与速度相关。
当组织决定只专注于Dev或将所有精力投入Ops时,他们会犯一个错误。
最好是通过DevOps推动这两个小组之间的协作。当组织意识到开发人员与运维人员之间的冲突,开始通过奖励等措施推动团队之间的协作时,就可以实现这一目标。
通过DevOps我们才能实现:快速开发和交付高质量的软件,同时降低成本和风险,以使组织和客户受益。
错误3:错过部署策略
很多组织可能不会研究和实施部署策略。
部署策略专注于确保高质量的部署和风险的管理,这是通过流程和支持技术来完成的。
部署策略包括A/B,蓝/绿和Canary。每个人都认识到有很多类型的更改,并且并非所有更改都是相同的标准。
以受控方式将变更快速移至实际环境中的好处是减少了停机时间并降低了风险。在更大范围内,公司变得更加有效,更频繁地向其最终用户推出高质量的更改。
实施DevOps时,采用部署策略可能不是你要做的第一件事,但是随着DevOps实施的成熟,如果你错过了采用更高级的部署形式所带来的好处,那是一个错误。
错误4:只关注节省成本
乍一看,对DevOps的投资似乎很昂贵且令人生畏,但可以快速实现ROI。
话虽如此,节省成本不应成为唯一的重点。
DevOps的主要优点之一是减少了手工劳动和脚本编写。更少的人工操作无疑会降低成本,也意味着更少的人为错误。这就相应减少了部署中断的风险,并节省了时间,因为与部署相关的错误和随之而来的调试变得更少了。
此外,自动化可以提高软件交付的速度和频率。这可以帮助你跟上竞争对手和整个行业的发展步伐。如果你所在的行业正以日新月异的速度发展,这就尤其重要。
随着手动,繁琐步骤的减少,员工的满意度和保留率也会提高。开发人员现在可以做自己喜欢做的事情:开发!
从长远来看,这些好处将为你省钱。当员工生产力更高,更快乐时,他们将获得更大的产出,更好的产品/变更,你的最终用户感到满意,并且你没有雇用新员工的高昂的人力成本。
错误5:没有开始
在DevOps上失败的最大方法就是。这似乎是一项艰巨的任务,但请记住, DevOps意味着许多不同的事物。大多数公司都在实施中。
你可能过度分析了情况,并且对投资感到不安,无论是时间还是金钱。要知道,无所事事的风险远比开始大。
应用新的DevOps技术时,请开始学习并不断学习。很快,越来越多的行动将滚滚而来,并慢慢形成成熟的DevOps实施。
DevOps的最大障碍
尽管采用新流程和新技术至关重要,但请不要忘记DevOps的第三个方面:人。
让你的组织中的其他人投入时间和精力进行DevOps转型至关重要。
译文链接: https://dzone.com/articles/5-devops-mistakes-to-avoid