写网站方案,深圳网站 商城制作,公司形象墙设计图片,pc端网站CNCF云原生生态版图-分类指南#xff08;一#xff09;- 观测和分析 CNCF云原生生态版图-分类指南一、观测和分析#xff08;Observability and Analysis#xff09;#xff08;一#xff09;可观测性#xff08;Observablility#xff09;1. 是什么#xff1f;2. 解决… CNCF云原生生态版图-分类指南一- 观测和分析 CNCF云原生生态版图-分类指南一、观测和分析Observability and Analysis一可观测性Observablility1. 是什么2. 解决什么问题3. 如何解决问题4. 使用的技术5. 项目和产品整体介绍 二混沌工程Chaos Engineering1. 是什么2. 解决什么问题3. 如何解决问题4. 使用的技术5. 项目和产品整体介绍 三小结 链接 CNCF云原生生态版图-分类指南
云原生生态版图按照功能类型将项目和产品组织在一起方便架构设计人员查找所需的技术。本文将对这个庞大的版图进行分解从全局角度介绍各个类型及各类项目能够解决的问题、作用方式及使用的技术。并对每种分类下的项目和产品进行整体介绍。 先对可观测性和分析进行定义
可观测性可观测性是一种系统特征描述可以从系统的外部输出中理解系统的程度。以 CPU 时间、内存、磁盘空间、延迟、错误等来衡量计算机系统或多或少是可观察的。分析分析是一种活动在活动中查看和理解可观察数据。
为确保服务持续运行不中断需要全面观察和分析应用程序以便在应用程序发生异常时能够快速发现并矫正。这就是观测和分析类别中的所有项目和产品的主要职责。该类别位于整个云原生生态版图的侧面能够观测左侧的所有类别层级。 下文主要介绍了可观测性和混沌工程其中混沌工程也可以划分为可靠性工具类别。 一、观测和分析Observability and Analysis 一可观测性Observablility
1. 是什么
可观测性是从系统外部输出来理解系统的一种实践和能力。观测框架提交遥测数据给查询和可视化工具使用。遥测数据来自应用程序代码、底层节点基础设施和编排系统中采集的日志、指标和跟踪信息。这些数据简单的有从本地节点统计的磁盘空间复杂的有客户端到服务端往返的端到端用户事务。
2. 解决什么问题
复杂系统的故障发生和性能下降通常会以多种形式出现通过可观测性框架可以掌握系统中各个服务或基础设施组建的运行状况跟踪时间段内的重要统计指标调试生产中的问题等。
3. 如何解决问题
大规模运维云原生系统要求运维人员和开发人员通过访问高质量的系统状态遥测数据来对事件作出响应并就如何改进系统做出最优的决策。可观测性可以帮助运维人员快速响应事件帮助开发人员在生产环境调试应用程序同时也能帮助团队分析用户行为平衡系统性能与业务目标的关系。
4. 使用的技术
云原生可观测性在概念上与传统应用程序监控非常相似但有几个关键区别。被检测的对象生命周期往往是短暂的系统复杂性往往会随着部署的服务数量呈指数级的增长。这使得通过结构化数据和模式来诊断系统变得非常有意义同时更加重视数据存储。云原生生态版图中这一部分的许多项目在设计时就考虑到了这些特征例如 OpenTelemetry 和 Prometheus。
5. 项目和产品整体介绍
属于可观测性分类的项目和产品共有 148 个其中 CNCF 项目有 19 个。这些项目和产品的关键字有
Monitoring 监测Time series 时间序列Alerting 警告Metrics 指标Logging 日志Tracing 跟踪
CNCF 项目如下表所示
项目CNCF 项目阶段说明Fluentd已毕业用于统一日志记录层的开源数据收集器Jaeger已毕业一个分布式跟踪平台由 Uber Technologies 于 2016 年以开源形式发布并捐赠给云原生计算基金会Prometheus已毕业一个开源的系统监控和警报工具套件Cortex孵化中一个水平可扩展的、高度可用的、多租户的 Prometheus 即服务Prometheus-as-a-Service解决方案OpenTelemetry孵化中提供了一组标准的 API、SDK 和工具用于生成、收集、处理和导出分布式系统中的追踪Tracing、指标Metrics和日志Logs数据Thanos孵化中一个专为高可用的 Prometheus 设置而设计的开源项目Fonio已存档为云而生的安全监控代理Headlamp沙盒是一个用户友好的 Kubernetes UI专注于可扩展性Inspekto Gadget沙盒使用eBPF对 Kubernetes 集群和 Linux 主机进行数据采集和系统检查的工具和框架K8sGPT沙盒一种用于扫描 kubernetes 集群、用简单的英语诊断和分类问题的工具Kepler沙盒一个 Prometheus 导出器使用 eBPF 来探测 CPU 性能计数器和 Linux 内核跟踪点Kuberhealthy沙盒一个 Kubernetes 运维工具用于综合监控和持续流程验证Logging Operator (Kube Logging)沙盒通过自动部署和配置 Kubernetes 日志记录管道来解决 Kubernetes 环境中与日志记录相关的问题OpenMetrics已存档大规模传输云原生指标的事实标准OpenTracing已存档一个开放的分布式追踪标准用于在不同的分布式系统和编程语言之间提供一种统一的追踪方式Perses沙盒一个开源的、可扩展的、云原生的时间序列数据库和可视化工具Pixie沙盒面向开发人员的 K8S 可观察性工具Skooner已存档一个开源 Kubernetes 控制面板Trickster沙盒一个开源的 HTTP 代理缓存和加速层
二混沌工程Chaos Engineering
1. 是什么
Chaos Engineering混沌工程是一种通过实验来验证系统在面对不确定性和故障时的健壮性的方法。它的核心思想是主动地向系统中引入故障或异常情况以此来观察系统的反应发现潜在的风险和脆弱点从而提高系统的可靠性和韧性。混沌工程工具将提供一种受控的方式来引入故障并针对应用程序的特定实例运行特定实验。
2. 解决什么问题
引起复杂系统失败的原因有很多在分布式系统中其后果往往难以理解。使用混沌工程的组织相信失败会发生不试图阻止失败而是练习如何快速从失败中恢复或称为 MTTR1 。
3. 如何解决问题
在云原生世界中应用程序必须动态地适应故障这是一个相对较新的概念。这意味着当出现问题时系统不会完全宕机而是会正常降级或恢复。混沌工程工具能够在软件系统生产中进行实验以确保它们在发生实际故障时能够正常执行。
4. 使用的技术
混沌工程工具和实践对于实现应用程序的高可用性至关重要。分布式系统通常过于复杂任何一个工程师都无法完全理解而且任何变更流程都无法完全预先确定变更对环境的影响。通过引入混沌工程实践团队能够练习和自动化故障恢复。Chaos Mesh 和 Litmus Chaos 是该领域的两个 CNCF 工具。
5. 项目和产品整体介绍
属于可观测性分类的项目和产品共有 11 个其中 CNCF 项目有 4 个。这些项目和产品的关键字有
Chaos Engineering 混沌工程
CNCF 项目如下表所示
项目CNCF 项目阶段说明Chaos Mesh孵化中一个云原生的混沌工程平台用于在 Kubernetes 环境中进行系统可靠性测试Litmus孵化中一个开源的混沌工程框架主要用于云原生应用和分布式系统的可靠性测试Chaosblade沙盒一个云原生混沌工程平台支持多种环境、集群和语言Krkn沙盒结合了 Terraform一种基础设施即代码的工具的优势帮助用户在复杂的云基础设施上自动化地构建和执行混沌实验场景
三小结
可观察性和分析旨在了解系统的运行状况并确保系统在恶劣的条件下也能保持运行。日志记录工具捕获应用程序发出的事件消息监控监视日志和指标跟踪跟踪单个请求的路径。这些工具组合在一起时理想情况下可以 360 度全方位了解系统内的情况。混沌工程略有不同。它提供了一种安全的方式来验证系统是否可以承受意外事件从而确保其保持正常运行。
链接
CNCF LandscapeCNCF LANDSCAPE GUIDE MTTR 是 “Mean Time To Repair” 的缩写即平均修复时间。它是一个用于衡量系统故障后恢复正常运行所需时间的关键指标。在运维管理、系统可靠性工程等众多领域被广泛应用。计算 MTTR 通常是统计一段时间内如一个月、一个季度或一年所有故障修复时间的总和然后除以故障次数。例如在一个数据中心如果在过去一个季度内发生了 10 次系统故障这些故障的修复时间分别为 1 小时、2 小时、1.5 小时、0.5 小时等将所有修复时间相加假设总和为 15 小时再除以故障次数 10得到 MTTR 为 1.5 小时。 ↩︎