今天的应用架构,正处在一个不可测的阶段

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
云备份 Cloud Backup,100GB 3个月
简介: 简介: 近几年,“可观测性”这个词在国内的 IT 圈子突然走红,阿里、百度、字节、腾讯等大厂纷纷跟进可观测性建设,更有多家基于可观测技术创业的公司陆续成立,可观测性领域的融资很火爆。这把名为“可观测性”的火,甚至从后端领域,延伸到了大前端,一些移动开发团队希望通过引入“可观测性”概念解决更深层次的应用架构问题,改善性能和业务体验。

采访嘉宾 | 吴结生(Jason Wu) 阿里巴巴高级研究员

主持人 | 霍太稳 极客邦科技创始人 CEO

编辑 | 邓艳琴

近几年,“可观测性”这个词在国内的 IT 圈子突然走红,阿里、百度、字节、腾讯等大厂纷纷跟进可观测性建设,更有多家基于可观测技术创业的公司陆续成立,可观测性领域的融资很火爆。这把名为“可观测性”的火,甚至从后端领域,延伸到了大前端,一些移动开发团队希望通过引入“可观测性”概念解决更深层次的应用架构问题,改善性能和业务体验。

然而,“可观测性”并不是一个新词,为探寻它翻红背后的原因,InfoQ 采访了阿里巴巴高级研究员、阿里云智能存储负责人吴结生(Jason Wu)。在今年首期 C 位面对面中,他与 InfoQ 共同解读了存储技术的现在与未来,分享了他亲历过的一些重大抉择与成长感悟,https://www.infoq.cn/article/Kwud4ha7syxRDDk5I4Yj。同时,Jason 所负责的团队,也正在为可观测性发展做一些工作。本次,针对可观测性,Jason 与 InfoQ 探讨了他的理解,以下是他的四个核心观点——

观点一:今天的应用架构,正处在一个不可测的阶段。

观点二:监控是系统具备可观测的能力之后,上层提供的一种工程能力。

观点三:可观测性一直存在,现在只是翻红。

观点四:云原生时代,产品更需要具备可观测性。

Observability,可观测性 or 可观察性?
在谈论可观测性的现在与未来之前,我们先来聊聊这个词语本身。

可观测性的概念来自于国外的 Observability 一词,但如果我们打开各种翻译软件,输入“Observability”,出来的翻译结果往往都是“可观察性”。

所以,为什么不叫“可观察性”,而要提“可观测性”?我们发现,今天有不少技术团队是混用这两个词语的,他们认为没有什么区别,甚至会觉得你们搞文字工作的真烦,在这里咬文嚼字,真是吃饱了撑的。

但翻译其实是一件非常严肃重要的事情,好的翻译可以让人一看就懂。举个经典的反例,计算机领域有一个词语叫鲁棒性,如果不去查询相关资料,你可能很难理解这到底是个什么特性。

因此,是选择“可观察性”还是“可观测性”,这件事还是有一些小小的讨论价值的。

若我们引用国内已有的文献,会发现这两个词都有相关的释义。

可观察性是 2014 年全国科学技术名词审定委员会公布的全科医学与社区卫生名词。

可观测性是 1990 年全国科学技术名词审定委员会公布的自动化科学技术名词。

看起来,沿袭可观测性的叫法,会更加贴合。那么从技术的角度来看,又是什么情况呢?对于这一个问题,Jason 表达了他的看法:“这个问题我之前还真的没有想过,但如果你去搜索,会发现可观测的频率更高一些。而我个人也会比较倾向于可观测性,为什么呢?因为,我们很多的系统,或者说,很多的应用架构,在今天其实是处在一个不可测的阶段。既然不可测,那么相对应的,可观测可能就更契合一点。”

可观测性是新概念吗?
在针对可观测性的讨论中,也夹杂着一些批判的声音:这实际上就是对监控 /Monitoring 的改头换面而已,却有人声称这是一种新技术,这都是供应商的阴谋。

这里需要探讨的有两个问题,第一,可观测性是新技术吗?第二,可观测性就是监控的包装炒作吗?

可观测性的内涵一直存在

首先,可观测性的内涵一直都存在,如果仔细回忆一下,你会发现以前大型的分布式系统,包括并行计算里面,都是强调可观测性的。再比如,Linux 里面就有很多可观测性的东西,打开一些 FLAG,它就会给你收集很多性能指标或者日志。在编译程序的时候,打开一些编译选项,你可以有很多 Debug 的信息,这些都是可观测性的体现。

Jason 认为,从某种意义上来说,可观测性就是系统或者产品的一种能力。你的产品和系统在具备了功能和性能这些基本属性之外,还需要具备可观测性,这是一种能力的体现。这样的能力会带来什么样的好处?你可以把软件、产品、服务,从黑盒变成白盒,帮助你更好地理解它们,帮助你站在更高的层次来发现问题、定位问题、解决问题。

那为什么可观测性在今天被大范围提起来了,还被提到了一个新的高度?

因为云计算的发展。容器、微服务、分布式系统的出现,让系统变得越来越复杂,在这个环境下,大家对于当下的新系统的设计、产品的设计,就衍生出了一些新的诉求,而且这个诉求在变得越来越明显。

举个例子来讲,今天,我们有非常多的业务采用的是微服务架构,有几千个容器,这些容器之间相互依赖,通信十分复杂。如果说,每个容器它自己不具备可观测的能力,你要怎么排查问题?

再举一个例子,可能你的系统用了多种技术产品,一些业务是你自己的,一些是阿里云产品的,一些是第三方提供的,这几者相互交错。如果你的系统不具备可观测性的话,你又要怎么排查问题?

总结下来,是两个原因驱动了可观测性概念的走红,一是对系统从黑盒到白盒的诉求,二是对资源到业务的可观测性的诉求。

第一点比较好理解,第二点我们需要再举个例子说明。如果你在运行一个网站服务,你发现客户的体验非常慢,那你需要想办法知道到底是慢在哪里,这时候前后端都需要排查问题。类似于这种从业务视角去解决问题的机会越来越多,对可观测性的要求也就越来越高。再比如,作为业务方,你用了非常多的容器微服务,用了很多云厂商的产品,你要关心业务的稳定性的话,你需要知道自己的系统里面发生了什么事情,那些云厂商的产品里面又发生了什么事情,这些事情怎么串联起来。这就是从资源到业务的可观测性。

可观测兴盛于云原生,它将如何作用于云原生?Jaosn 表示,它让大家意识到,不管是云原生服务也好,云原生产品也好,都需要具备可观测的能力,这是一个基本的要求。“我们要提供一些辅助的工具,去帮助客户理解和洞察他的业务里面发生的行为,所以就出现了像 APM 这样的一些工具和产品,能够自动地去插入一些代码到客户的应用里面,去帮助他们去做性能监控,或是其他事情。”

可观测性 vs 监控

第二个问题,可观测性是不是就是监控?

关于这个问题,业界存在几种观点,有认为监控就是可观测性的,有认为这两者没有区别,但是之前的监控做的不对的,也有认为监控是可观测性的子集的,还有认为这完全不是一码事的。

这里需要额外提一下第二个观点,这个观点的支持者表示:“监控不是数据采集、数据存储和数据展示,那和普通的 CRUD 有什么区别?监控应该是有 Topo 的,如果某个 Metric 下降了,告警了,你却不能告诉我为什么,是有人为变更还是机器故障了,那你叫什么监控?”

再回到我们的问题上来,Jason 认为,监控系统是系统具备可被观测的能力之后,我们在上面提供的工程能力。你首先要具备可观测性,才可被监控。当一个软件、一个模块具备可观测性之后,你就可以拿到 Traces 追踪、Loggings 日志、Metrics 性能等指标数据,再在上面去建立监控这种工程平台。得益于此,你监控的维度可能也会更多。

可观测性与存储的奇妙结合
数据是可观测性的核心,谈到数据必然离不开存储。作为阿里云智能存储负责人,Jason 如何看待存储和可观测性之间的关系呢?

Jason 以阿里云存储为例做了阐述。一方面,阿里云将大量地在系统设计和产品里面提供可观测的能力,后面将推出一系列的一些产品的功能,来强化阿里云产品的可观测能力。以存储产品为例,都会有好几个 Lens,这样一来,客户就能知道,自己发送一个请求到块存储或者 OSS 之后,这个请求在哪个地方花了多少时间,是什么样的一个状态。另一方面,他们还会帮助其他产品和客户的服务构建自身的可观测能力,例如提供一些面向 Logging、Metrics、Trace 的高效的存储系统和分析系统,或者在日志服务中提供 AI 分析能力和根因分析能力。

可观测的好处前面说了很多,但一旦涉及到数据,问题就变得十分复杂了。我们担心,系统的可观测性越强,数据安全合规的风险是否会越大?

“我觉得这是个非常好的问题。我们目前的思考是两个方面,一是说在做系统设计的时候,我们会考虑到哪些是敏感信息,哪些信息是可以透传出来的。另外一个,当我们在收集这些数据信息的时候,我们会把一些敏感字段给去掉,并且配套了类似日志审计这样的安全措施来帮助我们,保证这些可观测性的这些数据,它是合理合规的。”Jason 还告诉我们,这是一个在不断演进的过程,“我们所做的一些数据治理方面的工作,都是在围绕怎么样让数据更加合规,以及数据流动是在客户可以预期的范围内,就是说这个数据不能从这个区域流到另外一个区域。类似这样的数据安全管理,是整个产品设计和服务里面都要考虑到的。”

写在最后
当前,我们正处于一个数据量爆炸的时代,这带来了整个系统架构的演化。系统规模愈加庞大,容器与容器之间,数据与数据之间,关系错综复杂,一旦出现问题,排查起来相当棘手。打造具备可观测性的系统是应对之策,AIOps 又是另一个可行手段。接下来,我们还将联合阿里云《云桌派》栏目,带来一篇深度专访,探究可观测性与 AIOps 如何在今天的架构运维中形成合力,敬请期待。

另外,将于 6 月 22-24 日举办的 QCon 全球软件开发大会(北京站)邀请到了来自阿里、百度、腾讯、云杉网络的资深专家,围绕 Prometheus、eBPF、OpenTelemetry、下一代微服务可观测架构等分享云原生场景下的可观测实践案例。点击查看大会日程安排,感兴趣的同学也可直接联系票务经理:17310043226

了解更多软件开发与相关领域知识,点击访问 InfoQ 官网:https://www.infoq.cn/,获取更多精彩内容!

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2天前
|
Cloud Native 物联网 持续交付
云原生架构:构建现代应用的基石
随着数字化转型的深入,企业对软件开发的速度和灵活性提出了更高的要求。云原生架构作为一种新兴的技术范式,以其独特的优势,正在成为现代应用开发的主流选择。本文将探讨云原生架构的核心概念、关键技术以及实践应用,帮助读者理解如何利用云原生技术构建高效、可扩展的现代应用。
|
11天前
|
Kubernetes Cloud Native 持续交付
探索云原生架构:打造弹性可扩展的应用
【9月更文挑战第29天】在云计算的浪潮中,云原生架构成为企业追求高效、灵活和可靠服务的关键。本文将深入解析云原生的概念,探讨如何利用容器化、微服务和持续集成/持续部署(CI/CD)等技术构建现代化应用。我们将通过一个简易的代码示例,展示如何在Kubernetes集群上部署一个基于Node.js的应用,从而揭示云原生技术的强大能力和潜在价值。
28 6
|
12天前
|
监控 Cloud Native 持续交付
云原生架构:构建弹性与高效的现代应用##
随着云计算技术的不断成熟,云原生架构逐渐成为企业技术转型的重要方向。本文将深入探讨云原生的核心概念、主要技术和典型应用场景,以及如何通过云原生架构实现高可用性、弹性扩展和快速迭代,助力企业在数字化转型中保持竞争优势。 ##
37 6
|
13天前
|
运维 Cloud Native 持续交付
云原生架构:构建未来应用的基石
本文将深入探讨云原生架构的核心概念、主要优势以及实际应用案例,揭示其在现代IT领域的重要性。通过详细解析云原生技术的各个方面,帮助读者更好地理解和应用这一前沿技术。
|
14天前
|
Cloud Native 持续交付 云计算
探索云原生架构:构建现代应用的新范式
在当今数字化浪潮中,云原生架构以其敏捷性、弹性和可扩展性成为企业技术转型的核心驱动力。本文将引领读者深入理解云原生的概念,剖析其关键技术组件——微服务、容器化、DevOps实践及持续交付/持续部署流程,并揭示这些技术如何相互协作,共同构建高效、可靠且易于管理的现代软件系统。通过对云原生架构的全面解读,我们旨在为开发者、架构师乃至企业决策者提供有价值的见解与指导,助力其在快速变化的市场环境中保持竞争力。
|
20天前
|
Kubernetes Cloud Native Serverless
探索云原生技术:从基础架构到应用实践
本文深入探讨了云原生技术的各个方面,包括其定义、核心原则、关键技术组件以及在现代企业中的应用。通过分析云原生如何推动数字化转型和提高业务敏捷性,文章旨在为读者提供对这一领域的全面了解和实际应用的指导。
49 7
|
14天前
|
前端开发 测试技术 API
探索微前端架构:构建现代化的前端应用
在软件开发中,传统单体架构已难以满足快速迭代需求,微前端架构应运而生。它将前端应用拆分成多个小型、独立的服务,每个服务均可独立开发、测试和部署。本文介绍微前端架构的概念与优势,并指导如何实施。微前端架构具备自治性、技术多样性和共享核心的特点,能够加速开发、提高可维护性,并支持灵活部署策略。实施步骤包括定义服务边界、选择架构模式、建立共享核心、配置跨服务通信及实现独立部署。尽管面临服务耦合、状态同步等挑战,合理规划仍可有效应对。
|
14天前
|
Cloud Native Devops 持续交付
探秘云原生架构:构建高效、灵活的现代应用
在当今数字化时代,企业面临着日益复杂的技术挑战和快速变化的业务需求。为了适应这种环境,云原生架构应运而生。本文将带您深入了解云原生的核心概念、关键技术和应用案例,揭示其在提升业务效率、降低运维成本方面的独特优势。通过阅读本文,您将获得关于如何利用云原生技术构建现代化应用的宝贵见解。
32 0
|
16天前
|
传感器 监控 物联网
无线传感器网络的基本架构及其广泛应用
无线传感器网络的基本架构及其广泛应用
82 0
|
21天前
|
Kubernetes Cloud Native Devops
云原生架构的崛起与应用##
云原生架构是现代企业数字化转型的关键,通过容器化、微服务、DevOps等技术,实现高效、灵活的应用部署和管理。本文探讨云原生的核心概念、主要技术及其实际应用价值,揭示其在提升企业运营效率和创新能力中的重要性。 ##
27 0