📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

GitLab: What is AI-Powered DevSecOps? | CXOTalk #861

CXOTalk24:47

Transcription

欢迎来到 CXOTalk。我是 Michael Krigsman,我们正在探讨 DevSecOps 以及 AI 对软件开发的影响。我们的嘉宾是 Ashley Kramer,GitLab 的首席营销与战略官,她同时也是 GitLab 的代理首席收入官。GitLab 是最全面、由 AI 驱动的 DevSecOps 平台,致力于软件创新。我们很荣幸最近在 Gartner 的 DevOps 平台和 AI 代码辅助的 Magic Quadrant 中被评为领导者。Ashley,什么是 DevSecOps?

DevSecOps 意味着将安全作为整个软件开发生命周期的一部分。历史上,我们认为这是开发人员编写代码,IT 专业人员部署代码。但我们遗漏了一个非常重要的环节,那就是安全。安全仍然存在,但它是一个独立的过程、一个独立的工作流程,最重要的是,一个独立的团队。而 DevSecOps 所做的就是将所有这些“左移”,使其成为开发人员日常工作的一部分。开发人员不再是写完代码就扔给安全专业人员检查,再扔回来。所有这些都集成在一个地方,并且始终将安全放在首位。

我们在 GitLab 进行了许多调查,开发人员知道安全很重要。但当你去问安全专业人员时,他们会说:“开发人员不够重视。”因此,通过拥有 DevSecOps 和 DevSecOps 平台及工作流程,它使之成为流程的自然组成部分,有助于解决任何安全漏洞或可能造成负面影响的问题,而我们知道没有人愿意在构建软件时造成这种情况。

DevSecOps 的兴起似乎也与 AI 和软件开发的兴起同时发生。历史上,在软件开发中,我们认为 AI 的集成是帮助开发人员编写代码。这是流程中非常非常小的一部分。编写代码只占开发人员一天的 21%。其余的 79% 是帮助他们更好地规划、帮助他们保护代码、编写测试套件、以安全的方式将其部署到生产环境。因此,通过拥有这个概念、这个平台、这个 DevSecOps 的工作流程,AI 已经强大到可以集成到我刚才提到的所有这些步骤中。

目前 AI 在软件开发中的状态如何?最初,我们将其视为帮助开发人员进行代码生成,为他们提供代码建议,这非常好。但这只是软件开发中需要发生的一部分。通过将 AI 正确地集成到软件开发生命周期的每个阶段,您可以帮助客户提高开发人员的生产力,提高运营效率,降低安全和合规风险,并真正加速他们的数字化转型。

我很想听听一些关于软件开发方面的 AI 用例。他们正在利用它来帮助开发人员进行代码生成,帮助他们检测任何漏洞,修复这些漏洞,帮助他们处理开发人员讨厌的那些枯燥乏味的事情(为他们编写注释,这是我们知道很少发生的事情),帮助新开发人员快速熟悉项目。因此,对于这些公司来说,它们通常具有高度竞争力。它们正试图缩短上市时间,提高市场速度。

现在,如果我想到 GitLab 也表现出色的领域,那就是高度监管的行业,我看到越来越多的一个非常有趣的领域是应用程序现代化。例如,大型银行、大型金融服务公司仍然拥有大量 COBOL 代码,并希望将其升级为 Java。现在,您可以选择聘请一个庞大的开发团队——顺便说一句,没有人想做这项工作——或者您可以将其操作化。您可以将 AI 作为其中的一部分。

现在,如果我们转向更高度监管的领域,比如政府客户,他们非常非常感兴趣了解如何使用 AI,但他们不能使用通常托管的大型语言模型。他们不能使用可能需要通过云服务访问的大型语言模型,或者有任何泄露其机密代码的风险,所以这就是为什么我们需要将 AI,将模型本地部署在隔离环境中,以真正推动他们所需的创新,但同时要有更多的保护措施。

用例与业务目标以及特定组织的限制相关。我与这些高管们讨论的一个非常有趣的问题是,我如何衡量投资回报率?对他们每个人来说,这都大不相同。我通常会把这个问题抛回给他们。我周五刚和德国一家大型汽车客户谈过。我把问题抛给了他,我说:“您正在寻求的主要业务成果是什么?”在这种情况下,是上市速度。众所周知,汽车行业竞争非常激烈,他们都在将这些很棒的豪华车变成更像软件设备,而不仅仅是供您驾驶的汽车。对于那个特定的客户,业务成果是上市速度。

然后,当我与政府客户交谈时,我听到他们知道他们可以从 AI 中提取的所有力量,但对他们来说最重要的是,他们必须将所有这些都保留在本地隔离的环境中。他们必须能够了解他们仅在其专有知识产权和,当然,机密信息中需要什么。他们的业务成果是隐私优先、透明度优先,因为这是他们最关心的。因此,它们经常重叠,但确实因客户而异。

我再举一个非常重要的例子,我经常听到。有很多公司没有成千上万、数十万的开发人员,但它们正努力跟上市场步伐,通过 AI 提升开发人员技能(让 AI 帮助他们了解如何集成安全,如何正确测试代码)。因此,我们也经常听到技能提升的场景。

是否有某些类型的开发挑战、问题、难题是 AI 尤其擅长解决的?我们听到的最重要的问题是围绕着消除开发人员日常工作中的枯燥乏味;能够帮助他们快速熟悉新项目,无论他们是公司新人还是项目新人。那些每天进来都说:“唉,我不想给我的代码写注释,”或者“我不想阅读所有这些不同的文档来了解发生了什么。”这是消除枯燥乏味。同样重要,甚至更重要,是安全部分。我想将安全左移,使其成为开发人员日常工作的一部分。但他们可能还没有完全深入理解他们正在编写的代码相关的安全问题。AI 可以帮助他们。它可以发现代码中的漏洞,向他们解释,帮助他们修复,更重要的是,培训组织的其他成员如何不再犯同样的错误(在整个代码库中)。

在管理层方面,如果您有一个像 GitLab 这样的平台,您可以开始衡量生产力指标,因为您所做的一切(从项目规划到编写代码、测试、安全和部署),所有这些信息都收集在一个统一的数据源中。现在,作为一家公司的 CTO 或 CISO,我拥有所有这些指标,我可以查看并说:“哦,AI 实际上正在影响我的发布时间;我的代码的安全性,”您能够真正获得一个单一的视角来了解 AI 驱动的投资回报率和影响。这是我们除了隐私、透明度之外被问到的头号问题:“在我集成 AI 后,我如何衡量它是否真的产生了影响?”因此,这是另一种方式,可以通过指标来衡量它。

您能否详细说明这些指标以及您如何实际衡量 AI 对开发人员生产力影响的差异?我喜欢将其分解为我们称之为“三个 T”。第一个是任务(Task)。您是否让开发人员的任务更容易?例如,给代码写注释、更快地编写代码、为他们生成代码,这些是否变得更容易了?第二个是团队(Team)。团队在协作方面是否更有效?将代码扔给安全部门,再扔回来,您能否看到团队的进展以及团队是否能更快地交付更多(无论是每天、每月——无论您的公司如何真正认可和看待它)?然后最后一个是时间(Time)。有不同的方法可以通过标准的 DORA 指标来衡量这三个 T,通过基准测试“我们以前是如何交付软件的。我们上次交付有多少个 bug 或任何——希望没有——安全问题。”您还可以进行这种基准测试,并查看,一次又一次的发布,如果我们遵循任务、团队、时间指标来衡量整个 SDLC 中 AI 的投资回报率,我们会看到什么改进。

关键点是简化开发工作流程以及提高开发生产力吗?对一些人来说,可能是上市时间。可能是代码有多安全,(发布后)客户的反应如何。这也是一个重要部分。另一个方面,关于衡量投资回报率和 AI 的成功,我真的很喜欢我每天与之交谈的高管们记住的是开发人员的幸福感。大家都知道找到优秀的开发人员有多难。然后,如果他们决定离开,招募新人、让他们上手有多难。我越来越多地听到一个新说法是:“我们已经集成了 AI。我们已经使用了像 GitLab Duo 这样的东西。”在使用六个月后,他们会进行内部 CSAT、内部满意度报告,以确保它正在产生影响,它正在让开发人员、安全专业人员和运营人员的生活更轻松。

开发人员的幸福感,我以前很少听到这个短语。流程的简化如何影响开发人员的幸福感?这包括他们感觉自己能与团队其他成员更好地协作。有一些聊天体验让他们觉得他们没有重复造轮子。“别人已经做过了。太好了。我将利用他们所做的,”或者更好的是,“我不会犯他们犯的错误。我不再需要做那些枯燥乏味的事情了。我不需要阅读一个巨大的史诗或问题来了解如何开始贡献。”最终,开发人员希望感觉自己正在为最终客户生产出色的软件,并且他们都希望以安全高效的方式做到这一点。因此,看到 AI 真正让这一切变得更顺畅、更顺利,看到它帮助他们与产品经理和安全专业人员更好地协作——这确实是一个重要的指标,我越来越多地听到高管们在衡量投资回报率时提到这一点。

在很多方面,AI 将开发人员从这些枯燥乏味的任务中解放出来,比如代码注释,正如您提到的,使开发人员能够专注于更高层次、更重要、更有趣的活动。结果是开发人员更快乐,您可以衡量这种差距。我们一直希望利用我们的脑力来解决具有挑战性的、棘手的问题,为我们的客户解决问题。但我们也知道我们必须做的事情。我们每天都有必须做的事情。我每天都必须检查我的电子邮件。希望有一天有人能为我解决这个问题。但这并不是我在为人们解决具有挑战性的问题。从开发人员的角度来看,AI 为他们做的这些不同的步骤越多,他们就越能利用他们的脑力来解决具有挑战性的问题并为客户带来出色的业务成果。根据我的经验,这会让开发人员感到快乐。

您在描述您关注的指标。在如此多的不同组织中,您的客户看到了什么样的结果?我们看到客户向我们报告说,他们的开发人员生产力提高了 50%。我们现在有客户报告说,他们发布的漏洞减少了 50%,因为我们有漏洞检测来帮助他们理解价值。随着我们继续与客户合作,我们越来越多地听到他们接下来需要什么,以及他们如何能够衡量他们环境中的上下文感知,例如通过本地部署的模型,以及他们将如何衡量下一波效率、开发人员幸福感以及实现他们期望的投资回报率所需的一切,通过将其集成到整个 SDLC 中。

再次,您将效率指标与开发人员幸福感指标结合起来。在我看来,这一切都息息相关。如果您的开发人员参与度不高,对他们正在做的事情不那么兴奋,那么他们可能不是最有效率和最有生产力的开发人员。人类大脑就是这样工作的。如果他们试图处理旧的遗留代码并理解一些旧的、不同类型的代码,那么这无助于他们利用大脑来解决未来的挑战。AI 可以做很多这方面的工作,帮助现代化代码,帮助他们不必在那里写代码注释,并帮助他们真正感到有价值,快速上手并为客户提供巨大的、现代化的价值。

将效率与满意度结合起来是一个好主意,因为如果您走向一个极端或另一个极端,您最终会得到效率低下或不快乐的开发人员,而您试图同时实现这两者。您可以拥有世界上运行效率最高的软件开发组织(至少在您看来)。但如果您的开发人员不快乐,并且他们离开公司去从事他们认为更有趣的项目和更有趣的事情,那么效率就会下降,因为找到优秀的开发人员、让他们快速上手并让他们开始创造价值并不容易。因此,我相信现在是时候将这两者结合起来了。

重要的是,这是一种统一的、基于平台的*方法,它将这三个方面结合在一起,正如您刚才描述的:开发、安全和软件运营。没错。集成到我们过去称为 DevOps 平台的*中,现在是安全,所以它是一个 DevSecOps 平台;人们可以在一个地方协作,以确保代码安全编写,高效部署,所有这些都集成到一个流程中。

GitLab 在软件开发中采用 AI 的方法有何独特之处?这是因为该平台在多年前的架构方式。我们probably 在 2013-14 年做了一个决定,每次我们将一个新的阶段集成到我们的平台中,以帮助客户在整个 SDLC 中实现软件交付时,我们都会将其集成到平台中。我们不会“硬塞”进去。我们不会专门使用合作伙伴。我们将构建一个完整、端到端的平台。

进入 AI 时代。现在我们有一个平台,拥有一个单一的统一数据存储来保存所有重要信息,因此可以轻松地将 AI 集成到*(从规划到编写代码、测试、安全、部署等)。不具备平台方法的其他供应商无法利用这种端到端的能力,也无法通过我们的价值流分析(我们称之为 Value Stream Analytics)来衡量它,而这正是高管们想要看到的:“好的,在我团队在整个 SDLC 中使用的所有不同的 AI 功能中,我如何衡量成功、生产力、效率、开发人员幸福感?”只有拥有平台才能做到所有这些,而 GitLab 十多年前就决定从一开始就做一个平台。

企业和技术领导者如何在不引起组织内部混乱的情况下,在其软件开发工作流程和流程中采用 AI?他们需要围绕任何进入的 AI 建立正确的实践,特别是围绕软件开发。这包括保护措施。AI,正在被利用来将 AI 带入组织的大型语言模型,它是建立在什么基础上的?它是基于别人的数据训练的,比如我们的竞争对手?它会利用我们的数据来分享吗?拥有隐私和透明度优先以及围绕它的保护措施确实很重要。我见过人们设立不同的委员会或在公司内部设立不同的小组来检查它,并确保我们引入的东西是安全的。拥有这些成功指标。在我引入 AI 并由团队进行测试后,我将如何证明其价值,以及它将如何改变我们的组织、我们的业务成果以及我们如何为明年做计划?所有这些在开始时都非常重要。我们经常看到这种转变。每个人都开始使用这个帮助您编写代码的工具。但然后您不清楚它是否安全。您的代码发生了什么没有透明度。它真的能提供投资回报率吗?在开始时就定义好这些对于取得出色的最终结果非常重要。

接下来重要的是从被动 AI——我们一直在谈论的大部分内容:我写我的代码;它为我检查安全性;它为我做测试套件并将其推进——转向 AI 自主代理,它是我的协作者和我的伙伴。当我每天作为开发人员进来时,它会说:“欢迎,Ashley。这里有一些您需要优先处理的问题。您睡觉的时候我们发现了一些安全问题,您应该专注于那些。”它成为您的伙伴。这是一种更主动的方法,而不是被动。现在,我每天都有一个配对的程序员来帮助创建安全的代码。

所有这些都意味着巨大的变化和巨大的机会,对 CIO、CTO、CISO 来说都是如此。想想我们一直在谈论的一些事情:更安全的代码,更快的代码上市时间,更快乐的开发人员。如果您以这种心态来看待,并且有正确的保护措施来确保您正是这样做的,我认为 AI 将从一个人们仍在努力理解的令人恐惧的话题,转变为:“好的,这是我的业务计划(特别是围绕 AI),在我组织内的软件开发中,以及我将在三个月、六个月、九个月内衡量成功的*。”

我还会鼓励组织不要试图用 AI“烧开整个海洋”。逐个用例地去真正尝试解决,您最大的问题是什么?您的开发人员实际上没有编写测试套件,没有测试他们的代码,或者您有太多的 bug,太多的安全漏洞。先去解决那个用例。

Ashley,企业和技术领导者现在应该做些什么来为我们眼前这个由 AI 驱动的未来做准备?现在是时候去了解它了。现在是时候与那些深刻理解隐私优先、透明 AI 的供应商合作,了解它对他们的组织意味着什么,他们如何衡量成功,他们如何正确地进行概念验证或价值验证,并一步一步来,与正确的组织合作,帮助他们了解需要注意的陷阱,也许还有一些他们关心的问题。我们中有很多人一直在这样做,我们希望成为这些组织的*顾问。我们看到一个又一个组织,我们可以帮助他们在软件开发方面的 AI 之旅中取得成功。

是否有您看到过的最好的组织现在正在做的最佳实践或准备未来的事情?最好的组织首先要理解,他们作为最终结果所寻求的价值或投资回报率是什么。他们可能一开始无法看到和衡量它。可能需要六个月。他们希望 AI 改进的*用例是什么:开发人员生产力、开发人员幸福感、更少安全漏洞?提前定义好这些并持续衡量。第二是,保护措施是什么?AI 的“停止器”和“非启动器”是什么?围绕它提出最深入的问题。像 GitLab 和其他一些公司有 AI 透明度中心。您可以访问我们的网站,阅读我们 AI 的所有信息:我们合作的大型语言模型提供商;他们的数据会发生什么,答案是他们的数据仍然是安全、可靠的。他们的知识产权仍然是他们的知识产权。在开始购买 AI 能够做什么的所有炒作和宣传之前,先理解这一点。理解最终结果。从最终结果开始,然后与正确的人和组织合作,帮助您实现目标。

这个炒作问题非常重要。您有什么建议可以帮助技术领导者看穿炒作吗?我*,感谢您提出这个问题。多年来,软件开发领域最大的炒作一直是 AI 帮助开发人员更快地编写代码。编写代码只占开发人员时间的 21%,而如果您只考虑这一点(当然,开发人员对此最兴奋),您就忽略了交付软件所需的其余步骤:保持其安全,正确测试它,迭代,并确保您以正确的方式持续发布这些安全代码。我对领导者的建议是超越这种炒作,并理解 SDLC 中涉及的所有其他内容以及它能提供的深层价值,因为我总是喜欢说:更多的代码并不意味着更安全、更有价值的代码给您的客户。您想要更好的代码,而不仅仅是更多的代码。更好的、更安全的代码。当然,最终交付得更快。但对我来说,更多的代码可能意味着未来更多的技术债务或更多的问题,如果您不关注流程中超出编码的 79% 的话。

Ashley,非常感谢您。我今天很高兴与您交谈。感谢您的邀请,Michael。我也很享受这次谈话。