云原生可观测性与OpenTelemetry
1. 软件工程师的新时代与挑战
如今,对于软件工程师而言,是前所未有的好时代。工程师们追求影响力和效率,而当下这两者都在飞速提升。只需轻点几下,就能构建出可扩展、弹性的分布式系统,为每天数百万用户提供服务,无需深入了解运维或架构细节。编写lambda函数或无服务器代码,保存后即可立即为用户提供服务,仿佛拥有了超能力。
然而,当系统无法“正常工作”时,找出问题原因变得比以往任何时候都困难。技术变革带来了无限的选择、灵活性、自动化弹性和成本效益,但也伴随着复杂性的急剧增加和认知负担。系统故障不再有可预测的模式,静态仪表盘也无法满足对系统的理解需求。
长期以来,软件开发和部署处于“盲目”状态。软件工程师认为编写测试并确保代码通过就足够了,但测试只能验证代码逻辑,无法发现生产中的实际问题。运维工程师依赖监控检查,但这些工具不够精确,大多数问题往往由用户发现。
生产环境对很多人来说就像一个黑匣子,人们只能通过阅读代码和构建复杂的心理模型来推测问题。由于一直盲目发布代码,我们向一个充满未知变化的生产系统推送了许多自己都不完全理解的更改,这给SRE和运维团队带来了巨大挑战。
2. 可观测性的力量
当人们开始为可观测性对代码进行插桩,并在生产环境中定期检查时,会发现到处都是以前从未发现的bug。使用监控工具只能知道错误存在,但无法将错误与具体事件关联起来。而现在,借助可观测性工具,我们可以详细了解错误请求的各种信息,如客户端版本、请求端点、查询的数据库分片等。
超级会员免费看
订阅专栏 解锁全文
900

被折叠的 条评论
为什么被折叠?



