通过协作和高度自动化的一系列步骤,从开始到部署,不断交付高质量的软件是一个诱人的想法,因此DevOps具有吸引力。然而,几乎每个人都说他们在追求DevOps,实际情况充其量是混合的。
过去一年中,由于科维德危机分散了企业员工和IT团队,DevOps的紧迫性才有所增加。”我们需要从技术层面和人的层面重新考虑连接和集成https://boomi.com/company/leadership-team/“target=”\u blank“rel=”noopener noreferrer nofollow“data component=”externalLink“>Ed Macosky,产品负责人https://boomi.com/“target=”\u blank“rel=”noopener noreferrer nofollow“data component=”externalLink“>Boomi“虽然看起来许多DevOps团队在远程工作方面没有任何问题,但五分之二的团队表示远程工作正在影响他们的创新能力和创造力,大多数人都注意到这一点由于缺乏与同事的亲自交流。DevOps团队为公司带来创新。”
然而,组织和维护DevOps团队非常困难,尤其是在这个充满不确定性的时刻。”在员工流失的情况下,DevOps团队通常只能处理基于脚本的垃圾站火灾https://thomvest.com/team/ashish-kakran/“target=”\u blank“rel=”noopener noreferrer nofollow“data component=”externalLink“>Ashish Kakran,具有Thomvest Ventures。例如,虽然DevOps应该将开发和运营放在同一页上,但这两个团队通常仍在走各自的路。”我们看到DevOps在同一个组织的不同职能部门分别实施,而且实施方式也不同https://www.linkedin.com/in/bvdawson/“target=”\u blank“rel=”noopener noreferrer nofollow“data component=”externalLink“>Brian Dawson,DevOps福音传道者https://www.cloudbees.com/“target=”\u blank“rel=”noopener noreferrer nofollow“data component=”externalLink“>CloudBees”运营部门可以实现他们自己的DevOps工具和流程,而应用程序开发则实现他们自己的DevOps工具和流程。”
因此,尽管人们普遍认为每个人都在做DevOps,“但现实是,我们仍有工作要做得对,要大规模地做,并实现普遍成熟,”Dawson补充道DevOps是关于连接开发和运营的。挑战是在领导者和实践者、开发人员和运营人员之间建立普遍的联系。“文化问题造成了开发人员和运营人员之间脱节的关系。”Dawson说:“文化是缺失的第一个组成部分,但也无法真正实现跨功能筒仓的连接和自动化。”这导致缺乏共同的可视性、一致的反馈来推动改进,并可能导致负面体验,从而阻碍采用。”
还有太多的工具在争夺开发和运营团队的注意力。”一个团队可能有20到50种工具当你每小时被数以百计的警报轰炸时,将信号与噪音分离是一项相当具有挑战性的工作。”
连续交付部分也是连续集成/连续交付(CI/CD)中的一个障碍,它应该可以轻松地通过DevOps。”企业在测试自动化方面比较落后,并且越来越努力自动化连续测试,这是CD的核心组件https://www.capgemini.com/experts/application-services/venky-chennapragada/“target=”\u blank“rel=”noopener noreferrer nofollow“data component=”externalLink“>Venky Chennapragada,DevOps架构师https://www.capgemini.com/“target=”\u blank“rel=”noopener noreferrer nofollow“data component=”externalLink“>凯捷北美地区”一些企业无法采用高水平的CI/CD,因为它们的应用程序组合主要由打包软件、遗留软件或ERP系统组成。“安全性是另一个减慢DevOps实践的问题。”现代的DevOps环境中充满了富有创造力的人,他们被鼓励快速构建难以实现的创新目标https://www.linkedin.com/in/kevbreen/“target=”\u blank“rel=”noopener noreferrer nofollow“data component=”externalLink“>Kevin Breen,网络威胁研究总监https://www.immersivelabs.com/“target=”\u blank“rel=”noopener noreferrer nofollow“data component=”externalLink“>沉浸式实验室”问题是,安全团队只会在CI/CD管道的末尾介入并指出漏洞。通常,这是在代码提交之后,有时甚至是在开发人员转移到另一个构建之后。“由于考虑安全的团队进入太晚了,这会导致摩擦,并破坏生产力,因为这意味着资源被收回。”
DevOps的努力错过了什么,Chennapragada补充说,是强有力的治理。这“导致了实现和管道的多个版本。”他继续说,这些工作流“应该基于模式构建,以便易于复制,从而导致更好的维护和支持,可以由DevOps工程师执行。”
什么如何使DevOps更具凝聚力和变革性?业界思考者提供了一些建议,以使事情步入正轨:
最终,在未来的几个月和几年里,“采用云本地、基于容器的微服务架构需要采用DevOps文化和工具,Kakran说。”较新的应用程序完全是使用容器和kubernete构建的,并且托管在混合云环境中。即便是那些历来不愿采用云计算的大型金融机构,也是如此。遗留应用程序的提升和转移是一个很难解决的问题,但即使在那里也正在进行认真的努力,因为云的好处超过了采用云的成本。2021年将是全球5000万软件开发人员以前所未有的速度和更高质量交付软件的重要一年。”