第 2 章. 统一可观测性的云原生方法
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
在本章中,我们将从服务网格的角度来介绍云原生的统一可观察性方法。 本章分为三节,分别介绍云原生、可观察性和统一可观察性的概念。在第一节中,我们通过描述云原生的各个方面来研究云原生这个无定形的概念。然后,我们将讨论监控服务的行为与服务可观察属性之间的区别。在最后一部分,我们将思考自动生成的遥测数据的威力,它可以提供对运行服务的共识和一致的洞察力。由于服务网格是云原生的产物,因此让我们从定义云原生的真正含义开始讨论。
云原生意味着什么?
"云原生 "作为一个总括术语,是技术和流程的结合。 在机器和人的效率需求的驱动下,云原生技术涵盖了应用架构、打包和基础架构。云原生流程体现了整个软件生命周期。 通常情况下,但并非总是如此,云原生流程将历史上独立的组织职能和生命周期步骤(如架构、质量保证、安全、文档、开发、运营、维护等)简化为两个职能:开发和运营。开发和运营是将软件作为服务交付的个人的两项主要职能,通常采用 DevOps 实践和文化。 云原生软件通常(但不总是)以服务形式持续交付。
提示
部署的服务越多,使用服务网格的投资回报就越高。 云原生架构适合更多的服务,因此我们需要了解云原生的含义。服务网格为非容器化工作负载和单体服务提供了价值。本书中将重点举例说明这种附加价值。
云原生应用程序通常在公共云或私有云中运行。最低限度,它们运行在可编程寻址的基础设施之上。也就是说,将一个应用程序搬到云中并不能使其完全成为云原生应用程序。
以下是云原生应用程序的特征:
-
它们运行在可编程寻址的基础设施上, ,并且是动态的,通过跨越计算、网络和存储资源的一层或多层抽象与物理资源解耦。
-
它们是分布式和去中心化的,重点通常是应用程序如何运行,而不是在哪里运行。它们考虑到软件生命周期事件,允许(滚动)更新,在不中断服务的情况下顺利升级服务。
-
它们具有弹性和可扩展性,设计为冗余运行,没有单点故障,并能持续生存。
-
分布式系统可通过自身的仪器和/或底层提供的仪器进行观测。 鉴于其动态性质,分布式系统相对更难检查和调试,因此必须考虑其可观察性。
云原生之路
对于大多数企业来说,通往云原生的道路是将云原生原则应用于现有服务的演进过程,无论是通过改造还是重写。 其他企业则有幸在云原生原则和工具普遍可用并被接受后才开始实施项目。 无论您需要处理现有服务还是编写新的服务集合,服务网格都能提供可观的价值--这种价值会随着您拥有和运行的服务数量的增加而增加。服务网格是容器编排部署后的下一个合理步骤。图 2-1概述了各种云原生路径。
由于有些服务网格比其他网格更容易部署,有些网格比其他网格提供更多价值,因此根据您部署的网格,您可能需要一定数量的微服务才能使部署有用。假以时日,服务网格(以及服务网格的扩展)将减轻开发人员对常见应用级问题(如成本核算和价格规划)的考虑,因为服务网格只需提供这些共识。
图 2-1. 通往云原生的路径多种多样,充满选择。
根据团队的经验水平和具体项目,您的云原生之路将采用不同的软件开发流程、操作实践、应用架构、打包和运行时以及应用基础架构组合。具有云原生特性的应用程序和团队会使用图 2-2 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access