发布于:2021-01-24 00:00:04
0
38
0
同理心对DevOps来说比你想象的更重要。正如Jackie Balzer所解释的那样,构建CI/CD界面和系统是一个机会,可以让一些东西变得漂亮和易于使用。关注这些细节以创造无摩擦的体验对你的最终用户来说是件好事。
JAXenter:为什么在开发CI / CD平台时需要移情?
Jackie Balzer:将代码部署到生产服务器很可怕。作为一名DevOps工程师,您应对其他工程师的工作承担很多责任(而且常常要承担他们的错误!)。作为开发人员,您担心自己的代码会出现错误,并会在纠正错误时延后部署(进而延误队友),或者更糟的是,该网站因您的更改而完全崩溃,从而使用户看到您的高可见性错误。
考虑这一压力过程的两边的每个人的感觉对于识别和解决痛点至关重要。对于DevOps工程师来说,在工程师修复错误,不断检查错误日志中没有权限的工程师的同时反复运行部署命令,熬夜工作是什么感觉?对于上周开始,其代码没有自动测试的工程师,一旦面对生产数据,它破坏了网站的感觉是什么?您最喜欢的外卖披萨店永久地与办公室里忙碌的深夜建设联系在一起,这感觉如何?
通过同情团队并了解流程的每个部分如何影响每个人,您可以构建一个解决问题的系统,提供一个CI / CD平台,通过为工程师提供机会来减轻DevOps团队的压力和责任。安全有效地部署自己的代码。
JAXenter:Adobe在开发平台时坚持什么样的价值观?您能解释为什么这些事情是必要的吗?
杰基·巴尔泽(Jackie Balzer):我们有着浓厚的文化,每个人都要对其代码,其部署内容以及整个网站的健康状况负责。DevOps工程师在其中发布“ Big-bang”,从而扩大了其他工程师的更改,这使得坚持这些价值观变得更加困难:此模型培养了太多的“推卸责任”心态。
我们的CI / CD平台和流程的目标是降低进入安全有效部署的准入门槛。通过创建一个通用的界面,针对开发人员的负责任的工作流以及部署流程已经或可能中断的编程安全措施,我们构建了一个系统,该系统可以处理曾经是高风险,高风险的整体任务,并使之变得例行且低风险,使工程师有信心拥有自己的部署所有权。
JAXenter:我们如何将同理心带入DevOps部署中?您建议在什么阶段将其引入?
杰基·巴尔泽(Jackie Balzer):我认为应该将同情心融入DevOps的结构中并进行部署。您可以问自己和您的团队很多问题:对于DevOps团队来说,哪些重复任务或痛点可以通过创建工具来自动化或处理?部署过程的哪些部分最有可能在团队中引起问题,崩溃或给团队造成压力?创建更周到的流程是否可以防止重复犯规?部署的哪些部分对工程师来说很重要,他们最讨厌,最害怕或最喜欢哪些部分?
出色的CI / CD平台应该是任何人都可以使用的平台-从您最熟练的DevOps工程师到只熟悉代码和系统以进行最基本更改的设计师。当您思考并与将要使用平台的不同类型的人员进行讨论时,在流程的各个方面以及具有不同的技能和背景,您都可以更好地了解部署的哪些部分是困难的,不清楚的或令人恐惧的,并使平台更好,以减轻所有参与人员的摩擦。
JAXenter:采用这种构建结构的主要挑战是什么?开发人员最常在哪方面欠缺?
杰基·巴尔泽(Jackie Balzer):好的CI / CD平台成功的很大一部分在于创建一个通用的界面和一套原则,以在整个项目中遵循。由于CI / CD通常是一个非常面向代码的项目,因此即使清晰,设计良好且易于使用的界面有助于促进执行良好,也很容易忽略平台上对高质量UI / UX的需求。部署。
在采用或创建新的CI / CD平台时,要克服的长期挑战是改变长期以来的信念或流程,或者担心自以为是的工作流程可能会阻碍速度或输出。但是,找到正确的流程,就不可争议的关键规则和要求达成一致,并包括设计人员和设计意见反馈,对于定义团队和产品的最佳实践至关重要。
JAXenter:与会者可以从您的会议中获得什么?
杰基·巴尔泽(Jackie Balzer):在会议上,我将讨论我们如何在Adobe上构建自己的CI / CD平台,在此过程中学到的经验教训以及我们在考虑部署时所体现的价值,这可能是有价值和有用的。所有工程和DevOps团队。
总结将包括设计流程的方法,这些流程使工程师能够从头到尾安全,有效和快速地管理自己的部署,包括UI / UX如何使部署过程受益;我们的团队结构和文化如何使我们能够快速识别和迭代对CI / CD平台的改进,同时考虑到设计思想和DevOps /开发人员的反馈;以及我们的CI / CD平台的操作细节如何将所有这些与部署队列,分支/合并管理,回滚工具等结合在一起。
作者介绍