Kubernetes 稳定性保障手册 -- 可观测性专题

简介: 伴随大家对稳定性重视程度的不断提升、社区可观测性项目的火热,可观测性成为了一个很热门的话题,站在不同的角度会产生不同的理解。 我们从软件开发的生命周期出发,尝试形成对可观测性的一个宏观理解,并从 SRE 和 Serverless 两个角度具化可观测性的理解以及实践。

头图.png

作者 | 悟鹏
来源 | 阿里巴巴云原生公众号

《Kubernetes 稳定性保障手册》系列文章:

  • Kubernetes 稳定性保障手册 -- 极简版
  • Kubernetes 稳定性保障手册 -- 日志专题
  • Kubernetes 稳定性保障手册 -- 可观测性专题(本文)

伴随大家对稳定性重视程度的不断提升、社区可观测性项目的火热,可观测性成为了一个很热门的话题,站在不同的角度会产生不同的理解。

我们从软件开发的生命周期出发,尝试形成对可观测性的一个宏观理解,并从 SRE 和 Serverless 两个角度具化可观测性的理解以及实践。

目的

  • 增强认知,通过全局把握来提升竞争力
  • 通过合理的设计和实践,为未来带来可能性

目标

  • 针对可观测性的理解达成一致
  • 针对可观测性的发展方向达成一致

什么是可观测性?

从 wikipedia: Observability 可理解到 可观测性 的定义:

In control theory, observability is a measure of how well internal states of a system can be inferred from knowledge of its external outputs.

Consider a physical system modeled in state-space representation. A system is said to be observable if, for any possible evolution of state and control vectors, the current state can be estimated using only the information from outputs (physically, this generally corresponds to information obtained by sensors). In other words, one can determine the behavior of the entire system from the system's outputs. On the other hand, if the system is not observable, there are state trajectories that are not distinguishable by only measuring the outputs.

简单表述为,可观测性是一种方法,通过系统的外部输出推导出系统内部的状态。

下图简化了系统的组成和系统间的交互:

1.png

从上述交互图可了解到,系统的交互行为有如下几种形态:

  • 系统内部

    • 组件功能闭环,不与其他组件或系统交互
    • 组件之间交互
  • 系统之间

    • 系统和系统之间进行交互

这样,通过如下两种形态的信息,就可以通过系统的外部输出了解到系统的内部状态:

  • 组件闭环的信息
  • 组件间或系统间流动的信息

可观测性的问题域是什么?

可观测性的核心在于 通过观测数据、满足不同人群、对于系统状态的理解需求,这里先抽象观测数据的生命周期,有如下图示:

2.png

观测数据通过 App 生成,经过中间处理环节后进行存储,然后提供查询服务。

观测数据服务于不同类型的人群,如产品的用户、业务、研发、SRE,不同的人群通过不同的形态来使用这些数据,包括 SLA / SLO / SLI / Alert 等。

根据可观测数据的生命周期,可粗略总结可观测性的问题域:

  • 生成端

    • 观测数据的数据模型
    • 观测数据的生成
    • 观测数据的导出
  • 处理端

    • 观测数据的采集
    • 观测数据的处理
    • 观测数据的导出
  • 存储端

    • 观测数据的存储
    • 观测数据的查询
    • 观测数据的使用
  • 使用端

    • 观测数据的消费

软件开发生命周期中,可观测性的服务目标是什么?

从项目整体视角来看软件开发的生命周期,有如下的流程:

3.png

细化下来:

4.png

在软件开发生命周期中,有 4 类角色。面对 4 类角色,可观测性的服务目标会有差异:

4-1.jpg

Note:

  • 可靠 与 稳定 不是等同的关系,可靠 包含了 稳定+及时满足功能需求 特征

SRE 可以投入的方向

基础服务:

4-2.jpg

可以将 OpenTelemetry 作为基础落地上述事项,参见:《OpenTelemetry 简析》。

与此同时,可以探索可视化的稳定性保障服务,从全局视角加快问题发现、定位、解决,一张图把握集群中「组件自身」和「组件之间交互」的健康状态 ,形如下图:

5.png

以此为入口,从整体把握集群状态,关联异常信息,处理问题时有的放矢。

Serverless 场景下可观测性

Serverless 是目前很有前景的云上计算形态,阿里云提供了比较完整的 Serverless 计算产品,如下:

6.png

不同 Serverless 计算环境的一个主要差异点在于运行环境的持续时间,以此为出发点,可以抽象出 Serverless 计算环境中可观测性的核心,然后分解出相应的解决方案:

7.png

根据运行环境持续时长的不同,可粗略划分为 3 类:

  • 天级别
  • 小时级别
  • 分钟或秒级别

这些运行环境均可以通过虚拟机、容器或 WebAssembly 等技术实现,区别点在于业务层面限定的运行环境持续时长。

根据运行环境持续时长的特征,平台和用户的关注核心会有相应的变化:

  • 天级别的运行环境,平台方的核心在于提供可靠的运行环境,由用户自由管理应用

    • 对于可观测性,平台方核心在于运行环境可靠性,用户核心在于应用环境稳定性和请求响应性能
  • 小时级别的运行环境,平台方的核心在于围绕应用提供管理服务,用户聚焦于业务自身

    • 对于可观测性,平台方核心在于应用运行稳定性和请求响应性能,用户核心在于业务特征
  • 分钟或秒级别的运行环境,平台方的核心在于细粒度的用户业务逻辑管理,用户更聚焦在业务的敏感特征

    • 对于可观测性,平台方核心在于请求响应可靠性和业务特征,用户核心在于核心业务特征

对于 FaaS 场景,THUNDRA 公司 的 demo 提供了比较好的示例以供参考 (截取 3 个示例):

  • 函数

8.png

  • 应用

9.png

  • 架构

10.png

小结

通过对可观测性概念、问题域、不同层级需求等形成深入理解,可以形成对可观测性的理解大图,然后在此基础上与业务结合,增强业务在可观测性方面的竞争力,同时迭代理解,技术与业务相互促进。

原文链接

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/513900.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

读懂 Redis 源码,我总结了这7点心得

作者|Magic Kaito来源|水滴与银弹阅读本文大约需要 8 分钟。你好,我是 Kaito。用了这么久的 Redis,也翻了很多次源码,经常有人问我到底怎么读 Redis 源码。一提到读源码,很多人都会比较畏惧,认为读源码是高手才会做的事…

linux c url下载文件,OpenCV教程之使用cmake生成MakeFile时下载文件

在编译OpenCV以及其附加模块时,有时会需要一些第三方的库,如果本地没有,会自动下载,下载地址一般为GitHub,结果当然就是卡死在那里,根本无法下载,下面教大家如何解决这种问题。问题重现比如我在…

OpenTelemetry 简析

简介: OpenTelemetry 是 CNCF 的一个可观测性项目,旨在提供可观测性领域的标准化方案,解决观测数据的数据模型、采集、处理、导出等的标准化问题,提供与三方 vendor 无关的服务。 2021.02.10,OpenTelemetry 的 tracing…

涨姿势 | 一文读懂备受大厂青睐的ClickHouse高性能列存核心原理

简介: 本文尝试解读ClickHouse存储层的设计与实现,剖析它的性能奥妙 作者:和君 引言 ClickHouse是近年来备受关注的开源列式数据库,主要用于数据分析(OLAP)领域。目前国内各个大厂纷纷跟进大规模使用&…

xp正版验证补丁_实操web漏洞验证——IIS HTTP.sys 整数溢出漏洞

一、漏洞描述Http.sys 是一个位于 Windows 操作系统核心组件,能够让任何应用程序通过它提供的接口,以 Http 协议进行信息通讯。微软在 Windows 2003 Server 里引进了新的 HTTP API 和内核模式驱动 Http.sys,目的是使基于 Http 服务的程序更有…

普通公司编程水平与BAT大厂相比,差距到底有多大?

前言BAT的牛人多,普通人也多,虽然他们不是每个人都能达到令人仰望的技术水平,但毕竟平台高,所以眼光会变得宽阔;代码要求更为严格,所以普通的程序员也会被逼变得更优秀;身边的牛人多&#xff0c…

mindi linux 使用教程,Linux使用入门教程之tuned

tuned是RHEL6推出的调优工具,可以简单、动态的调整系统。默认的tuned软件包包含9个调优配置文件,对laptop、desktop、server系统的省电策略、磁盘调度算法、缓存、内存脏页回写等等的调节。tuned包安装后有两个服务,tuned和ktune,…

货运物流移动端解决方案:为货运物流行业打造高性能、高粘性的“双端”触点

简介: 在业务碎片化的情景下,怎么通过平台做整合,建立你的专业化运维池? 从 2020 年发展网络货运以来,在互联网和大数据的协作下,传统的物流企业逐渐转向信息化模式,在政策的不断推动下&#xf…

互联网泛娱乐直播安全的解决之道

简介: 阿里云的CDN和视频云产品在直播安全场景下有广泛的应用,阿里巴巴集团的淘宝、优酷等业务的直播正是基于这些产品底层能力,构建了强大的直播安全体系。这个基于阿里巴巴集团自身业务实践打磨出来的架构设计,也被众多上云客户…

wps office2019PC版和Mac版_学用系列WPS教育版的“十八般武艺”

相信不少朋友都在使用wps进行办公学习,但相信不少教师学生肯定不知道其实WPS还很用心提供教育版,里面有不少实用且好用的学习工具可以让我们的学习如虎添翼。今天胖胖老师就为大家介绍一下新版本WPS教育版的“十八般武艺”,欢迎大家一起来尝鲜…

只因“薪水过高”!被欠薪三个月后遭解雇,程序员删库反击

译者 | 弯月 责编 | 王晓曼出品 | 程序人生 (ID:coder _life)非技术出身的公司创始人往往并不了解开发人员的价值。如果他们的产品是科技产品,那么开发人员就是公司的燃料。我从一位同事那里听到了这个故事。故事的主人公叫做小…

linux模拟内存数据落盘,Linux:保证数据安全落盘

背景在很多IO场景中,我们经常需要确保数据已经安全的写到磁盘上,以便在系统宕机重启之后还能读到这些数据。但是我们都知道,linux系统的IO路径还是很复杂的,分为很多层,每一层都可能会有buffer来加速IO读写。同时&…

阿里云高级技术专家周哲:阿里云边缘云原生应用实践

简介: 为什么需要边缘云原生?边缘云原生的技术特性和优势是什么?它可以为行业提供哪些关键能力?又有哪些场景适合边缘云原生呢?在MEC全球应用开发者大会的“MEC开放论坛”上,阿里云高级技术专家周哲进行了《…

dataframe 如何选中某列的一行_PySpark和SparkSQL基础:如何利用Python编程执行Spark(附代码)

作者:Pinar Ersoy翻译:孙韬淳校对:陈振东本文约2500字,建议阅读10分钟本文通过介绍Apache Spark在Python中的应用来讲解如何利用PySpark包执行常用函数来进行数据处理工作。Apache Spark是一个对开发者提供完备的库和API的集群计算…

重磅官宣:Nacos2.0 发布,性能提升 10 倍

简介: 继 Nacos 1.0 发布以来,Nacos 迅速被成千上万家企业采用,并构建起强大的生态。但是随着用户深入使用,逐渐暴露一些性能问题,因此我们启动了 Nacos 2.0 的隔代产品设计,时隔半年我们终于将其全部实现&…

deepin linux 2014 硬盘安装教程,Linux Deepin的硬盘安装

于是装了,问题来了,即使执行了sudo umount -l /cdrom,也不能直接把原来的个人文件分区挂成/home,因为liveCD的内容还放在这个上面(想不通,我只是挂载,又不格式化,怎么就行了?新氧好像…

一站式云原生智能告警运维平台——SLS新版告警发布!

简介: 本文介绍什么是云原生可观测性需求以及告警限制,介绍一站式云原生智能告警运维平台——SLS新版告警。 前言 本篇是SLS新版告警系列宣传与培训的第一篇,后续我们会推出20系列直播与实战培训视频,敬请关注。 系列目录&#…

ansible 修改文件变量_基于ansible的批量配置生成

背景网络运维,我们有很多时间是在准备配置的路上,咱们之前也讲过,从脑海中或者是从自己的宝藏笔记中找出模板,一顿操作猛如虎,Ctrl C Ctrl V。这个过程是十分危险的,因为人不是机器,肯定会出错&…

Fluid — 云原生环境下的高效“数据物流系统”

简介: 为了解决大数据、AI 等数据密集型应用在云原生计算存储分离场景下,存在的数据访问延时高、联合分析难、多维管理杂等痛点问题,南京大学 PASALab、阿里巴巴、Alluxio 在 2020 年 9 月份联合发起了开源项目 Fluid。Fluid 本质上是一个云原…

普通大学生的 Java 开发能力到什么水平才能进大厂?

对于刚开始接触编程的同学来说,选择一门合适的编程语言非常重要。Java一直以来都是被广泛使用的语言,其服务端开发占比90%,83次在TIOBE排行第一,是很多程序员的首选语言。在发展前景方面,Java的就业范围很广&#xff0…