O11y指南云原生观察的第一步
在没有云的世界过渡到云原生开发世界的过程中。这对开发者意味着什么,有哪些挑战?
让我们开始一个系列,带你一起进入云原生观察的世界。这是我在不到一个月前加入云原生观察平台Chronosphere后开始的旅程。
虽然我讲述的故事已经从开发者受众发展到架构受众有一段时间了,但有一件事引起了我的注意,那就是云原生环境的复杂性。解决方案的架构越复杂,就越需要简单的方法来分享成功的组织如何在云原生规模下工作。
在进入云原生架构的过程中,出现了一个非常明显的问题,在云原生环境中发挥着作用。这个问题我已经在一个关于云数据的系列中进行了概述--它不仅仅是关于你在早期架构时代的数据存储。
通过对云数据的研究,发现了一个非常有趣的、有些隐蔽的云原生观察性世界,在对你的云原生架构进行监控时产生的数据往往可以超过你在运行生产上的花费。
这个系列从开发人员到云原生观察能力的基础知识开始,涉及的参与者,并概述了围绕云原生观察能力的工具向你推销的技术和商业故事。
让我们直接进入,好吗?
基本的介绍是从这样的观点开始的:开发人员处于一个没有云的世界,然后不得不过渡到云原生开发世界。这对他们来说意味着什么,以及他们不得不接受的一些挑战是什么?
旧的开发方式
重要的是要明白,在以前的开发者世界里,为云原生前的服务和应用编写代码,在我的代码走向生产的过程中,对其进行监控的想法往往是非常有限的。
这通常是某种持续集成和持续部署(CI/CD)工具链,它将为我提供一些关于性能、测试失败和部署成功的见解。除了提醒任何问题的CI/CD仪表盘外,追寻失败并不经常需要仪表盘。这个警报会让我回到我的开发环境工具中,通过尝试解读记录的错误、测试失败的结果,以及在我浏览代码时使用大量的断点来进行调试。
当代码投入生产时,这大部分都是运营部门的职责。他们有自己的工具,包括日志分析、仪表盘和监控的最爱,如Nagios。
然后,云原生开发的世界出现了。
使用云原生O11y开发
慢慢地,出现了一个转变,作为一个开发者,你不再在自己的机器上或自己的数据中心托管的环境中工作。一切都在云中,或类似云的环境中,这改变了所有的商业期望。
敏捷开发用自动化缩短了通往生产的道路,迫使我们以你的下一个代码变化的速度前进。它也创造了一个新的格局,运营向左移向开发者靠近,我们都成为DevOps团队。
新功能的发布不再是一年几次,而是每天甚至每小时几次。这带来了对更好的工具的需求,以处理在我们的云原生世界中创建的大量组件。应用程序使用数以百计,甚至数以千计的微服务,要在这些架构中保持可观察性变得非常困难。
朋友们,这就是我们在云原生世界中找到的代表一切监控的词:云原生可观察性的崛起。可观察性,简称o11y,比迄今为止在我们的开发者世界中发生的任何事情都要庞大得多。你不仅要跟踪你的应用程序和服务的可用性,而且要预先检测可能导致客户体验下降或停机的趋势。
在开始的时候,大家都在谈论监控的 三大支柱,试图解决云原生o11y的挑战:指标、追踪和日志。问题是,企业更愿意关注三个阶段: 需要尽可能快地了解 手头的问题 ,能够快速分流问题并修复(补救),最后,从根本上来了解发生了什么,以防止未来发生。
接下来,谁在现场
在简要回顾了开发人员和运营人员从旧世界到新的云原生世界的路径后,本文触及了云原生O11y的技术方法(支柱)和业务方法(阶段)之间的区别。