DevOps指南:“构建,运行”是两个团队的共同责任

发布于:2021-01-17 00:05:56

0

106

0

DevOps 服务器 无服务器

Atlassian峰会已经过去,但现在是进行Atlassian高管采访的最佳时机。我们与Atlassian产品营销主管Sean Regan讨论了DevOps的所有内容,包括监控和自动化等支柱,Ops的重要性等。

过渡到DevOps

贾克森特(JAXenter):您能否进一步介绍您在Atlassian和Bitbucket所扮演的角色?

肖恩·里根(Sean Regan):因为我们没有任何销售人员,所以我负责软件团队的营销工作。我们与产品团队合作开发合适的产品,然后通过市场营销,学习,课程,论坛和社区与社区互动。因此,我的团队负责软件业务团队的成长,Jira软件,Bitbucket和Portfolio for Jira的云版本 。

JAXenter:正在进行很多DevOps。您是否在使用DevOps的方法和思路来构建产品?

肖恩·里根(Sean Regan):绝对是故意的。我们正在运行一个大型的基于云的业务。全球范围内的公司在创建云服务时正在内部构建和运行产品的方式正在发生。对我们来说很清楚,市场的空白在哪里,我们必须在哪里构建自己的工具。

一个很好的例子是,当我们构建Jira的更新版本时,我们使用了功能标记。功能标记是指当您覆盖一部分客户时(例如20%),如果效果很好,则将其推高到30%,然后是40%。我们的一些工程师入侵了Jira,以更好地与这些功能标记供应商合作。当我问工程师为什么要对它进行黑客攻击时,他们说他们需要它来工作,客户也是如此。我们最终将其构建到产品中。它使开发团队和Jira中的每个人都知道某个功能的推出范围。当我们进行测试时,它将在那里更新故障单。

这是我们的DevOps过渡的一个很好的例子。这种现代化的环境允许对10%的人进行测试,如果某些问题不起作用,您可以将其回滚。它带来了我们过去从未遇到过的新协作挑战。

JAXenter:DevOps的两个主要支柱是自动化和监视。在这种情况下,它们有多重要?

肖恩·里根:他们很关键。监控尤为重要。我们使用了该功能标记示例–如果我推出了一项新功能并对其进行监视,并且该功能已达到其性能目标,那么我们会将其推广给更多的人。然后,如果它达到了新的目标,我们会将其推广到更多,依此类推。监视可以帮助我们向客户推出新功能,也可以帮助我们说:“哦,这没有达到目标。回滚。”

自动化在DevOps中也非常重要。如果您的监视效果不佳,则您的产品将出现故障,并且有人会打开客户支持单。如果IT团队发生事件,他们必须进行调查,如果有错误,那么他们会要求软件团队来构建此修复程序。十年前,这些都是独立的公司。

我们正在尝试做的是,如果您可以将这些团队连接到同一平台上,那么客户反馈就可以进入并由服务台提供服务,事件可以得到解决,并且错误修复可以在软件中进行。我们所有人都可以在同一张票上进行交流。同一张票证可以在所有团队之间转移,当他们解决问题时,这些团队都可以看到状态更改。这种自动化意味着客户支持代表下一次遇到问题时,他们知道如何解决。自动化实际上正在改变整个组织运作的方式。不仅是Dev and Ops,还是整个公司。

JAXenter:多少自动化是太多?

肖恩·里根(Sean Regan):前一段时间,我写了一篇博客文章,从太慢到太快。很长一段时间以来,软件行业一直被批评为所有软件项目都很晚而且有漏洞,尤其是当我们15年前每年一次交付时。现在有团队在进行连续交付,他们的发展速度如此之快,以至于无法跟踪自己在做什么。

因此,我们将这个新的部署仪表板构建到Bitbucket中,您可以在其中查看代码状态:编写,测试和部署。手动跟踪大多数工具的所有这些步骤。开发人员不希望它是手动的。因此,我们要做的是将其内置到Bitbucket中,在Bitbucket中它会自动更新问题。当您将代码推送到测试和生产中时,它会自动更新问题并告诉您状态。这可以帮助整个团队以与功能标记相同的方式了解正在发生的事情。

俗话说,在真相系鞋带之前,谎言可以传播到世界的一半。好吧,按照我的说法,现代软件团队可以在销售代表系鞋带之前为客户构建并交付新功能。因为您不再需要销售人员来介绍产品,所以我们可以向客户提供新功能。它运行的如此之快,从某种程度上讲,您可以自动化实现智能。您如何确保公司的其他成员能够跟上步伐?

我今天刚刚了解了一项新功能,但我还不知道它即将到来。我被吹走了。这怎么发生的?我们的步伐太快了,以至于我无法跟上所有功能的发布。这是一个好问题!我认为这就是为什么群聊变得如此流行。您必须开始创建让人们理解周围发生的所有这些信息的方法。小心自动化!

JAXenter:回到DevOps,开发人员是否正在运行该节目?还是Ops团队最终领先?

肖恩·里根(Sean Regan):我认为您所看到的就是这种您理论的想法。您构建它,然后运行它。它曾经是Devs,然后是Ops。即使他们聚在一起成为伙伴,他们仍然是两个不同的团队。您看到的“构建,运行”是这两个团队的共同责任。而不是两个不同的团队,而是一组实践。我认为Ops和开发人员的角色正在改变。开发人员编写更好的代码或Ops使其保持更好的运行并不是问题。

我一直在待命,我曾经是IT管理员。当事情恶化时,这很痛苦。您的客户和Twitter都在说可怕的话。HugOps的想法应运而生。软件行业的其他人将开始向您发送#HugOps,因为他们知道在该团队中工作会很痛苦。我已经进行了持续三天的停机,而人们几乎没有睡过。那不健康。您要做的是创建为此计划的团队和文化。

如果您的团队中的一个成员压力太大,您必须要有人可以帮助您。这种安全和同理心的文化是必要的。如果您遇到的事件将您的员工推到了极限,那么这对团队中的任何人都是不利的。

JAXenter:公司如何从拥有工具优先的态度转变为专注于团队的态度?

肖恩·里根(Sean Regan): 我们非常努力地推动团队剧本的发展。总有这场战斗。我们尝试以身作则,并采用我们内部关于人员协作和开源的任何实践。这样一来,他们就可以帮助人们建立起流程并以人为本。我们不能出去告诉客户他们使用了错误的工具。但这实际上使我们能够以一种有用的方式做到这一点。

JAXenter:让我们谈谈GitOps。这是每个人都知道的,但并不是每个人都完全了解。它如何使DevOps更好?它如何帮助团队交付更好的软件?

肖恩·里根(Sean Regan):我认为我们现在所看到的是软件开发工具的快速发展。显然,Git位于中心。现在超级流行。我认为随着时间的流逝将发生变化,像Bitbucket和GitHub之类的东西最初是作为Git存储库开始的,但是它们将变得不仅仅如此。Git仍然处于中心位置,但是在编写代码并将其存储在存储库中,进行测试并部署之后,您开始发现所有工具都更加紧密地结合在一起。

最大的不同将是市场中某些人可能合而为一的突破点。因此,GitLab或Microsoft可能会采用这种套件方法。我认为我们将专注于开放套件。我们的产品和合作伙伴产品可以一起使用,但我们不会尝试捆绑它们或强迫客户立即购买所有产品。我认为我们的观点是,开发人员将始终选择最好的工具。我们将以Git为中心,但是您可以根据市场将工具链接在一起。

JAXenter:有很多开发人员认为容器代表了DevOps的未来。您认为是这种情况吗? 

肖恩·里根(Sean Regan): 15年前,软件开发最慢的部分是装卸平台。您必须等待卡车交付硬件,以便Ops可以运行您的软件。容器化使开发人员摆脱了这一过程。他们可以获得部署所需的一切。因此,我认为它只是消除了人为障碍之一并加快了速度。无服务器也将加快速度。

电影《摩天轮》(Ferris Bueller)的《放假日》中引用了一句话:“生活发展很快。如果您不停地走走,不时环顾四周,您可能会错过它。” 在十到十五年内,我们从物理服务器迁移到了VMWare。然后我们进入了容器,无服务器就在其后。我认为容器正在帮助实现这一转变。拥有IT部门传统的公司在做事上拥有更悠久的历史,您拥有开发人员,而拥有运营人员。他们在不断发展,这比一家刚起步的公司要困难得多。

为此,我们在产品中进行了一些更改。代码审查是市场上不能很好解决的问题之一。代码审查首先可以防止事件发生。但是,如果您看看其他参与者,他们如何使用Git来组织他们的工作,这是一个社交优先平台。因此,当您遵循仓库并进行代码审查时,您会看到社区中的所有更新。如果您是作者,并且希望获得社区的反馈,那就太好了。

但是,如果您进行代码审查,则很难跟上所有更改。因此,我们在Bitbucket上所做的是使代码查看单个页面,然后您可以进入其中并查看整个历史。这使得执行代码审查的速度大大提高。我们一直在看到客户说这使他们的速度提高了25%。这对于他们来说更容易阅读。

我们所做的第二个更改是,许多开发工具正在迁移到云中。我们看到客户正在做的一件事是采用Bitbucket Cloud和Bitbucket Pipelines,并在云中运行其开发工具。我们认为这是一个正在发生的重大转变。这也是令人振奋的,因为这是行业的另一种变化。

JAXenter:您如何看待微软收购GitHub?

肖恩·里根(Sean Regan):  我认为Microsoft参与其中真是太好了。有很多担忧,他们会做正确的事吗?我认为我们必须拭目以待,但这确实证明了开发人员对每项业务的重要性。软件是每个企业成功的关键。看到他们进入那个领域,我并不感到惊讶。这是Atlassian激动人心的时刻!