赢得一个自定义的新Relic弹球机!只要让其他数据迷们注册FutureStack就行了。 现在注册

Observy McObservface第六集:解开网格-观察的艰难之路与Kelsey Hightower

37分钟阅读

在这一集中,Kelsey高塔谈论Kubernetes的新网格革命,同时戏弄他即将推出的书,艰难的方式.我们的想法是,我们可以编写与其他应用程序通信的应用程序,在这两者之间有很多事情发生。

Kelsey谈论可观察性意味着什么,就像它所说,开发人员倾向于收集指标 - 但大多数时候,他们并不肯定为什么他们为什么收集它们。他说收集数据之间存在平衡,并且能够创造一个可操作的东西,这就是你对数据的作用是什么。

挑战来了,你可以对他们感到沮丧并抱怨他们,或者你可以看待挑战作为克服事物的机会。您可以问自己如何跟上所有可观察性工具,但我们今天看到的大多数工具都不是不同于10或15年前存在的工具。他们可能有更好的UIS和工作流程,但从根本上讲,它们大致相同。

Kelsey敦促开发人员在那里舒适,耐心等待,了解您可以的东西,并尽可能深地走。超过可能,您现在的学习将在未来适用。了解您可以控制您所以的信息速度,以及您选择采用的事物的步伐,您也可以休息一下,它一切都好。

如果您发现燃烧需要分享您的思想或咆哮,请将它们喷洒在devrel@newrelic.com..虽然您要将所有人发给我们一些字节的所有麻烦,请考虑花点时间让我们知道未来的节目中听到的内容。尽管有全面的燃烧火焰,您将收到回复,请知道我们对您的反馈真诚感兴趣;我们的目标是安抚。跟随我们的讨论:@ObservyMcObserv

乔纳Scheffler您好并欢迎回到麦考斯维福,观察性播客我们让互联网名称并完全得到了我们应得的。我的名字是Jonan。我在新的遗物中参加了开发人员关系团队,我将在每周回来一次,新的客人和最新的可观察性新闻和趋势。如果您对某个主题有一个主题,您想在这个节目中掩盖我,或者也许是客人听到 - 也许您希望自己出现客人 - 请伸出援手。我的E-mail地址是 (jonan@newrelic.com.)。你也可以在推特上找到我@thejonanshow..我们在这里给予他们想要的人。这是人民的可观察性播客。非常感谢你加入我们。欣赏表演吧。我今天加入了Kelsey Hightower。凯尔西怎么样?

Kelsey高塔:我很好。

Jonan:是的。我应该学会在这个时刻在这个时刻提出这个问题[chuckles]。我知道更好,但它只是让嘴里出来。让我们来替代品。我们可以互相问,而不是什么,“你好吗?”

凯尔西:你知道吗?我认为这是一个好的问题。我的意思是,你知道,你想办理登机手续,大多数人都知道这是一个修辞问题。如果我不是很好,我会说,“我做得很好,对了吗?我还活着呼吸。对于很多可能不是这种情况的人。所以我确实欣赏那些东西的基线,事情可能会更好。

Jonan:我真的很感激真的感激不尽。我会尽我所能接受它,这是一个明智的。所以我们今天在这里谈论可观察性,我理解你可能对可观察性有一些思考。你已经过了,我想听听听众的一点点背景。如果你不介意,请抓住你在做的事情上。

凯尔西:如果你在想最近的事,人们可能是通过我在Kubernetes;在此之前,您可能知道我在集装箱空间中的工作COX.在此之前,也许我在配置管理中完成的一些工作随着时间的推移木偶实验室.但在成为许多项目和哲学的贡献者之前,人们正在采用,我也有很多这些角色。我是一个系统管理员。我一直是一个尝试构建应用程序的开发人员,并确保它们在生产中运行良好。

当你想到我正在做的事情时,在过去的两三个月里,我一直在努力艰难的方式,所以它可能成为一本书。目标是我希望人们了解。当我写道时Kubernetes的艰难方式,目标是Kubernetes成为这种流行的容器编排平台。这是一个巨大的分布式系统。但让人们感到不舒服的并不是它是新的。而是他们不知道它是如何工作的。他们不知道所有的组件是如何组合在一起的。因此,最近我受到了批评,学习了一个基于服务的节目的所有组成部分。

当您想到服务网格时,我们正在谈论像这样的事情istio.要么linkerd..这里的想法是我可以编写一个应用程序。也许它与其他应用程序交谈,并且在中间发生了很多东西。安全性,TLS相互AUTH,授权,身份验证。对于我们今天谈论的很多人喜欢我们谈论的话题,有一点可观察性,无论是那种结构化的日志,http痕迹,或你收集的指标吗?普罗米修斯.所以现在,我只是试图了解那些个人组成部分的一切,并以其他人也可以蒸馏它。

Jonan:这太棒了。我很高兴听到它,因为我比你稍后进入软件。我只有大约10年了。在Devops Revolore已经开始后,我真的只进入系统工作。所以我从未有过专门的系统管理任务。我对这些概念的理解肯定并不像你的那么深。但从局外人的角度来看,了解Kubernetes生态系统,似乎很复杂。特别是这个新的网格革命,很多人正在谈论这件事,但我还没有找到了一个简明的定义,特别是我应该如何有效地使用它。所以我真的很期待它。我以为这将是一本书,或者是一个叫做的课程艰难的方式?!

凯尔西:是的。我通常喜欢使用多个插座。所以有很多人欣赏它。他们可以用更多的评论,更多的图表,以及我的一点点独白。这可能在一本书中采取表格,就像一根绳子与Joe Beda和Brendan Burns的共同作者Kubernetes:奔跑.所以他们有一点评论,有点看起来有更多的视觉和图形,然后也有一个GitHub储存库在创意下,我有点分享较低的级别看Kubernetes并从头建造它。

所以我认为艰难的方式值得同样的治疗,书的形式。它可能会在它周围有keynotes。当然,你可以刚刚开放的原始GitHub教程,只需花时间并完成所有级别的组件并走开,说“好的,现在我了解动作如何适合移动。”

Jonan:这正是让你这样一个令人印象深刻的开发人员倡导我的原因:你的内容方法。我认为这对我来说很清楚,你肯定会先把用户的兴趣置于。在开发者关系中对我来说是一个非常重要的事情,我们是第一个教育工作者。我们的角色是回馈社区,您可以使用您创建的所有内容进行了一项优秀的工作。所以我真的很感激。所以告诉我更多关于这种可观察性的信息,虽然我们开始呼吁这件事,可观察性。我在大约五年前在新的遗物工作,我现在回到了新的遗物并为他们建造了一个德国队的团队。但自回报以来,这种可观察性术语已经进入流行的使用,它旨在讨论监控和APM以及迹象以及追踪和痕迹以及所有这些东西。但以一种非常具体的方式,也许您可​​以向我们提供快速摘要甚至是可观察性的。

凯尔西:它有点说话,吧?现在我们称之为可观察性,我们有一个锚定我们在这个领域的想法的地方。那么这是什么意思?对于大多数人来说 - 如果我要向那些不为生活的人解释这一点,或者不是系统管理员 - 如果你驾驶汽车,那么那个面板是一种可观察性的形式。我在车里有多少气体?我有多快?现在,我可以用目前的轮胎压力爆炸你。我也可以告诉你座位调整的高度是多少,但那些在给定时刻并不重要。也许我当你不开车或你的燃料经济已经下降时,我只会展示这些东西,也许它是因为你的轮胎压力而贡献。这将为您提供警报,以便您去检查轮胎压力。

所以我想在世界上的许多学科中,我们已经有可观察性。你去看医生,他们带来血压,你跳上鳞片。我们的人类偏见有一种发射度量的方法,可以测量来告诉我们的东西。在软件世界中,我们总是在很多方面谈论我们的世界年轻和不成熟,因为我们不一定有一个清晰的金色信号。

现在我知道人们谈论那种东西,说:“嘿,这是一套金色信号。”您应该了解您的应用程序。也许我们应该将那些金色的信号系在一起,但是这巨大的断开连接,因为我们不知道每个人的服务水平协议是什么。我们不知道他们向客户提出了什么承诺。这是一个爱好项目吗?这是一个高度可靠的金融申请吗?既然你有这种争吵和断开连接,我们不太确定我们需要的指标。

所以,举个例子,我们回到汽车的类比——好吧,有一个张贴的速度限制。这是一种契约。如果你开车的速度超过了限速,你就有可能被要求靠边停车并被开罚单。而且会有一些责任,比如罚款或对你的驾照积分,你的保险可能会上升。当我们谈到计步器时。它的目的是向你展示你的驾驶速度。这样你就能把合同和你的速度联系起来。你可以通过减速或在某些情况下加速来调整行为,以适应交通流量。在软件领域,我们并不总是对速度限制有一个清晰的概念。所以我们倾向于收集许多这些参数和东西,但我们不确定我们为什么要这样做,所以没有人会去观察。 It just gets collected into the ether. And maybe we bring it back up when there's something on fire.

Jonan:这是对这个问题的真正简明解释。基本上,鉴于我们在软件世界中工作,对我们来说实际上对我们来说实际上并不是非常复杂的,肯定通过我们今天拥有的工具的可用性,它可以达到一个你可以衡量你想要衡量的最重要的地方在您的应用程序或基础架构中。但是真正的问题是如何从中提取值。这就是可观察性进来的地方。

凯尔西:是的。这就是为什么它没有被调用可集体.它被称为可观察性.我认为也有助于人们理解您实际上可以进行权衡,您可能首先收集您可以观察到的东西。在我来的时候,在我们开始称之为可观察性之前,我记得它就像收集所有服务器上的数据,只是收集内核将吐在你的所有度量并将指标放在某处。这个重要的公制现在眨眼了,告诉我硬盘从收集所有这些指标都充满了,因此我们无法收集更多的指标。这是当您开始过度索引收集指标时,与为什么要收集指标。而且我认为这是什么可观察性为人们做的,少于优先考虑何时何地收集事物,因为希望你会留意它。

Jonan:是的,绝对。我认为从它进入时从中获得价值,肯定会在收集数据和能够创造可操作的东西之间存在平衡。收集太多的数据时,您最终会越来越多的信息,然后有人得到一个嗡嗡声 - 他们正在打电话,他们出现。并且非常困难地确定信息海洋中的问题。所以而不是可能选择收集更少的数据,这是我很确定人们不太兴奋。当事情对于诊断目的出现问题时,至少有一个历史记录,甚至是座位的历史记录,即使是座椅的高度,甚至是座位的历史记录。但是你看到什么类型的技术在没有修剪噪音的情况下添加价值?也许我们保留噪音,但我们将其推入背景中,在其中所属的背景下。我们使用像AI和ML这样的技术来拔出真正的可操作信息。

凯尔西:所以这更像是技巧。我们有点证明自己的一件事是我们可以收集数据。还有许多行业收集有关事物的数据。这是你对数据的作用,这就是权力来自的地方。因此,在故障排除中,具有相对可用的数据,然后了解该做什么可以帮助您更快地解决问题。哦,此错误消息仅来自此IP地址。这是额外的元数据指向正确的方向。这很棒。我认为很多软件观点都在使用数据来制作这些类型的决策。

有些人对此作出可观察性。所以那么你可以开始做像预测的事情,因为硬盘驱动器失败,因为给出了我得到的信号,我可以看看这些历史价值,你可以蛮力。运行一个大的SQL查询,并希望它按时完成,具体取决于您拥有的数据量,或者在您提到的那样,我们有这些电子邮件和AI的方式,“我可以模拟这些数据位并预测何时何时预测驾驶可能会失败。“它的准确性百分之一幅增加。但目标可能是,“看,我们平均了解,当我们看到这些东西时,事情表明这种硬盘在90天内会失败。”我们在大型数据集上有足够的数据。

所以不仅仅是我的数据中心,而且多个制造商在类似条件下我们有足够的谓词说我现在可以建立一个预测的模型,因为可能更换仍然有一点生命的硬盘,更多宝贵比等待它实际崩溃,然后不得不做数据恢复。因此,这就是我认为可观察性的地方 - 当你开始将它与数据科学结合起来时 - 你可以开始积极地制作这些类型的决策,这可能是基于使用数据来告知决策的正确工程权衡。

Jonan:这是一个有趣的角度来实现这一目标。在我看来,今天的许多时间,公司正在谈论你去的每一个网页,它说是人工智能 - 无论该公司如何提供 - 它都说机器学习和人工智能。我真的很想在可观察性空间中,我们有机会利用它并以真正的智能方式使用它,在您拥有大规模的数据存储时,建立这些模型,我们可以实际拥有新的遗物的公司为我们的客户做出这种预测模型。

当我们达到一点时,从现在开始五年后,当那个成为标准时,我们可能会结束与这种能力一起发货的软件产品,这可能是与Prometheus集成的东西。亚博最新版直播这导致了我们下一个问题,在那里我看到这种工具和技术的爆炸在近期历史上具有指数般的复杂性。虽然存在现在在不久的将来提供可观察性的平台,但如果我们继续在这条道路上,我认为对于甚至是一个智能系统来跟上这件事,我认为事情仍然过于复杂。你在接下来的几年里发生了什么,这是为了防止这个世界的空间?

凯尔西:所以确保我们清楚,我们在谈论人工智能。所以这并不能取代人类的智慧。虽然你的系统能够看到足够多的模式和趋势,并说:“嘿,我预测你的下一个请求将会很慢,”但它不一定能够说这很重要。也许这无关紧要。也许没有人会在意下一个请求会很慢。这就是为什么这些只是帮助人们做出有根据的猜测的工具。如果我知道我已经将服务器移到了另一个国家,那么就会改变很多变量。

当然,延迟将很高。因此,如果您的模型是基于之前的位置构建的,那么这将喜欢一个异常。它可能会扔掉东西。这就是我们必须更新这些模型的原因。我们不得不调整一些假设,我们必须有一个基线,我们在说什么?什么是实际的最终目标?如果我们尝试通过库和工具和仪表板来做这件事,我们试图将其部分解耦,然后我们有点奇怪的地方。曾经有人试图推出ai的情况,试图预测雇用一百万千万的堆栈中最好的候选人,这只是让人类特殊的东西。我们有能力使用多于数据来做出决策。我们可以使用直觉。 We can use situational awareness. We actually have a context that is not backed by data.

有时你只是在一个房间里,没有数据可以告诉你在那间房间发生了什么,但你必须用你的眼睛。也许您可以翻译您在数据中看到的图像并将其映射到体验。但我们可以以惊人的速度来实现这一目标,目前没有机器竞争。机器真的很擅长看大量数据并制作某种类型的预测 - 下届国际象棋移动是什么?什么是下一个转移?但是,是否在更大的系统中是一个大问题,人类仍然需要以某种方式使得最终判断呼叫,所以这就是我们眨眼的原因。这就是图表绘制这些行的原因。因此,您可以将其视为人类,以便根据系统在告诉您的方式做出决定。

Jonan:我同意你的观点,人的因素是不可替代的。开发人员经常会想到,我们是否会谈论未来,100年后的未来,我们的身体里有电脑部件是很有可能的。如果埃隆·马斯克(Elon Musk)能如愿以偿,那将会比这快得多。

我们谈论的未来,也许我们确实有人工智能,改进到能够取代人类思维的程度。在我的例子中,它一直是一个不如人工智能加上人类大脑强大的系统——无论我们在那个旅程的什么地方,人类的因素是不可替代的。我认为,对于我们正在构建的这类情报系统来说,这总是一种增强。

所以我想在这里拉一点点并谈论在软件中进行的其他一些事情,这是一段非常受欢迎的软件的东西。我已经看到了最近人们所说的那种索引,“嘿,也许将我们的模特分成了一千种不同的微服务正在增加不必要的复杂性。”现在人们正建议你留在你的山顶,直到你有一个非常好的理由将碎片拉出并使它们变成微服务。你对微神经系的趋势是什么?

凯尔西:您构建的可部署事物的大小略有不同的论点,“我们永久在服务世界中,即现在是永久性的。”你打算拜访PayPal。您将打电话给新的遗物的API,Github API,DNS。

大多数人,即使在您的整体世界中,也可能有一个DNS服务器某处,域名服务。所以你已经拥有服务。我认为我们已经过去的事实并非一切都会在一个二进制中。我们的数据库倾向于生活在我们的申请二进制之外,DNS生活在它之外等。所以我们已经过去了。互联网和所有这些都在服务领域。所以现在,当您正在编写软件时 - 假设您正在编写应用程序逻辑。因为我们已经承认数据库在外面,甚至您的存储系统都在外面,是否是内核服务的完整系统。这些是一组不在应用程序中的存储服务。

现在你要写的应用程序——当我自己写东西时,周围没有其他贡献者。我可以处理这个模型。因为只有一个开发人员写的代码是好是坏,那就是我。我能理解所有的合同,我能加强合同等等。因此,单块石头往往是正确的取舍。我可以去重构,我可以把一切都记在脑子里,这样就没有人可以和我冲突了。从这个意义上说,整体结构适合模型或独立开发者。现在,当我们开始添加两个不同的人在代码库上工作,假设他们在如何编写代码和风格上达成了一致,也许他们的技能是一样的。在那个世界里,也许他们的工作流程可以非常兼容。“嘿,你负责这部分代码,我负责这部分代码。 And when we have conflicts, we'll resolve them together.” And they do a good job of it. Again, a monolith will be OK.

现在,一旦开始拥有成千上万的人试图构建一个系统 - 让我们说你开始将授权服务引入这个混合。您开始尝试从我的实现中借用代码,如我的用户数据库。然后你说,“好吧,我们应该改变用户数据库或用户对象,以便我可以更好地验证用户。”我会说,“好吧,如果你这样做,你会打破我对该用户的内部引用。一旦它开始击中,就会得到这种混乱。我们应该弄清楚一个有多个版本的用户对象的方法,或者也许不使用我的用户对象。“我们获得所有权。代码库的哪个部分应该拥有码库的其他部分?我们围绕封装等规则等等。现在,在单个代码库中真的很难做到。 So what do we do? Some people will move into libraries. I'm going to create a user library and we can have multiple versions of that user library. I import version one, you import version two, and we'll have some commonality between the two versions, so that name, user, and address can be compatible. Great. And then you get to a point where, when we go to deploy this stuff though, maybe we do introduce some friction: “Ah! I made a few mistakes, sorry about that.” I updated user two, but not user one. And now the whole system is broken. And the way we're storing things in a database is causing corruption.

所以你会从一个组织的角度说出,你可以使办公室服务不应该依赖于我们所拥有的特定大,一方面的论点。您可能会明白我们应该将其分开,然后移动办公室服务,以便我们实际上可以独立运行。我们只会在用户的内容方面拥有一个非常基本的合同。但我们在数据库中的用户表示可能与数据库中用户的表示非常不同。这可能实际上有效。但是我认为很多人都忽略了这里的最大问题是,如果我的服务有自己的用户定义,并且我试图验证系统中的用户,那么必须有一些类型的合同我的用户ID与您的用户ID匹配。然后我们必须弄清楚如何在我的服务与服务之间进行沟通。

如果没有你的服务,我的服务可能就无法发展。当这种情况成为现实时,您最终将构建一个分布式整体,并引入了大量的复杂性,但却没有带来多少好处——但如果它允许您的组织独立运行,并且有些人需要这样做,那么它可能是值得的。

Jonan:对我来说很有意义。我认为这是早期发生的事情,特别是这些微服而好的变化,人们正在成为组织。当我在当天在Livingsocial工作时,我记得明显,需要在笔记本电脑上旋转14或15个独立的应用程序,以便在该系统的一个组成部分上工作。然后我们在一个地方建立了那些应用程序的模拟版本或者在破坏这些服务的边缘周围进行大量工作,以确保我们可以恢复一个假的回应,这将是合理的,我们可以继续在各个申请的开发。

但我同意你的看法,这正是大多数人缺少的作品 - 了解真正的微兽架构和分布式纪念碑之间的区别,以及在任何特定的时刻是否值得它肯定是组织来确定.所以关于这个世界的可观察性,我们知道我们正在努力实现可观察性的目标。我们希望曲面曲面。并且容器的世界正在快速复杂化。在Kubernetes生态系统中运行了许多不同的组件。如果你看那些存在的CNCF项目的页面,我认为有可能超过100岁。我想知道你是否知道有多少有150个不同的项目CNCF.雨伞?

凯尔西:我的意思是,在这一点上,它从一件挂在博物馆里的艺术品变成了涂鸦墙。任何人都可以在上面添加自己的标签或其他东西。所以我认为这是其中的一件事,就像试图强调和庆祝所有这些方法,即使是它们的竞争方法,只是这个生态系统是多么庞大和昂贵。如果你仔细观察,你会发现你可能会做出所有这些选择。

Jonan:其中许多选择在其功能中重叠。所以当你正在寻找评估新技术时,你个人寻找什么?我假设成熟是你在那里的某种东西,但除此之外,当您在建立系统时尝试选择分布式跟踪解决方案或日志记录解决方案时,您会查看哪些类型的事情?

凯尔西:这很有趣。今天人们已经这样做了。我经常去杂货店买东西。当我去杂货店的时候,我喜欢做的一顿饭就是做我自己的泽西麦克风格的三明治。我走过杂货店,有很多面包可供选择。我不知道,大概有50种不同的面包。他们还有今天早上烤的意大利面包。而且有效期只有三天。我要做出这些选择。我是吃这个,还是像从熟食店买的那样,把面包切下来切好? But one thing is, once I've tasted one of them, I'll try this one. I'll try that one. But once I like one, I have brand identity. So maybe I like buying things that come from Amazon. Maybe I like buying things that come from Datadog, or maybe I like buying things that come from New Relic.

因此,我们将开始向各种产品开始谈判一些品牌亲和力。亚博最新版直播因为很多这些事情往往有重叠的东西。现在市场上有一些独特的东西 - 我是素食主义者。而且我知道我是否想要像汉堡包一样品尝的东西,那么除了可能是不可能的汉堡或超越的东西,对我来说没有很多选择,但这些都将成为新的东西。

所以我认为Prometheus对人来说是一件非常新的事情。所以在你说的那样,我选择哪一个?好吧,再次,记住,在杂货店类比:我知道我想制作一个三明治面包,生菜,一些奶酪,一些甜椒等。我有一个目标。所以,如果你告诉我,“我希望能够从我的申请中收集指标,”那么很棒。也许你有一些基本的东西,所以应该帮助你缩小一些事情。然后你可能会问的下一个问题是,“我想收集什么样的指标?我想要很多灵活性吗?或者我想要像上校的指标吗?我真的不关心客户指标。“

因此,如果我真的在考虑,机器级度量,通常由某种现成的代理人覆盖;我安装它,它会选择一些东西,它会像箱子这样的地方发货。但是,当涉及定制度量标准时,开始进一步缩小我的选择。所以当我想到自定义指标时,我如何实际编写代码来产生这些自定义度量?因为,我必须确保这样做的生态系统 - 我不想用手创建自己的对象类型。理想情况下,我会看看是否有一个很好的生态系统。所以这是普罗米修斯开始发光的地方。他们有很棒的图书馆。他们甚至有框架集成。

无论是Spring Boot还是你使用的其他web框架,它们都会有一些基线,要么是开放的遥测集成,要么是普罗米修斯集成,当我导入那个库时,它会给我运行时的一些基线。它会有一些助手,让我创建自定义指标,然后加分。我甚至可能对如何收集这些参数有自己的看法。推还是拉,这一直是个大争论。我渐渐明白,我喜欢两者兼备的灵活性。所以对于那些不熟悉普罗米修斯的人来说,它伴随着slash metrics的概念。如果你吸进库并注册处理程序,那么你会得到一个斜线参数组件,这通常会给你免费的运行时参数。如果你是一个New Relic的用户,我想这就是那天让我对New Relic印象深刻的事情,当我在puppet的时候,你导入一个库,然后去到New Relic仪表盘,整个世界都会为你点亮。或允许这些运行时度量,有多少例程你去跑步或者使用多少内存,但它给你所有这些其他助手库为您的自定义指标和一个固执己见的方法如何暴露和拉模型和抓取这些指标在这些其他的间隔。

所以当我将整个生态系统视为需要生成自定义指标的开发人员时,查看可用的图书馆,看一些可用的知识库,然后我开始说,你知道吗?Prometheus是根据生态系统的基础基础的正确工具。再次,所有这些等同于我脑海中的可持续性。

Jonan:是的。这正是让我在一天中吸引新遗物的原因。我很高兴看到这样的解决方案,就像现在实施那样的亚博直播平台方程式的能力 - 就像你说的那样,许多在那里有这个代理模型的许多服务,你在应用程序中安装了代理,那么指标出现在仪表板中。它们还能够与您的系统集成普罗米修斯,所以你可以拥有两个世界上最好的。你提到了一点点张遥测,我想抓住人们在那个空间发生的进步,因为这真的很新,对吧?但是有两个项目可以融入Open Telemetry也许是一年前。

凯尔西:是的,这是正确的。有点像云本地社区,谷歌拥有Opencensus,这就像我们考虑拥有多种语言框架模型来收集,然后将指标运送到不同的后端。然后我们也有开放的遥测社区,他们正在做他们的事情。也许他们会参加不同的名字。我们正在寻找两个项目的目标,并想知道它是否真的有意义,有多种语言。也许一个人专注于更多的属性,如日志记录,跟踪和度量标准。也许另一个更专注于其中一个或两个维度。这些社区聚集在一起说:“我们可以统一这些东西,我们正在做的事情之间没有那么多差异。”

现在我们在这个地方,也许打开遥测是一种向前捕捉到这种基于库的方法的许多目标的方式。而且我正在强调图书馆基础,是我需要在Codebase中做点什么来获得一些价值。还有另一个动作,我认为很多人都会关注 - 我实际上是一家名为Pixie Labs的公司的顾问。而且他们采取了现在与现代内核的方法,您可以以ebpf这样的方式利用eBPF,即内核现在有很多洞察力和钩住语言运行时和网络模型。我实际上可以直接从Linux内核开始抓取遥测和数据关于HDP。

那么,猜猜是什么?你现在可以在一个你思考这种自动遥测心态的世界上没有图书馆的世界 - 也许无代理不是正确的单词 - 但理想情况下,现在你可以在这些应用程序下面钩。所以这与“编译 - 这个库进入你的应用程序”方法有点不同。现在它更多地从运行时下面拉动东西,而且在java.社区,你一直有能力去运行时拉出东西。但是,想象一下,“我现在可以走下去,并从内核中拉到很多只在一些运行时可用的东西。”

Jonan:是的,当您尝试将这种可观察性达到大规模系统时,它肯定简化了实现。我想象在像谷歌这样的公司,有很多人在一个努力维持数十万个不同的容器和实例 - 他们不再是服务器。但是在那里提供了100,000个应用程序,试图实现相同的目标。它们都作为微服务架构的一部分。这实际上是一个非常沉重的升力,虽然将所有这些代理人达到适当的地方,但能够在堆栈中减少可观察性的那种负担的一些部分真正简化了东西,我想象的。

凯尔西:是的。我认为这是尝试有一个哲学的超级钥匙,使其容易做正确的事情。所以,如果你可以在内核层上钩住并拔出一些东西,很棒。如果可以在运行时层挂钩并将一些东西拉出,请执行此操作。但是,当涉及定制度量标准时,在可能需要开发人员时需要更多的上下文,如果它可以从编译的所有符号中拔出运行时,并且如果我可以拔出哪些方法是什么调用了,很多这件东西通常缺少的是关于上下文的元数据。为什么我连接到这个数据库?我打算去检索一个用户吗?我要去检索,你知道,新的价格吗?因此,这个上下文再次是​​开始让我们从这个数据点试图告诉我们的东西中获得一点价值的东西。 This pedometer has the context of the speed limit. I know that this gas light tells me how much fuel I have to keep driving. You need a little bit of that context in order to make any of this work at scale.

Jonan:我认为你是完全正确的。这是可观察性的一个重要组成部分——这就是为什么我们首先要这样讨论它,因为背景是最重要的部分。你有很多闪灯,但是哪些闪灯,为什么它们是相关的,为什么最初的开发者把它们放在首位,这才是我们真正想要的信息。我还有一个问题想问,这个问题和我们现在所处的位置有点无关,但我听到很多人对多云有很多强烈的观点,我认为你是一个有很好的观点的人。您能否告诉我们您对多云的看法,以及在公司成长过程中考虑多云是否重要?

凯尔西:当我听到“多云”时,人们都在强调采用独立技术孤岛的摩擦。让我们进入一个单一的数据中心,打开灯。我们在这个数据中心走着,看着这个安装在这个42英寸宽机架上的刀片底盘。惠普刀片服务器是由惠普制造的,它们是非凡的设备。在它们的背面,有一个标准的电源连接器连接APC电源。在机架的顶端,在它的最高处,你可以看到Juniper制造的48- 42端口的开关。然后跟踪电缆,找到由完全不同的供应商制造的NetApp存储设备。在我职业生涯的任何时候,我都不记得有人这么叫过多供应商?没有人说,“哦,我必须有一个多供应商战略。”不,您为您的需求购买最佳产品。为什么这在数据中心工作?由于我谈到的大多数设备,都是由猫5个电缆连接,也许是光纤通道电缆,但它们如此标准化,您几乎知道该怎么做。

那些事情之间的延迟是如此之低。在我们到达多云之前,我将介绍一些摩擦。如果我说,“我打算创建这个数据中心的副本,我将把它移到地球的另一边,并在不再同样地工作之前做的所有技术。我不能只是运行一块纤维 - 我的意思是,我猜你可以在很多方面与这些水下海电缆 - 但只是用比喻一秒钟。你不能去买最好的买,买一根电缆并在世界的一面掉下它并将它放下,你必须开始处理中间物品的一些真正挑战与延迟一样,甚至更改您构建数据的方式。对?我不能依靠低延迟访问快速存储。我将不得不考虑到我将复制到世界的另一边的事实。

在谷歌的情况下,我们有滞后时间时钟,所以我们实际上可以做这个分布式系统来补偿光速和延迟,当你试图有一个数据库,并保持它与某种形式的共识同步时引入的延迟。考虑到所有这些,云中的摩擦水平一直存在。例如,让我们想象这样一个世界,所有云供应商共享一块网络结构。这意味着所有区域和所有云提供商之间的所有区域之间的延迟量是相同的。我们不会像现在这样从网络的角度考虑多云。我们会说,“哦,我只要放一个负载均衡器,指向每个云提供商的IP,就像我在数据中心做的那样。”当你听说多云涉及到对不同服务的认证时,另一个摩擦点。同样,你已经有这个问题了。

当您谈论Oracle数据库或Postgres时,我们通常需要一组凭据,也许是要安全地连接的TLS证书以及用户名和密码。然后,当您转到其他服务时,也许您需要一个令牌或会话令牌,具体取决于。我们已经拥有各种身份验证协议。我们只懂他们,我把它放在文本文件中,我把这个证书放在这里,我才能抓住他们的凭据和真实的客户。我们知道如何做到这一点。但云在亚马逊的一种方式实施,谷歌这样做了另一种方式。它们可能有一个元数据API,可以调用获取这些凭据。大多数人说,“哦,那就是如此不同。我无法做到这一点。就像我怎样才能解决这两个?“ The thing is, you've never resolved this. There was no place where you've tried to normalize and we can do this with PAM modules, where you teachPostgreSQL.如何使用unix.数据库在本地服务器上。然后,您可以使用一组类似的令牌或用户凭证进行身份验证,但可以以同样的方式对待云。

所以,当我听到多云时,我听到的是我无法解决的新摩擦。如果我使网络消失了,那么,有人会去谷歌云将很容易,旋转一堆在GKE上的容器,谷歌的kubernetes提供,然后指出,让我们说DynamoDB亚马逊,并使用它作为后端数据库,它会如此明显,因为它只是一个需要一组凭据的IP地址。因此,当人们谈论它时,这就是多云对我来说意味着什么。我认为这就是他们描述的。

Jonan:是的。我认为人们经常使用这样的术语当他们试图思考他们实际面临的问题时。但是我同意你的观点,我们看待这个问题的方式是错误的,你不能把服务器机架描述成多供应商——你也不应该把你的平台描述成多云。如果有一些决策——你在前进的道路上做出的技术选择导致了相关的摩擦——那么就解决已经做出的潜在选择,而不是试图自上而下地处理它们。我是不是在总结你的观点?

凯尔西:是的。所以现在,大多数人都会看看云提供商,包括他们的在线基础设施,就像这些小单独的技术岛屿一样。真的,我们需要谈论是什么桥梁需要在它们身上建造,那些桥梁真的看起来像一种形式的网络。我认为有一点幻想,“哇,我应该拥有这个多区域复制数据存储和数据库。”这实际上很难[笑]。您可以执行此操作,但您可能不一定在同一页面上获取所有提供商关于哪些数据存储支持,并同意允许通过与您选择的相同方法进行复制。

Jonan:正如我所料,你的观点很好,凯尔西。非常感谢。我希望一年后你能再上节目,有话可说。我想知道您能否为我们预测一下未来,您认为明年可观测世界将会发生什么变化?我们会看到什么样的东西冒出来?

凯尔西:你知道,我认为一年的时间可能不够做任何事情,因为我认为大多数人都必须设定一个期限,不管他们是否不同意这个期限。我认为它们都是思想的锚,工具正在以一个伟大的速度成熟。您有很多开源工具,它们在收集方面做得很好。我们仍然处于收集工具的阶段。现在我们开始看到一些其他的工具,它们专注于工作负载。这些数据意味着什么?一种注释数据并让您更接近决策的方法。太好了。

我想我们已经开始朝那个方向发展了。但是,你也开始从人的方面获得一些东西——你可能必须成为一名数据科学家,才能从我们正在尝试的可观察性中获得全部价值。所以即使我们说可观察性意味着一件事,老实说,它就是数据。这些数据就像所有其他形式的数据一样——通过理解一些数据科学,您可以利用一些技术。当我们开始真正从这方面着手时,我认为许多供应商做得很对。让他们雇佣数据科学家说:“嘿,我们如何从这些数据中获得最大的价值,让用户可以使用下拉菜单或小部件?”但我认为很多时候,随着我们开始成熟,这种能力也会进入普通的开发人员或普通的操作人员。

所以我认为这是我们今年将继续看到的情况。下一次进化将是当我们不再叫它的时候可观察性.这就是你知道我们已经搬到了下一件事。我不知道这个词是什么,但我知道我们倾向于采用言语,直到他们不再有用。我们创建了新的单词,然后向前移动火炬。

Jonan:我认为这很可能是我们的未来。我不知道这是否会在一年内发生,但我现在邀请你一年后再来,因为,至少,我想听听你的书。也就是说,你现在正在做的项目,叫做艰难的方式.让我们给我们的听众一些凯尔西·海托华生态系统的资源,这样他们就可以更多地了解你的工作。

凯尔西:我这些天的工作——我在github上写了很多代码——这是一个我担任维护者的项目。有一个项目,我是贡献者。目前我正在为开放策略代理做贡献,这是一个用于进行授权的很棒的开源框架。一旦你认证了它,人们能做什么呢?但这些天,凯尔西是在公共场合学习。我并不是什么都知道,但我确实是一个非常务实的人,愿意做艰苦的工作。所以我花了几个月的时间来学习一项技术。我向大家承诺的是我会非常深入地研究,和发明它的人交流,甚至可能有我自己的想法,但之后我开始养成在公共场合学习的习惯。这意味着如果你在推特上关注我,你可能会每天或每两周收到我在想的东西,我是如何处理问题的?然后你也会在我的GitHub上找到一些东西:“嘿,这里有一个教程,告诉你如何做我刚学会的事情,我想让你省下我过去花在这上面的25小时。”

所以也许你可以在一个小时内学习它。然后,当然,有像书籍这样的东西,就像Kubernetes:跑步,Kubernetes的艰难方式也就是这个创作共用关于如何从头开始构建Kubernetes的教程,但我总是会利用这些东西。有时会以播客的形式出现。我会在YouTube上发布一些我的主题演讲。所以我鼓励大家去追随Kelsey,一个完整的人。除了技术专家,我还有很多关于人类应该如何互动和相互行为的哲学。你可以把这一点转化到你的职业生涯中,也可能成为一个更好的技术专家。

Jonan:非常感谢你来展示凯尔西,这是一个绝对的乐趣。在这个复杂的世界中每天都在挣扎的话,你对我们的听众有任何分开的话吗?

凯尔西:我想说的是,挑战来来去去。很多时候,当你面对挑战时,你肯定会感到沮丧,抱怨为什么它这么糟糕。但考虑到生命对很多人来说都太短了,我把这些挑战看作是克服一些事情的机会。所以在你的职业生涯中,也许你看到了这种技术的闪电战——我怎么能跟上所有这些可观察性工具,所有这些模式,所有这些词汇呢?而事实是,在基本层面上,大多数东西都和以前一样。我现在看到的大多数工具与我10年或15年前看到的大多数工具没有什么不同。当然,他们可能有更好的ui。他们可能有更好的工作流程,但基本上都是一样的。我认为你可以从中得到安慰——要有耐心,尽可能学习,尽可能深入。更有可能的是,你现在学到的东西将来会适用,我们称之为经验。 So I think a lot of people should just make sure that you understand you have control over the pace of information you let in. You have control over the pace of things you choose to adopt, and you can also take a break and it will be OK.

Jonan:我真的很感激这位观点。再次感谢您来表演。这是一个绝对的乐趣Kelsey。你有一个美好的一天。

凯尔西:太棒了。谢谢你邀请我。

Jonan:谢谢你。

非常感谢您加入我们的另一章麦比斯特场所。此播客可在Spotify和iTunes上使用,并且在销售Fine Podcasts的地方。请记得订阅,所以你不会错过一集。如果您有一个主题或客人的想法,您想听到节目,请联系我。我的电子邮件地址是jonan@newrelic.com。你也可以在推特上找到我@thejonanshow..显示今天的剧集以及许多其他可爱的书呆子的展示developer.newrelic.com..停下来检查一下。非常感谢。祝你有美好的一天。