购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

推荐序三

窥见更远:望远镜和软件可观测性

软件可观测性是近年来快速发展的一个主题,从技术到商业,我们看到围绕该主题诞生了无数新思想和新产品。虽然这是一本技术书籍,不过这里我想聊聊关于可观测性的意义和一些更接近根源的东西。

有记载的最早的望远镜概念可追溯到1608年10月,荷兰一位名叫Hans Lippershey的眼镜商人提交的一份专利,其中描述了一种能将远处的东西放大的装置,距今已经400多年。这400多年是人类科学突飞猛进的时期,望远镜就像眼睛一样,让我们得以看清宇宙和万物,也因此成为科学中最重要的仪器之一。从第一台望远镜诞生到现在,我们拥有了各种各样的望远镜:对宏观世界,有玩具双目望远镜到哈勃太空望远镜;对微观世界,有显微镜到LHC。科学史从某个角度来说是一部望远镜的进化史,一部可观测性技术的进化史,也是一部我们对客观世界的理解不断深入的历史。

将不可见的世界变成可见是我们理解客观世界运行规律的重要方式,因为不管你看不看和相不相信,这个世界就在此处不由分说地运转着。说回软件世界,我于20世纪90年代进入IT行业,当时的软件系统还都比较简单,大多都是单机系统,对于可观测性的理解基本在于日志和基于源码或者二进制的软件调试技术。从单机的维度来说,这基本已经足够了。但是随着2000年后互联网行业的崛起,分布式系统开始登上舞台,在早期的简单分布式系统中,可观测性并没有得到足够的重视,依旧延续着单机系统的思路:出了问题查询一下日志就好了!这在很长时间也相安无事。但是后来随着我们的应用和系统越来越复杂,再加上分布式系统比单机系统的不确定性更高(考虑到网络联通性),即使我们能够实现代码,也已经不再能够轻易地知道系统的运行状态,这时迫切需要现代的“望远镜”。对于我们这一代软件工程师,最重要的事情之一就是改变我们看待软件可观测性的态度,正视这是一门系统性技术甚至是一门科学。其实如果从上面提到的人类进步史来看,望远镜的发明和发展几乎同步于我们对世界的理解,类比到我们现在所身处的云计算时代,可观测性技术的成熟无疑会推动我们理解和实现云上的复杂系统,对此我毫不怀疑。

这个方向仍然处于黎明期,有很多难题还有待解决,例如,如何尽可能消除观测对业务带来的影响?如何以更低的成本存储可观测性数据?如何以更加符合人类直觉的方式快速向管理员展示系统的全貌以便于快速地定位故障和准确归因?

回到这本书,本书行文方式非常落地且直观,通过实际的案例和一线软件工程师的经验分享,令人信服地把可观测性的哲学和理念变成可参考的实践。除了技术之外,也有关于团队管理以及软件工程与现代可观测性技术结合的思考,相信无论是初学者还是行业老兵,程序员还是技术管理者,都能从本书中有所收获。

最后,我想以希尔伯特的一句名言来结束这篇序言:

Wir müssen wissen. Wir werden wissen.(我们必须知道,我们终将知道)。

黄东旭 PingCAP联合创始人&CTO
2023年2月16日写于美国硅谷 NvYnMlrO6mXHnZB1f5DMKfVvnpH+jFBYCSG+/OPSe1EIzZXGTuTdPOUJo0OFxTnu

点击中间区域
呼出菜单
上一章
目录
下一章
×