商品参数
云原生架构:从技术演进到#佳实践
定价101.00
出版社电子工业出版社
作者贺阮
ISBN编码9787121421273
内容介绍
云原生之路,漫漫而修远,因为云在发展,应用也在发展。如何让应用充分利用云的特性焕发全新面貌,这是每个云原生应用架构领域的人应该思考的问题。本书分为两篇,从技术演进讲起,让读者充分了解系统资源、应用架构和软件工程的发展历程,从而拥有技术角度的全局视野;然后介绍云原生应用的#佳实践,手把手教你设计一个云原生应用。本书适合云原生应用开发人员、架构师、云计算从业者阅读,部分章节对产品团队、运维人员亦有一定的参考价值。
作者介绍
贺阮,攻读博士期间的主要研究方向是云计算安全。毕业之后一直深耕于云计算领域,工作内容涉及虚拟化内核、容器、调度、安全、微服务、应用架构、软件设计开发等,工作岗位覆盖科研、开发、产品架构、售前解决方案、售中售后支持等。曾先后任OpenStack基金会董事、ISO/IEC JTC1/SC38和ISO/IEC JTC1/SC27标样委员会委员、联合国国际电信联盟(ITU)云计算安全组副报告人,以及多个云计算学术会议、期刊编辑等职位,从各个维度见证了云计算行业的发展
目录
目录
技术演进篇
第1部分 系统资源 2
第1章 操作系统 3
1.1 操作系统简介 3
1.1.1 主要功能 4
1.1.2 系统结构 5
1.2 CPU指令集原理 6
1.2.1 特权指令集和非特权指令集 6
1.2.2 保护模式及内核态、用户态 7
1.2.3 指令工作流程 8
1.3 内核 9
1.3.1 组成模块化 9
1.3.2 单内核 9
1.3.3 微内核 10
1.3.4 外内核 11
第2章 虚拟化 13
2.1 虚拟化概述 13
2.1.1 直接使用物理设备 13
2.1.2 虚拟化原理 14
2.2 虚拟化指令集 16
2.2.1 敏感指令集 17
2.2.2 虚拟化指令集的工作模式 17
2.3 虚拟化类型 20
2.3.1 全虚拟化 20
2.3.2 类虚拟化 21
2.3.3 硬件辅助虚拟化 22
2.4 虚拟化架构 24
2.4.1 裸金属架构 24
2.4.2 宿主模式架构 25
2.5 常见的虚拟化产品 25
2.5.1 VMware 25
2.5.2 Xen 26
2.5.3 KVM 26
2.5.4 QEMU 27
2.5.5 NEMU 28
2.5.6 Firecracker 28
2.5.7 VirtualBox 28
2.5.8 Libvirt 29
2.5.9 Vagrant 30
第3章 云计算 32
3.1 云计算概述 32
3.1.1 虚拟化的不足 32
3.1.2 云计算的特点 33
3.2 IaaS 34
3.2.1 云的部署模式 34
3.2.2 IaaS的主要功能 36
3.2.3 IaaS架构 36
3.2.4 云ping台组织架构 37
3.2.5 OpenStack 39
3.2.6 云ping台部署架构 41
3.3 PaaS 42
3.3.1 简介 43
3.3.2 核心功能 45
3.3.3 微软Azure 47
3.3.4 PaaS的优缺点 48
3.4 SaaS 49
第4章 容器 53
4.1 容器简介 53
4.1.1 容器技术的优缺点 53
4.1.2 大事记 54
4.2 基本技术 55
4.2.1 namespace 56
4.2.2 cgroup 59
4.2.3 rootfs 60
4.3 Docker 61
4.3.1 容器运行时 61
4.3.2 镜像 63
4.3.3 Docker总结 64
4.4 内核容器技术 64
4.4.1 Kata 64
4.4.2 Firecracker 65
4.4.3 gVisor 66
4.4.4 Unikernel 67
4.5 容器与虚拟机 68
4.6 容器与PaaS 69
第5章 容器编排 70
5.1 容器编排简介 70
5.1.1 大事记 70
5.1.2 Swarm与Kubernetes之争 71
5.1.3 容器编排工具的核心功能 73
5.2 Kubernetes 74
5.2.1 设计理念与特性 74
5.2.2 运行架构 76
5.2.4 API对象 80
5.3 容器编排与PaaS 90
5.4 Kubernetes企业级实战:OpenShift 91
5.5 实现有状态应用和无状态应用 91
5.5.1 无状态应用与有状态应用 92
5.5.2 从无状态应用到Severless 92
5.5.3 Kubernetes对有状态应用的管理 92
5.5.4 容器编排的#终目标 93
第2部分 应用架构 95
第6章 应用架构概述 96
6.1 架构与框架的区别 97
6.2 狭义的和广义的应用架构 97
6.2.1 狭义的应用架构 97
6.2.2 广义的应用架构 98
6.3 应用架构的定义 98
6.4 应用架构的目标 99
第7章 主流架构 101
7.1 “4+1”架构视图 101
7.1.1 逻辑视图 102
7.1.2 开发视图 102
7.1.3 进程视图 102
7.1.4 物理视图 103
7.1.5 场景视图 103
7.2 ArchiMate 104
7.2.1 ArchiMate概述 104
7.2.2 业务层 106
7.2.3 应用层 106
7.2.4 技术层 107
7.3 TOGAF框架 109
第8章 架构详解 114
8.1 业务架构 114
8.1.1 业务场景 114
8.1.2 业务用例 115
8.1.3 业务实体 115
8.1.4 业务流程 116
8.2 应用架构 116
8.2.1 功能架构 117
8.2.2 数据架构 121
8.2.3 实现架构 124
8.3 基础架构 131
8.3.1 物理架构 131
8.3.2 运行架构 131
第9章 典型的应用架构模式 133
9.1 单体架构 133
9.1.1 单体架构的特点 133
9.1.2 功能架构 134
9.1.3 单体应用的数据优化 136
9.1.4 单体架构的优缺点 142
9.2 基于组件的架构 143
9.2.1 特性 144
9.2.2 微内核架构 145
9.2.3 两种基于组件的应用开发、运行框架 145
9.2.4 组件设计原则 146
9.3 分布式与SOA 148
9.3.1 分布式 148
9.3.2 SOA 150
第10章 微服务架构 160
10.1 微服务架构简介 160
10.1.1 微服务与应用 161
10.1.2 微服务架构与SOA 162
10.1.3 微服务架构与容器编排 162
10.1.4 微服务架构与组织架构 163
10.2 采用微服务架构的优势与难点 163
10.3 微服务架构详解 165
10.3.1 功能架构 165
10.3.2 实现架构 166
10.3.3 部署单元 167
10.4 设计原则 167
10.4.1 服务注册中心 167
10.4.2 API网关 168
10.4.3 跨服务通信 169
10.4.4 API设计 170
10.4.5 数据一致性处理 172
第11章 微服务框架 181
11.1 微服务架构与微服务框架 181
11.2 核心功能 182
11.2.1 服务注册发现 182
11.2.2 服务负载路由 183
11.2.3 统一配置 184
11.2.4 服务编排与弹性伸缩 184
11.2.5 流量管控 185
11.2.6 可观察运维 186
11.3 框架分类 188
11.3.1 业务处理框架 188
11.3.2 SDK框架 189
11.3.3 服务网格 190
第3部分 软件工程 195
第12章 应用设计 196
12.1 明确愿景 196
12.1.1 目标对象 197
12.1.2 度量价值 197
12.1.3 详细描述 198
12.1.4 上下文图 198
12.2 明确组织架构 200
12.3 顶层业务建模 201
12.3.1 概述 201
12.3.2 业务领域 202
12.3.3 业务场景 205
12.4 应用需求分析 209
12.4.1 概述 209
12.4.2 识别角色 210
12.4.3 业务实体 210
12.4.4 业务流程 212
12.5 应用设计建模 214
12.5.1 概述 214
12.5.2 圈定微服务 215
12.5.3 应用架构设计 216
12.6 领域驱动建模 218
12.6.1 分布式应用建模的痛点 219
12.6.2 DDD概述 219
12.6.3 DDD的优势 220
12.6.4 基本概念 221
12.6.5 实施步骤 229
12.6.6 DDD与应用设计 238
第13章 软件开发 240
13.1 瀑布模型 240
13.2 敏捷开发模型 242
13.2.1 敏捷宣言 243
13.2.2 Scrum 244
13.2.3 极限编程方法 245
第14章 开发运维一体化:DevOps 248
14.1 精益思想 248
14.1.1 起源 248
14.1.2 精益生产 249
14.1.3 精益原则 250
14.1.4 精益软件开发 251
14.1.5 价值探索 253
14.1.6 IT价值流 253
14.1.7 精益和敏捷 255
14.2 持续集成 255
14.2.1 原则 255
14.2.2 步骤 256
14.3 持续交付与持续部署 258
14.3.1 持续交付 258
14.3.2 持续部署 259
14.3.3 特性发布 263
14.4 DevOps与CI/CD 269
14.4.1 定义 270
14.4.2 原则与推广 271
14.4.3 三步工作法 272
14.5 275
14.5.1 概述 275
14.5.2 功能性 277
14.5.3 非功能性 281
14.6 DevOps与敏捷开发、Kubernetes、微服务、应用架构模式的关系 283
第15章 SRE运维 286
15.1 SRE运维简介 286
15.1.1 SLA 287
15.1.2 运维的发展阶段 288
15.1.3 架构层次 288
15.2 监控 289
15.2.1 监控概述 289
15.2.2 多层监控 291
15.2.3 告警 292
15.3 日志 293
15.3.1 日志系统架构 293
15.3.2 日志的采集、汇总与展示 294
15.4 故障排查 295
15.4.1 具体步骤 295
15.4.2 监控检查 296
15.5 作业运行 296
第16章 数字化运营 298
16.1 数字化运营概述 298
16.1.1 运营数据 298
16.1.2 角色分类 299
16.1.3 用户画像 299
16.2 数据处理 300
16.2.1 数据采集 300
16.2.2 数据建模 301
16.2.3 数据分析 301
16.2.4 指标分析 302
16.3 反馈流程 303
16.4 验证模式 304
16.4.1 A/B 304
16.4.2 灰度发布 305
16.5 ping台架构 306
16.5.1 运维数据ping台 306
16.5.2 智能化运维 306
^_^:320f95ccc91799e3da53ed3944c73455