安全与合规剧场-第七致命疾病(DevSecOps故事)- John Willis, Botchagalupe Technologies
观看作者和布道家John Willis描述“开发人员的七种致命疾病”,重点关注其中最昂贵的—安全和合规剧院。本演讲深入探讨了创造长期系统“安全”改进所需的实践。理解这些关键模式可以使组织主要关注人力资本和技术的交集。尽管像精益、敏捷、安全甚至DevOps这样的规范实践对于IT加速可能是必要的,但在大多数情况下,它们不足以实现长期的系统改进。换句话说,你不能用精益、敏捷、安全或DevOps的方式绕过制度化的组织习惯。威利斯描述了组织行为的“七种致命疾病”:无形的工作——管理系统的苦差事——部落知识——激励机制的错位——不一致的组织设计——误解复杂性——安全和合规剧场。本报告探讨了这七个因素如何与IT组织中的网络安全、风险和合规性密切相关。
视频记录
嘿,好了。好吧,在我们开始之前,我是办派对的。我是可怕的。绝对可怕。如果你想让我练习,那得花更多的钱。这是马克思兄弟的老笑话。不管怎样,我还是会回到这个话题。
那其实是DevOpsDays Austin。我们有一个卡拉ok乐队,大家都来了。那真是太棒了。人们只是……
这是奥斯汀任何活动的先决条件吗?你必须让音乐以某种方式编织
这就是我来的时候的建议。是的,我们有很多人,你知道我们这个行业有多少音乐家。人们就出来了,“嘿,我能玩吗?”“是啊,出来吧,伙计。”太棒了。
好吧。我们开始吧。安全与合规剧场,《第七种致命疾病》不管怎样,你们看到了。我Botchagalupe。我住在那里。Twitter, GitHub。这名字很难听,但你就是这样找到我的。所以如果你讨厌这个演示,你可以发推特说,“我讨厌这个演示。”但你可能在我说完之前就走了。
我要快速地讲一下,我有很多东西要讲,我真的很想讲一些真正有意义的东西,希望我不会超时,但我已经讲了很多东西。也许更有趣的是,我在40年里创办了11家公司。我写了12本书。大多数都没人读过。有趣的是,我的职业生涯是从埃克森开始的。我为Canonical开发了第一个私有云基础设施。它被称为Ubuntu企业云。太可怕了。我很早就到大厨店了,第九个人。帮助建立了整个…所有的东西都是纯开发的。 Had a company I sold to Dell. That was kind of cool. And then I sold a company to Docker. I spent two years in the hurricane tornado of Docker. But we won’t talk about that here.
快速地看一下这些书。DevOps手册,这本书的合著者。这很好。这张,这是我唯一的,除了我最后一张幻灯片,是我唯一免费的,一次Audible荣誉。一个。好吧?所以如果你有8个Audible字幕,事实上,这只是一个音频。是我和吉恩·金做的。如果你喜欢精益学习型组织、弹性安全之类的东西,那就太棒了。如果你不喜欢这些东西,就不要浪费功劳。
今年我有两本书要出版。DevSecOps手册,然后我会讲这个。这是我两个月前和一个叫做DevOps自动化治理的团队写的白皮书。我将以这个讨论结束。
总之,关卡设置。我们有DevOps,对吧?然后是所有这些,“什么是DevOps?”你问10个人,你会得到10个答案。问题是,他们都是对的。没有错误的答案。有些我可能不同意。但如果你在销售CICV管道,你说DevOps是[听不清00:03:12],上帝保佑你。但几年前,我开始被叫到高级cio和一些ceo那里,在那里我有五分钟的时间来解释DevOps。我对此很纠结。 For myself, I came up with this. “How would I do this?” I’m going to stick with this. I’m not trying to convince you that this is the Canonical definition, but … DevOps is a set of practices and patterns that turn human capital into high performance organizational capital.
就是这样。抱歉,这不是Kubernetes。我的意思是,Kubernetes非常棒。X-Ray和Artifactory很棒。但这是最难,最难,最难的东西。那是我儿子。我不知道你有没有看过大峡谷。马蹄。这很酷。还有一件事。 I left Docker about two years ago, and I was convinced I’m going to transforma- I spent 10 years with vendors. Prior to that I did consulting. Back when it was incredibly hard to do transformation with the technology there was 15, 20 years ago. It just didn’t work.
在Chef这样的地方工作了10年,然后是Opscode,当然是Chef。然后是Docker。然后我就离开了。我说:“我现在要出去了……不要被卖主拴住。”尽管小贩们让我做我该做的事。但我还带着那个小贩主播。“哦,你就是那个叫Docker的家伙。”或者,“你是大厨。”我要走出去,使用所有这些工具,所有我知道的东西。我不是DevOps中最聪明的人,但我敢说,有人比我更了解这个领域。 I am a student of this thing we call DevOps. I was the only American at the first DevOpsDay.
我发现的是所有这些工具,比如精益价值流图,我现在不打算细讲这些东西。手册上有。那太晚了。有一大堆问题,就像你必须进行的零级讨论,人们是如何思考的。因为,你走进去,人们会说,“约翰,我们不需要你。我们得到了SAFE。”我说:“好吧。”你知道吗?或者,“我们有敏捷。”或者,“我们有DevOps。” These are abstractions that actually do you harm. Again, I’m not being a hypocrite. I love DevOps. But the bottom line is, read that. “You can’t Lean, Agile, SAFE or DevOps your way out of a bad organizational culture.” You just can’t.
这是我从卡琳娜·马斯拉奇那里偷来的。你不了解她。她是研究组织倦怠的权威。我开始了解她,采访她。在我们的一次谈话中,她谈到了职业倦怠。然后我意识到,“哦,这太适合我们的世界了。”也就是说,无论何时你在谈论任何改变或改进,你都是在指望一群人来改变并让它发生。如果他们没有参与弄清楚如何做到这一点,那么改变的努力将在到达时夭折。
你不能进入一个有35000人的组织,因为其中200人做了这个了不起的管道和所有的东西,然后告诉组织的其他人,“你必须这样做”,而没有和他们交谈。所以我想,“好吧,我要去这些大公司。“……大银行。排名前十的银行。“我要做所有这些工具,”我意识到我必须做一些不同的事情。我甚至不知道它的名字,但我称之为组织法医。有些人可能会说,“我的天哪,这不是一个安全演讲。”是的,它是。你会看到。这一切都归结为第七种致命疾病。
所以我花时间和人们在一起,我基本上采访了成百上千的人。我周一和一个开发团队谈了一整天,周二和另一个开发团队谈了一整天。我只是问,我真的只是试着创造一个对话,找出他们是如何看待事情的。到了一定程度,你就会开始让他们告诉你大量关于公司的真相。我要做的另一件事是,在我离开之前,我会和一群领导通个电话。这是我从Kevin Behr那里学来的,他是凤凰计划的合著者之一。这是一个不可思议的工具。当面谈比较好。这有点像罗夏测验。你甚至在面试或面试之前就问别人:“你的公司有哪五件事没有做,而你应该做?”
结果是,在他们找到第三个答案之前,他们就会说,“天哪。我真不敢相信我告诉你了。”然后你采访了二三十位领导人,你得到了这个,现在你可以汇总了。我为一家相当大的公司做过这个。问题来了。我不会对五大巨头说“无意冒犯”,因为我就是不尊重五大巨头。于是我去找一位首席信息官,给她看了这张图表。她知道她的能力有问题。但这是在她领导下的三四十人。当我告诉她,她的领导基本上认为我们公司的头号问题是沟通时,她真的捶着拳头说:“你知道,我在麦肯锡公司花了一年多的时间,花了数百万美元,他们却没有告诉我。” Now here’s the joke. I charged 10K, McKinsey probably charged five million. So who’s the winner?
但这里有七种致命疾病。我还有其他关于这方面的演讲。我要快速地讲一下前六个,以满足。[听不清00:08:52]就像,“你必须做安全。你做不到- "我说"好吧"所以我想快速地推动其他人的做法,让我进入决赛,这是……这也神奇地起作用了。我想说,我是某种天才,事先就想到了这一点。但我发现,如果你经历过这个工作,我将会稍微谈论一下,当你深入到漏斗时,你在大多数情况下已经证明了组织,他们认为他们在做的事情,从证明到命令,都是戏剧。我会给你们看一些例子。第七个是安全合规剧场。我只是放了一些你可以扩展的东西,比如脆弱剧场。 “How much do you pay for your vulnerability scanner? Ten million? Oh, mine’s 12 million. We’re awesome.” It’s not that easy.
第一资本的托波·帕尔,他是第一资本的第一个员工。他是我的好朋友。我和他一起做了很多工作。他的首席信息官问他,Capital One有1.5万名Java开发人员,70%是Java,他被问到,“Capital One使用了多少开源?”Topo实际上是最初JAR项目的工作人员之一。对吧?他懂Java。有人想猜猜数字是多少吗?如果你之前听过我的演讲,你就不能回答了。有人想大胆猜一下吗? No? Come on. Be bold. What?
零。
不,多少钱…开源?这是我听到的最糟糕的回答。对不起。我欠你一个啤酒芽,很好。我刚才开了你的玩笑,现在我要补偿你。是99%。想象一下,15000个开发人员,他们70%的代码是java, 99%是开源的。所以托波想再回答一个问题,但没人问他。他们实际使用了多少?我不会让你猜的。 It was only 10 percent. So the dependency map of our … So I won’t, I’d spend the whole presentation on how complicated scanning and dependencies are. But that should just scare the shit out of you, in terms of how complex this problem is. And I don’t care what AI you put on it. If you start following [inaudible 00:11:08], and some of the embedded methods in there. And Bob’s from ThoughtWorks. It’s insane.
我做的一件事是,当我把人们召集到一个房间里时,我会这样做……他们会说,“这家伙在做什么?另一个能让我生活更美好的人。”他们真的要把我生吃了,对吧?我走到图表前,画了一个方框,我说,“工作从哪里开始?”他们会说:“什么?“好吧,那工作从哪里开始呢?”他们说:“这不是一个好问题。”我说,“好吧。工作从哪里开始?“哦,约翰。”你不了解资本市场。” I’m like, “Yep, you’re right. But where does work start?” On average, it takes me a freaking hour to get people to answer that question. They want to argue for an hour why I, you know, “You really can’t.” And then finally, “Okay, if you must know.” I’m like, “Great.”
现在我可以问你有多少百分比,记录了什么。所以第一个致命的疾病是隐形工作。我发现,一般来说,一家平庸的公司只完成了50%的工作。当我在最后和首席信息官一起做报告时,他们会说,“约翰,我们做得怎么样?”我说:“真的很糟糕。”我有点想抽根雪茄,把我的运动鞋放在他们的木桌上。他们会说:“你这话是什么意思,约翰?”我不是在取笑他们,而是,“让我这么说吧。如果你造飞机,我也不会坐飞机。”他们说:“好吧,约翰。 Give me specifics.” I’m like, “Okay. I estimate that you have well over a billion dollar IT budget. And you only capture 30 percent of all the work that goes on. What other part of your business … What if the finance guys said, ‘Every other Wednesday we’re going to roll things up?’”
在IT界,我们有点像个笑话。我们是一群牛仔。如果70%的过程-好的,重点是,我现在讲得快一点。这很有趣,有多少人读过凤凰计划?是的,每一个人。这就是整个[听不清00:13:15]。吉恩做了一件非常有趣的事,实际上是凯文·巴雷特和吉恩,他简化了利特尔定律和排队理论,这样我妈妈就能理解了。很棒,对吧?如果你是排队论或利特尔定律的信徒,别冲我吼。事情是这样的:“为什么你要花63个小时去完成一项15分钟的任务?” And somebody says, “Let me explain. Everybody is about 90 percent busy, so in general, there’s a nine hour backlog for every hour of work. You got seven downstream dependencies. So what you thought was that one little piece of work actually equated to … And I find this when I go to people, I’m like, “Why didn’t you record the work from that team?” “Oh, that’s [inaudible 00:14:05] team. They’re always good.”
后来我发现所有这些依赖关系,他们就像,“这不是我的问题。“是的,但是你没有录下来,所以我们甚至不知道那不是15分钟。”约翰·奥尔斯波有这个东西,我再把这个展示出来。我不会花太多时间。他基于暗物质提出了“暗债”的概念。想象一下10亿美元的IT预算。你只能捕捉到发生的事情的30%。你应该听说过蝴蝶效应。你认为在你的基础设施中到底发生了什么?在你看不见的东西下面的未解决的混乱,因为它看起来像暗物质。
再一次,我试图通过…有一个更长的版本,错位。你会发现这变成了激励。事实上,我刚刚做了一个公司,这很难。我得回去找首席信息官,告诉他们糟糕的事情。好消息是我只做一次演出。这是我相对于IBM、德勤等公司的优势,因为他们不会告诉首席信息官我要告诉他们的事情,因为他们真的很生气。这家公司的这个女人真的有不可思议的mcg, okr,全是狗屁。你想聊的话题,都是屁话。不确定性,复杂的导航系统。另一个讨论。
但她有mcg。关键任务目标。我不知道她读了什么书。像画面一样。所以我采访了她的200个人。在最后一天,我对每个人说,“这就是我要告诉你的CIO的。如果我说错了就告诉我。这是你的机会。”我说,“基本上我听说你很擅长”,他们在做短跑。“你很擅长80%和20%的容量和缓冲。 But what you told me was all the goals, or none of the 80 percent work have anything to do with the MCGs. And in fact, you have to steal the 20 percent time to update your records to get those things so they show up on the tableau.” I got to write this report to this woman.
事情是这样的,你不可能在做DevOps演示时不提到Conway定律。复选框完成了。事情是这样的,对吧?我猜,你们大多数人可能都是专注于开发的。如果你不知道康威定律是什么,快速读一下。你可能会想到微服务方面的康威定律,作为一种反康威策略,或者这些事情的不同名称,比如解耦。因此,您的典型体系结构是建立在您的组织结构和设计之上的,并且您希望解耦。但它不只是用于代码。你的组织结构也是如此。
所以我寻找这个。我希望每个人都听说过2017年Equifax数据泄露事件。然而,今天,最大的财务漏洞。还有更大的损失,但从财务上来说,市值损失了50亿美元,直到今天。康威定律,有问题。我不会说出什么事了。这张幻灯片有什么奇怪的?第二个啤酒。如果你不喝啤酒,那就喝可口可乐吧。来吧。 Be bold. Mighty forces come to your age.
IT与安全无关。
是的。苏珊·莫尔丁,首席法律官,向首席法律官报告。你猜怎么着?你们不是一家IT公司。所以情况变得更糟了。如果你想读火车失事,如果你喜欢火车失事和停电,国会做了一份令人难以置信的工作,记录了Equifax的泄密事件,2018年,它是公开的。他们问的一个问题是,当她上船时,她是首席安全官。她的背景很好。她是个聪明的女人。他们试图把一切都归咎于她。 No, that wasn’t the problem. They asked, “Didn’t you think it was odd that you were reporting to the Chief Legal Officer?” And she basically said, “Yes, but … I figured they knew what they were doing.” They call that, actually, pluralistic ignorance.
但问题来了。这就是康威定律,流血,渗出。我不会让你们看完整篇文章,但他们问,“当你发现个人身份信息(PII)被泄露时,为什么不去找首席信息官?”她说:“我不记得了。我不记得想过这个。”当然,她没有。她向首席法务官汇报工作。就是这样,对吧?有多少人听说过I型T型E型的概念?在这张幻灯片上,我们要做的是摆脱“我是文章DBA”的想法。 That’s all I do.” To maybe, “I do article, and Mongo, and I know how to do some JS, or Go.” The high performers get to this E-shape, or comb. Where people have lots of skills, sort of SRE-ish in a way. And one of the things that … You’ve probably heard the concept of two pizza team.
我试着给人们……我倾听,我说,“你应该如何开始转变你的思维方式?”你想要…没有什么好理由证明你是i型的。真的没有T型或e型。这种构建/运行的概念,你有自主的团队,你开始突破……一般来说,这开始创造e型的个人。因为每个人都变得协作和以知识为基础。就你和你的员工的技能而言,这确实在一定程度上偿还了技术债务。
然后是复杂性。我将很快地过一遍,因为我确实想讲一下安全问题。重点是,所有这些东西,如果你还记得漏斗,我最后的论点是,顺便说一下,可能有一些,但从来没有这不是真的,我可以直接告诉首席信息官,“你在审计中所做的一切都是胡说八道。”如果你想读西德尼·德克尔的书,或者看看约翰·奥尔斯波从弹性复杂系统和心理安全的角度所做的研究。我提到过,归一化偏差很有趣。这来自挑战者号灾难。一个女人打来电话,我知道我说得太快了,但是我可以…你想要什么链接我都给你。但是Diane Vaughan写了一本关于挑战者号的书,她把它叫做,NASA有这种异常的常态化。在那里你只看到不好的事情,你会习惯它们,因为它不会爆炸。 So you start accepting that as a normal thing until the day people die.
还有这个。我不知道我为什么把这些东西放在这里,因为它总是让我没有时间。但我必须说出来。有多少人听过亚伯拉罕·沃尔德的故事?你可能听过,但你没听过。亚伯拉罕·沃尔德是二战期间的一名统计学家,他们有一整个团队都是这些杰出的统计学家,他们试图找出如何在飞机弹孔回来时修理飞机。所以他们在做这一切的时候都在考虑金属的重量,把它放在哪里,在哪里盖住洞。在这个过程中他突然顿悟了。他说:“你知道吗?我们完全是白痴。 We’re thinking about the place where the bullet holes are. Those are the planes that are coming back. We should be thinking about the places where the bullet holes aren’t, because they’re the ones that aren’t coming back.
但问题是,当我做这些采访时,我会寻找这些人。我将采访5个构建/运行团队,他们中的每个人都会告诉我,“是的,业务永远不会正确。”他们说,“我们想要红色按钮。”我们给他们红色的按钮,他们说,“哦,应该有白色的衬里。”然后我们给他们白色的衬里,然后,“它应该有紫色的字母。”我找到了一个团队,他们的工作很神奇。然后我说,“让我们找出产品负责人是谁。”我和产品负责人谈过,我发现产品负责人有这样的特点,他能在别人无法完成的地方完成工作。
你们都知道公司里有人会说,“把它给简。”把它当作亚伯拉罕沃尔德。这是一个复杂的突发想法。而不是试图找出所有的方法来做事情,找到那些工作真的很好,并遵循它们。我不知道企业和初创公司之间的竞争是什么,但是,大企业之间存在竞争。在这个角落里做Kubernetes和Docker的人,和在这里运行Remedy Atrium和cmdb的人之间的差距,他们是如此的遥远,我不知道我们是否能让他们回到一起。
但是,我还是要快速地过一遍因为我有一个更长的版本。那么什么是CMDB呢?今天CMDB的相关性是什么?Capital One的Topo Pal说:“你知道吗,约翰,四年前当我在Capital One认真开展DevOps时,我基本上有400个服务。今天我有5万项服务。”对吧?Microservices。顺便说一下,其中一些是[听不清00:23:55]我们不知道他们是谁。我认为作为一个行业,我们必须弄清楚这一点。我们需要一份服务目录。但实际上没有人试图以诚实的方式连接这两个世界。 Microservices, a type of delivery mesh. If you’ve got a group that’s still doing Idle and [inaudible 00:24:13] and you’re trying to do SRE over here with SLOs … Where’s that conversation happening?
你知道服务网格吗?再一次,很快地,我进入公司,5%的组织甚至听说过ISTO和ENVOY。这就是赌桌赌注。这基本上就是赌桌赌注。抱歉,如果你不知道它是什么,你就不是在玩游戏。这还是在我讲多重网格之前。因为还有其他的网格。比如节点的框架标识,或者网格架构。然后让我们进入Kubernetes和crd中的API可扩展性。我不知道答案,我只是想确定在一个组织中,你必须弄清楚——你不能两者兼得。 You can’t have people with a CMDB that’s about 30 percent accurate in any given day, and then expect to send whatever your favorite Honeycomb or [Single FX 00:25:14] events to people, because you don’t have anywhere to send them, because you don’t have an [inaudible 00:25:19].
好了,快点。这是传送网,我觉得很有趣。我觉得这值得我们好好谈一谈。我们讨论了服务网格以及它们是如何工作的。在它们投入生产之前,我们并没有进行过多的讨论。所以就像,我做了很长一段时间,但我没有那么多时间去做。但如果你想知道,我不知道答案。我只知道一件事,为什么我们所有的送货都不把斯威格当头等原始人?为什么?因为,问题来了。 How many people pen test their API tree structure? Be honest now. Yeah … Rooms of 1,000 … Three hands go up. I’m just like, let’s just make swagger a first class citizen. We can basically, in the build … You know what I mean? But we’re not even having a conversation about that.
好吧。DevSecOps,我们终于到了。下钻。这家伙要生气了。他说"我以为这是安全报告"我只是在开玩笑。现在我也欠你一杯啤酒。你们都不笑了。这糟透了。这实际上是我与一家保险公司合作的方式,我们做了完整的交易,你如何在管道中做DevSecOps,它的意思是你有你的管道,你要在那里做所有安全事物的抽象覆盖。 Again, I have a whole presentation. If you were here last year, you heard a good part of that presentation. And then you saw me on stage with the mentalist make a fool of myself, so … How many people saw that? Yeah. Thank you.
所以,最致命的疾病。第七个,对吧?为什么七?七个很酷。为什么我称它为致命疾病?因为它能让我上台。一般来说,它只是模式。当我进入客户端时,我只是使用这些模式将内容放入桶中。从字面上看,再一次,更长的版本是如果你只完成了30%的工作,如果你的激励机制不一致,如果你的管理系统很辛苦。有些公司,有10种不同的方式来为他们创造的30%的人创造门票。 “We use SharePoint. No, these guys use JIRA. These people use,” all with different contexts. Even if you tried to aggregate, you can’t.
在凤凰城的故事中,这是部落知识。我找到了,事实上,我合作的第一家公司是一个叫Lou的家伙。所以现在我叫它低圈。当我把这些画出来的时候,我画了一个圆。就像“我找到了另一个卢。”他们似乎是永远不会说不的人,他们非常友好,非常好。他们知道如何修理一切,但他们没有时间解释如何修理。所以新来的初级员工都辞职了,因为每次他们问卢某件事是怎么做的,他都会说:“我很想告诉你,但我没有时间。”
所以你要把它水平化。我们讲过组织设计。不仅仅是微服务,而是一般的。你不会想要Equifax那样的场景。然后是复杂性。让人们认识到复杂的自适应系统是真实存在的。当你有暗物质的想法时,你必须以不同的方式思考。事情非常复杂。你必须思考得更多,我在这里会变得很吓人,但是,你必须更多地思考它。一些基础设施现在正在运行,比如五大,六大银行,对吧? These are incredibly complex systems. I mean, they may still have mainframes and coldwall, but the aggregate of them are beyond human comprehension complexity.
就像物理学从牛顿理论发展到量子理论一样,它们必须转向更基于概率的理论。在某种程度上,我们的行业必须在确定性方面做得更好,我在这里要疯了,但确定性是,“这将永远是这样的。”如果不行,我们就把它钉进去。”“不,这些是适应性系统,你必须以不同的方式思考涌现。以及出现的模式。”这是很奇怪的事情,但我们在这个领域。
所以这一切都归结为……你有变通的办法。人们没有记录工作。你每周三把票寄给变更顾问委员会。我谈到了审计师的这种转变。所以我们真正要做的是,像大多数大公司一样,有两个层次……根据他们是谁,他们必须证明三到四个层次的人。银行通常是内部的,然后是监管机构。我的银行业朋友说:“约翰,事情是这样的。如果我们被吊销执照,我们就不是银行了。这是非常简单的数学。”我看到一些地方有各种不同的审查委员会。 The architecture review, the project [inaudible 00:30:35] the CAB. I had one company that was so embedded in their job scheduling XML into their application … In fact, I had to walk away from this company … That they actually had an XML review board. Their XML job scheduling was so tightly coupled with their code that it literally had to have its own standalone review board.
是的。复选框兼容。然后你会发现有多少人,当你发现一个管理4万人工资的女人说,“你知道吗,我会在周三把零钱存到CAB里。我要玩那个游戏。顺便说一下,我的备份文档是我使用了两年的相同文档。甚至连日期都不要改。甚至还在里面放了一条信息,‘如果你看到这个,给我打电话。’”换句话说,人们不会去读它。我有一家公司,51名评论者。当他们回去试图弄清楚如何进行自动化治理时,只有三个人进行过审查。他们中没有人真正读书。 Right?
于是这个负责发工资的女人说:“你知道吗?事情是这样的。如果需要的话,我知道如何把东西投入生产。这是我的密码。我拥有它。”这是一家大型资本市场公司。她说,“如果周三下午的CAB会阻止人们获得报酬,我就会做出改变。”你会发现这些东西到处都是。你让人们承认,他们正在使用Idle…有多少人,当他们知道这应该是一个重大影响的变化时,选择轻微的,没有影响,因为他们不想通过CAB?所有人都举手。
然后我问安全主管,你们没有柱状图之类的东西告诉你们有无数个这样的和两个这样的吗?“嗯,如果他们被审计员抓住了,”他们会回答说,“你只会受到轻微的惩罚。”这可能是我整个职业生涯中最激动人心的事情了。DevOps专家们,这是DevOps手册。告诉首席信息官:“伙计,你必须摆脱CAB。”他们说,“你知道,是这样的,约翰。你们所有的开发运维人员都告诉我CAB有多邪恶,我必须如何摆脱它,但你们从来没有告诉我该怎么做。因为我有监管者,我有orm,我有内部审计员,还有需要证据的外部审计员。所以我坚持主观证明。
认证是什么?证明你做了什么,或者你正在做某些政策制定者告诉你应该做的事情。所以在过去的一年里,我的框架是,作为一个行业,我们需要改变主观认证,也就是我给你一份变化记录,你看着它说,“是的,好吧。”他看着它说,“我想我应该让它进入我的生产系统。”六个月后,某个审计员说,“哦,这个的变化记录是多少?”“哦,这是一张救济票。这些人,对人,对人都说这很好。”它的功效是什么?30%还是20% ?与客观模型相反,它是内置的,自动化的,没有人。
DevOps自动化治理的想法……实际上是Kit Merker,我不知道,怪他还是怎么的。大约一年半前,他让我开始有了这个想法。还有其他一些公司也在做这方面的工作。我们可以在管道中建立认证的想法。所以我认为认证是一种……我敢说,咳咳区块链,但它并不是真正的区块链。它只是一个加密事件的链接列表,它有一个列表,它有一个[SHA 00:34:34],它说你做了所有的事情,它是不可变的。就是这样。有一个可靠的消息来源。
有多少人读过Liquid Software这本书?你应该读一下。老实说,我喜欢JFrog,他们对我很好,他们为我做了很多好事。我终于读了这本书。这是一本好书。液体的比喻,他们做得很好。我实际上是从最后偷了这段话,但是……这个想法是,你以不可变的哈希加密事件的形式构建这些证明。现在你的功效真的很高。这不是人与人之间的关系。因此,我开始思考这个问题的方式之一是Topo Pal在2018年写了一篇关于Capital one如何在管道中进行DevOps的文章。 It’s out there. I’ll get you the link.
如果你在谷歌上搜索这个,他们专注于…但他说我们有,最初他称它们为门。现在他称它们为控制点。换句话说,为了让第一资本管理一个系统,如果你想要自动批准。这就像是自动审批的游戏化。如果你想让你的服务通过自动审批,而不需要去CAB,你必须证明你做了这16件事。现在是29。但你必须证明这些东西。
所以必须有人看着说,“是的,是的,是的,你做得很好。你可以被自动批准。”我的意思是,这取决于变化。有一些变化显然不会。他现在把它移植到了控制点这个术语中。这些控制点,可以把它们想象成不可变的加密散列,有一个可信的来源。然后列出你做过的所有事情。
我所做的是,吉恩·金每年邀请大约40个人到波特兰。我们做这些案例研究或研究项目。我已经去了六年了。我很幸运能成为他们中的一员。一些最大的公司也出现了。仅限邀请。我在吹牛,但不管怎样。我已经去了六年了。大多数时候我只是漂浮,因为我觉得漂浮更有趣。早些时候,我写了《流言终结者》的那篇。 But this year I decided, “You know what? I’m going to basically prefab my project.” So I called somebody I know who runs all retail at Nike. The guy who runs basically one of the largest commercial Kubernetes, most revenue … Revenue for a company generating through, I mean, we’re talking 30, 40 billion in production Kubernetes of Marriott’s revenue. The guy who runs Azure. A guy who runs all the infrastructure for PNC Bank. Topo Pal from Capital One. And we threw in Mike Nygard from Release It!, just for fun.
我们基本上建立了一个参考体系结构,它可以是自动化治理的样子。我们做的第一件事,你要想象有一块白板。你有来自万豪,PNC, Sam Guggenheim的人,如果你没有,他会说,太棒了。都站在那里。我起鸡皮疙瘩了。我们试图弄清楚,我们如何向世界解释……有一百万种方法来定义管道。我们并不是说这就是你们应该描述管道的实际方式。但对于我们正在做的事情,这是我们想出的。有七个阶段。其中两个人骑着自己的自行车。 Again, I don’t have real time, but the Dependency Manager, Artifact, had their own stream. But they became inputs to build or package. Great, thank you.
然后我们说,“好吧,这就是你做事的各个阶段的模板。”同样,数百个不同的人有不同的方法来做到这一点。但就我们的目的而言,这本书将于今年晚些时候出版。这将是创造性共享。再说一遍,只是房间里的人。我不能告诉你。当我看到万豪、PNC和微软Azure争论什么是最好的控制点,或者我们在这里做这件事时,我感到不可思议。这些都是有记录的。我们基本上把65个控制点的参考架构放在一起,这些控制点是基于所有这些公司做得最好的。想想看,比如,“它是从社会控制开始的吗?” Even human based things. Not even automated. Like, “Did you do a pairing? A peer review?” All these things as attestations. We’re still embryonic. I don’t know exactly how all those attestations will line up in an attestation database.
我们做了三个示例参考实现。我们使用的最好的是Google的Grafeas。如果你知道什么是Grafeas,这是一个有趣的,它实际上是为这个问题设计的。它是开源的。它不会被谈论。我们在Kubernetes上做了简单的java微服务。我在PNC的朋友约翰·拉斯托夫斯基,我总是说,我怀疑他洗澡的时候会用卡夫卡来放水。我叫他约翰·卡夫卡·拉斯托夫斯基。所以他当然把整个保证交付建立在卡夫卡的基础上。所以我们用Grafeas得到了一个很好的工作原型。 We have another one that’s based on Hygieia from Capital One. And just to show you there’s … I’m not going to show you all the stages, but here’s the SourceCode one. The risks, and then these were what we defined as … And again, this is just a starting point.
我们会打开这个问题,问人们:“你们的控制点是什么?”这有用吗?”我想把它变成一个非常开放和合作的事情,我们可以开始进行诚实的对话,“你如何从主观认证转向客观认证?”这是我们想出的五个。演员,动作。我们总是为每个阶段定义输入/输出。还有风险。再次强调,我不会把所有的都讲一遍,但我想既然我们在JFrog,我们就来谈谈……我将介绍神器。
所以那里的控件只允许从可信的包源更新,必须是不可变的工件,一个保留策略。再说一遍,我们并不是说你必须这样。这是,那五到六家公司是非常聪明的人同意这是最好的[听不清00:41:02]总共有65个,在我们想出的这七个阶段中,有记录的,有描述,有输入,有输出。工件很有趣,因为我们不知道…你把输出称为工件吗?是的。我们也尽量严格使用术语。现在它变成了一个不可变的工件。事实上,藏物会变异,对吧?
综上所述,这就是七大致命疾病。你试着弄清楚如何获得更高的留存率。你真的需要百分百地投入工作。你不需要成为一个计时器,但我不知道你如何在不知道自己在做什么的情况下,真正地攻击黑暗债务和复杂的系统。我不是不尊重阿特拉西安。但是人们告诉我,“哦,我们要放一个Atlassian进去。它将解决所有问题。”我说,“是的,但你只捕捉了你所做的30%的事情。你在改进哪一部分?”
巩固工作系统,协作,瓶颈,制度化的知识,逆康威机动。要明白你的组织中有一些部分,不仅仅是你的代码库,还有你的方式,Susan Mauldin的国会报告和报告……这些东西会让你生吃。同样,我可以给你很多关于韧性,无可指责和人为因素的很好的参考资料。我认为自动化治理。我把这个写进了我们的论文,我需要重新措辞。Liquid Software的最后一段他们解释得很好。但它有点集中。它并没有像我需要的那样集中注意力,所以我真的写了我自己的版本。换句话说,如果我没有读Liquid Software,我就写不出这段话。但是我自己重写了这个。
你可以自己快速地读一下,但基本上,他们在Liquid Software中做了一件令人难以置信的工作,就像这样,阅读Liquid Software。换句话说,这关乎信任。很好,完美。这是信任的问题,对吧?受信任的来源。你知道,一家公司,其中一个参考[听不清00:43:31]他们正在使用Vault。他们在金库里创建了所有的签名。这是他们的权威。有很多方法可以剥去它的皮。还有一件事。 If this is like, “What is he talking about?” So imagine, not only are you sending up these immutable crypto events in some list. But imagine that when you do the build, you tar up all the logs from the build. You hash that, and that goes up in the list. So imagine when the auditor walks in and says, “This can’t be broke.” Like, maybe when quantum breaks through. But for now, nobody could’ve tampered with the build logs, because again, I don’t want to call it blockchain. It’s just a link list of crypto events that are immutable.
审计人员会发现,“是的。我们做的。”35天的审计变成了4小时的审计。“这种变化的天意是什么?”哦,这是哈希。你懂的。就像我们在银行里使用的其他东西一样。如果这不起作用,那么我们银行的其他东西也不起作用。这个我们已经讲完了。下一个是什么? Oh, next one’s the same thing.”
话说回来,我确实有个摊位。左边的是我儿子。我教的是,他是电气工程三年级的学生。佐治亚理工学院,吹牛。我觉得很有兴趣。我想教他什么是销售。我要让他领略一下我们的行业。而且销售很糟糕。是很困难的。所以我允许你过去给他点苦头吃。 Cause he’s like going gung ho about, “Dad, what should I say if they do this?” So, we could have a little bit of fun if you want. We might try to sell you something, but we won’t if you don’t want us to. And we do have a couple of books, so … We only brought like, 20 books but if you create a really good conversation with those guys, they’ll give you a book. I’m done. I hope you enjoyed my presentation.