《深入架构原理与实践》| 读书笔记

引言 随着云计算的兴起,技术架构的关注点也从集群可用性治理,发展到云原生和 FinOps 成本管理。 该书涵盖了网络、容器、网关、微服务与分布式、云原生、质量监测和成本管理方面的内容,帮助读者快速理清云时代下的技术架构体系。 本笔记大多为个人理解后的知识点, 仅供参考 第一章:云原生技术概论 CNCF(Cloud Native Computing Foundation,云原生计算基金会) Service Mesh(服务网格) Serverless(无服务器架构)

1.1 云计算的演进变革

虚拟化技术 一种资源管理技术 在各种实体资源(CPU、内存、网络、存储等)之上构建一个逻辑层, 从而摆脱物理限制的约束,提高物理资源的利用率。

1.1.1 虚拟化技术成熟

2000 年前后,虚拟化技术 逐渐发展成熟

图1-2 虚拟化技术走向成熟 2001年 VMware 发布 第一个针对 x86 服务器的虚拟化产品: VMware ESX > 通过虚拟化技术, 可在 同一台物理机 上运行 多个虚拟机 > 1. 降低 服务器 数量 > 2. 速度和弹性 远超 物理机

1.1.2 基于虚拟机的云计算成熟

2006年8月9日 Google 首席执行官埃里克·施密特(Eric Schmidt) 云计算 (Cloud Computing) 同年, 亚马逊 IaaS 云服务平台 AWS 2008 年 阿里云

图1-3 云计算走向成熟 IaaS (Infrastructure as a service, 基础设施即服务) 卖资源 按时计费 PaaS (Platform as a service, 平台即服务) 卖服务 不再关心 操作系统、开发工具、硬件维护 FaaS (Function as a Service, 功能即服务) 几乎所有 均由云服务提供商提供 无服务器 (Serverless) 初现, 无需关注服务、资源等基础设施 PS: SaaS (Software as a Service, 软件即服务)

1.1.3 容器的兴起和编排大战

2013年 Docker 降世 Docker 特点 > 创新性 提出 镜像 > 一种 新 应用打包、分发、运行机制 - "Build,Ship and Run Any App,Anywhere" - "Run Any App" 打破 PaaS 应用分发、交付 困境 基于容器技术的 容器编排 市场 - Mesos - Swarm - Kubernetes > Kubernetes 全面胜利

图 1-4 容器技术兴起 - 2013年, Docker 发布, 容器逐步替代 VM, 云计算进入容器时代 - 2017年底, Kubernetes 赢得容器编排的胜利, 云计算进入 Kubernetes 时代 - 2018年, Istio 正式发布, 服务网格 (ServiceMesh) 从理念走向成熟

1.1.4 云计算演进总结

云计算演进 核心构建块:

早期物理服务器 --虚拟化技术--> 虚拟机 --容器化技术--> Container 隔离单元:

启动时间、单元大小: 重量级 -> 轻量级 供应商:

闭源 -> 开源 单一供应商 -> 跨越多个供应商

图 1-6 XaaS 演进 1. 有 IaaS, 客户 不用关注 物理机器, 只需关注 基础架构、应用程序 2. 有 PaaS, 客户 不用关注 基础架构, 只需关注 应用程序 3. 有 FaaS, 客户 只需关注 功能

1.2 云原生出现的背景

1.2.1 软件正在改变世界

TODO: https://www.thebyte.com.cn/architecture/background.html Q&A 补充

术语缩写释义

表1 网络类

术语

名词全称

释义

VPC

Virtual Private Cloud

私有网络

VIP

Virtual IP address

虚拟 IP 地址

SDN

Software Defined Networking

软件定义网络

(S)LB

(Service )Load Balancer

负载均衡

NIC

Network interface card

网卡

RTT

Round-Trip Time

往返时延

NAT

Network Address Translation

网络地址转换

TTFB

Time To First Byte

首字节时间

BBR

Bottleneck Bandwidth and RTT

Google 推出的拥塞控制算法

BDP

Bandwidth-Delay Product

带宽时延积

南北流量

NORTH-SOUTH traffic

用户访问服务器的流量

东西流量

EAST-WEST traffic

集群中服务与服务之间的流量

表2 云技术类

术语

名词全称

释义

IaaS

Infrastructure as a Service

基础设施即服务

PaaS

Platform as a Service

平台即服务

SaaS

Software as a Service

软件即服务

IaC

Infrastructure as Code

基础设施即代码

KVM

Kernel-based Virtual Machine

基于内核的虚拟机

AZ

Availability Zone

可用区

SRE

Site Reliability Engineering

站点可靠性工程

混沌工程

Chaos Engineering

故障演练及解决。研究大规模分布式系统瓶颈、缺陷,提升整体服务稳定的方法学

DevOps

Development + Operations

开发运维

AIDevOps

AI + Development + Operations

智能开发运维

DevSecOps

Development + Security + Operations

开发、安全和运维,应用安全 (AppSec) 领域术语

CI/CD

Continuous Intergration + Continuous Deployment

持续集成 + 持续交付

表3 Kubernetes 相关类

术语

名词全称

释义

CNCF

Cloud Native Computing Foundation

云原生计算基金会

OCI

Open Container Initiative

Linux基金主导的开放容器标准

CRI

Container Runtime Interface

Kubernetes 定义的容器运行时接口

CNI

Container Network Interface

Kubernetes 定义的容器网络接口

CRD

Custom Resource Definition

自定义资源的定义,用来扩展 Kubernetes 资源

Operator

CRD + AdmissionWebhook + Controller

用来解决某个应用场景的 Kubernetes 扩展

表4 业务类

术语

名词全称

释义

QPS

Queries Per Second

每秒请求数

QoS

Quality of Service

服务质量

TPS

Transactions Per Second

每秒事务数

MTBF

Mean Time Between Failure

平均故障间隔时长

P90

percentile 90

数据聚合统计方式,用来衡量业务指标

QA

Quality Assurance

品质保证

SLA

Service Level Agreement

服务等级协议,用于向客户承诺提供的服务等级

参考 感谢帮助! isno/theByteBook: 深入讲解内核网络、Kubernetes、ServiceMesh、容器等云原生相关技术。经历实践检验的 DevOps、SRE指南。如发现错误,谢谢提issue 深入架构原理与实践 | 深入架构原理与实践