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

14次阅读

共计 3805 个字符,预计需要花费 10 分钟才能阅读完成。

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

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

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

编辑 | 邓艳琴

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

然而,“可观测性”并不是一个新词,为探寻它翻红背地的起因,InfoQ 采访了阿里巴巴高级研究员、阿里云智能存储负责人吴结生(Jason Wu)。在往年首期 C 位面对面中,他与 InfoQ 独特解读了存储技术的当初与将来,分享了他亲历过的一些重大抉择与成长感悟,https://www.infoq.cn/article/…。同时,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 如何在明天的架构运维中造成合力,敬请期待。

原文链接
本文为阿里云原创内容,未经容许不得转载。

正文完
 0