引言 随着云计算的兴起,技术架构的关注点也从集群可用性治理,发展到云原生和 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 深入架构原理与实践 | 深入架构原理与实践