DevOps工具集成实现企业端到端通信协作

Stella981
• 阅读 384

DevOps工具集成实现企业端到端通信协作


DevOps工具链集成可实现企业规模的端到端通信和协作。本文主要讲述通过连接生命周期管理工具如何在企业级别实现有效的沟通,而无需更改每个团队的工作方式。

介绍

DevOps始于一个或两个小型团队进行持续集成(CI)的过程,它已被企业视为快速向客户提供高质量并以客户为中心的创新的手段。但是,正在扩大其DevOps实施规模的组织发现他们的工具链很大,很笨拙—并且脱节。在您进行企业DevOps转型的过程中,应尽早消除此瓶颈。幸运的是,您可以确保团队及其工具之间的协作与合作,而无需更改整个工具生态系统。关键是将您的工具集成在一起,使它们可以共享数据信息并使工作可见,但又不改变人们使用每种工具的方式。许多工具具有内置的集成,可让您直接与其他工具共享数据。但是,如果不存在这样的集成,则可以使它们集成,以便整理和共享信息。

DevOps协作

DevOps的主要宗旨是打破壁垒,消除孤岛,并组建具备交付软件所需的一切能力的团队:开发功能,将其部署到生产中以及确保高质量和高可用性地进行维护。

由于许多组织都以DevOps的方式进行发展,并且针对DevOps市场的工具不断增长,因此发现并肩工作的团队使用不同的工具并不罕见。

每个团队管理自己的管道,维护自己的待办事项,并使用自己的测试工具,部署工具和监视工具。对于许多团队来说,这很好。如果其他团队使用替代产品,只要每个团队使用他们认为最能满足其需求的工具,对他们来说都没有关系。

为什么重要?

尽管每个团队都可以很好地发挥自己的作用,但团队成员必须经常与其他团队整合。当一个团队提供由另一团队使用的服务时,并非总是可以创建一个跨职能的端到端团队,该团队可以覆盖从服务后端到前端用户界面的所有内容。这两个团队将需要同步他们的工作,并能够共享资产和信息。例如,如果消费者团队发现服务中的缺陷,而又无法现场修复,则必须记录该缺陷。如果两个团队使用不同的缺陷跟踪系统,则共享这些资产将是一个挑战。一方面,该缺陷需要记录在提供商的系统中,以便他们知道并可以修复。如果消费者团队没有提供者系统的登录权限,甚至没有访问服务器的权限,则无法记录缺陷,而且该缺陷也不会得到解决。在这种情况下,团队将继续依靠电子邮件以及其他不适合此目的的效率低下的协作工具。

在改进和发展其DevOps实践的同时,组织有时会遇到这样一个情况,即一个团队针对同一件事使用多个工具。测试工程师通常使用一种工具来管理其积压和任务,而开发人员则使用另一种工具。这通常是组织的历史产物,这些组织在质量保证和开发团队之间进行了清晰的区分-瀑布式开发的有力指标-现在将他们的人员整合到同一团队中。但是,各种专家继续使用他们过去使用的工具。这导致团队内部的沟通都被窒息的情况。


问题的规模

BizTechInsights在2018年对191位技术影响者和决策者的调查中,BizTechInsights报告说,有40%的受访者表示他们当前的应用程序交付管理解决方案未与其他系统集成。这会阻碍DevOps的工作,DevOps努力确定并消除交付管道中的瓶颈。这些组织指出了最大的瓶颈。在采用了应用程序交付管理解决方案的组织中,有38%的组织对此表示不满意。只有21%的人表示他们当前的系统可以充分满足他们的需求。

DevOps工具集成实现企业端到端通信协作

但是,好消息是这些组织认识到这是一个问题,并且愿意做一些-关于它的事情。所以,你可以做什么?

连接工具集

一种简单的方法一个简单的解决方案是选择一组工具并在整个组织中实施它们。每个人都必须使用相同的生命周期管理工具,相同的功能测试,性能测试和安全性测试工具,相同的部署自动化工具等。但这很幼稚,而用一组新工具替换现有工具的成本为令人望而却步,因为:

  • 在许可证和支持方面,许多组织仍在为他们现有的工具付费。无法保证他们提早终止合同将获得退款。他们会结束 同时支付现有软件和新软件的费用。

  • 从现有的DevOps管道中断开现有工具的工作,并采用新软件来替换它们的工作,可能会出乎意料地耗费大量时间和金钱。客户对获得软件更新比对等待团队重新设计其管道更感兴趣。

  • DevOps团队应专注于为客户提供价值。随着团队学习新生态系统的方法,引入新工具通常意味着引入新的缺陷和瓶颈。

  • 即使选择了一套工具,也无法保证这些工具能够共享信息并为团队提供他们所需的见解,以跟踪投资,管理积压和解决问题。

如果要从头开始组建一个新组织,则此方法可能会起作用。但是,这种情况多久发生一次?迁移到DevOps的大多数大型组织在工具,流程和过程上都有悠久的历史和投资。这些只能逐渐更改

创建一个相互联系的包容性系统

更好的方法是让团队选择最适合他们的工具。如果他们选择与组织保持一致,或者甚至选择两个紧密合作的团队之间,那么这是正确的时机。但是他们应该谨慎处理,同时要记住重新设计流程和程序的潜在成本。理想情况下,您的团队应该选择已经集成并且可以相互通信的工具。但这很少发生。取而代之的是引入一个集成的,相互连接的但松散耦合的DevOps工具集,该工具集通过提供必要的端到端通信和协作渠道并与团队选择的工具集成,从而增加了价值。这种方法有几个优点:

  • 集成工具集通常作为基于云的服务提供。没有设置成本,也没有基础架构成本,并且可以轻松地使用该工具注册新的团队成员,并随着系统使用量的增长对他们进行培训。这些工具通常预先配置了所有必需的集成。

  • 连接的工具集中的工具可以与团队已经使用的工具集成。他们不会强制组织团队使用工具的方式发生变化。连接的工具集也是可扩展的,因此您可以通过开放的API将它们与任何第三方甚至定制工具集成。

  • 如果该工具更适合团队,则它们也可以替代团队现有的工具。例如,如果一个团队对其现有的生命周期管理工具不满意,或者根本不使用它,那么集成工具集将包括一个已经为企业DevOps团队设计,和配置的生命周期管理工具。随着业务的发展,您可以根据需要交换工具进出,这也可以保护您免受供应商锁定。

  • 它们使整个DevOps管道自动化,同时聚合来自以下位置的数据和见解整个生态系统,将它们呈现在易于使用的仪表板上,以供所有利益相关者查看。开发人员可以查看其管道的状态,测试人员可以查看正在运行的测试,主管可以跟踪产品组合的整体状态,等等,而无需中断现有流程。

  • 在组织从旧版软件交付方法过渡到通过DevOps进行敏捷,持续交付的过程中,可以使用一些框架来帮助组织。

在企业范围内。可伸缩敏捷框架(SAFe)可能是最著名的。连接和集成的工具集通常支持开箱即用的一个或多个框架。–请注意,总是最好先选择框架,然后再选择工具,而不是根据您的工具选择框架。选择一个互连的集成工具集,该工具集可以支持将在未来几年为您的组织提供支持的框架。

结论

团队需要拥有自主权,以决定最适合他们的工具集。同时,团队之间需要相互合作,如果他们选择的工具无法紧密集成,则会妨碍团队内部和团队之间的通信渠道。最有效的解决方案是让团队选择自己的工具,并同时采用互联的DevOps工具集,该工具集提供端到端的必要沟通和协作渠道,并且与团队已经使用的工具集成在一起。每个团队决定自己喜欢的工作方式,同时其生成的信息会自动与其他团队和高级经理共享。组织可以确保每个团队都将最关键和战略性的投资给予正确的优先级,并获得对每个项目的状态和进度的可见性,无论其使用何种工具。

正如文章所说的每个团队使用的工具不一样这很常见,实现工具链之间的集成能够帮助我们实现端到端的沟通和协作。我们现在使用的DevOps工具链有哪些呢?在流水线方面我们会使用Jira+GitLab+Jenkins+SonarQube +Nexus/Artifactory+Docker + Kubernetes等等。在今年的年初上线了一套《基于Jenkins的DevOps流水线实践》课程,相信对你来说一定有所帮助!感兴趣可以在下面获取。


DevOps工具集成实现企业端到端通信协作

历史文章

关于作者

泽阳,DevOps领域实践者。专注于企业级DevOps运维开发技术实践分享,主要以新Linux运维技术、DevOps技术课程为主。丰富的一线实战经验,课程追求实用性获得多数学员认可。课程内容均来源于企业应用,在这里既学习技术又能获取热门技能,欢迎您的到来!(微信ID: devopsvip)

好课推荐

  • 系统的教你实施流水线

  • 掌握DevOps流水线的多样性,原来还能这样?点击下图,即可购买👇

DevOps工具集成实现企业端到端通信协作

DevOps工具集成实现企业端到端通信协作


长按识别二维码关注我们

欢迎把我们推荐给您的朋友们

DevOps工具集成实现企业端到端通信协作

DevOps流水线实践课程

👇戳阅读原文,立即购买

本文分享自微信公众号 - DevOps云学堂(idevopsvip)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
2年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Stella981 Stella981
2年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这