作者 |
彭锋 宋文欣 孙浩峰 陈显鹭 阚俊宝 匡大虎 卢稼奇 |
丛书名 |
出版社 |
机械工业出版社 |
ISBN |
9782104161355 |
简要 |
简介 |
这是一部从云原生角度讲解数据中台的业务价值、产品形态、架构设计、技术选型、落地方法论、实施路径和行业案例的著作,得到了国内外企业界和学术界的技术专家一致好评。 本书的作者在曾硅谷的Twitter等企业从事大数据平台的建设工作多年,随后又成功创办了国内领先的以云原生数据中台为核心技术和产品的企业。他们将在硅谷的大数据平台建设经验与在国内的数据中台建设经验进行深度融合,并系统阐述了云原生架构对数据中台的必要性及其相关实践,对国内企业的中台建设和运营具有很高的参考价值。 全书共18章,分为四个部分: 第1部分(第1~4章) 数据中台与硅谷大数据平台 首先,从起源、定义、能力、应用场景、建设目标、建设方法论总纲等角度对数据中台做了全面的介绍;其次,讲解了数据中台如何驱动数字化转型;Z后,通过对硅谷的Twitter等独角兽企业的数据平台和国内的数据中台进行对比,给出了这两种架构之间的异同点。核心内容是让读者透彻理解数据中台对于业务的价值。 第二部分(第5~8章) 数据中台架构与方法论 结合硅谷的数据平台的架构方法,讲解了数据中台的架构方法和9大原则、数据中台建设的全套准备工作和系统方法论,以及云原生架构与数据中台的融合。 第三部分(第9~15章)数据中台技术选型与核心内容 首先,全方位地介绍了建设数据中台时如何进行技术选型,然后重点讲解了数据湖、数据仓库、数据资产管理、数据流水线管理、数据中台应用开发、数据门户等数据中台建设的核心内容。 第四部分(第16~18章)数据中台案例分析 通过游戏、零售、物联网3个领域的案例讲解了数据中台的搭建、实现与运营。 . ---------------------------8071456 - 云原生应用管理:原理与实践--------------------------- 内容简介 这是一部从原理与实践角度讲解云原生应用管理的著作,是阿里云容器服务团队工程师多年云原生应用开发与管理经验的总结。详细讲解了Helm、Kustomize、CNAB、Operator等云原生应用管理框架和工具的应用场景、功能和使用,并通过源码讲解了它们的实现原理,同时提供了大量的案例和代码解析,能帮助读者轻松掌握云原生应用的管理。 全书一共16章,分为4个部分: 第一部分(第1~4章) Helm 首先介绍了Helm的发展历程、适用场景、架构设计、工作机制;然后以Chart为例,讲解了Helm的功能和使用方法;最后通过源代码分析了Helm的实现原理。 第二部分(第5~8章) Kustomize 首先介绍了Kustomize的诞生背景、适用场景、工作机制;然后详细讲解了它的功能和使用方法;最后通过源代码分析了它的实现原理。 第三部分(第9~12章) CNAB 首先介绍了CNAB的基本概念、原理和规范;然后以Porter为例,详细讲解了它的功能、用法和实战;最后通过源代码分析了Porter的实现原理,同时讲解了mixin的开发。 第四部分(第13~16章) Operator 首先介绍了Operator的概念、发展和工作原理,然后详细讲解了它的功能、用法、架构、组件和实战,最后通过源代码分析了它的实现原理。 |
目录 |
[套装书具体书目] 8071456 - 云原生应用管理:原理与实践 - 9787111659495 - 机械工业出版社 - 定价 119 8079863 - 云原生数据中台:架构、方法论与实践 - 9787111678465 - 机械工业出版社 - 定价 99 ---------------------------8079863 - 云原生数据中台:架构、方法论与实践--------------------------- 前言 第一部分 数据中台与硅谷大数据平台 第1章 全面了解数据中台 1.1 数据中台概念的起源 3 1.1.1 艺电的“数据中台”改造 4 1.1.2 Twitter的数据驱动 6 1.2 什么是数据中台 8 1.2.1 数据中台建设的目标 8 1.2.2 如何实现数据中台建设的目标 11 1.2.3 数据中台的定义和4个特点 13 1.3 大数据平台与数据中台 16 1.3.1 为什么要建设数据中台 16 1.3.2 数据中台与传统大数据平台的区别 20 1.3.3 数据中台的评判标准 24 1.4 数据中台建设方法论总纲 24 1.5 本章小结 27 第2章 数据中台能力和应用场景 2.1 数据中台不是“银弹” 28 2.2 数据中台的核心能力 31 2.2.1 全局商业洞见 31 2.2.2 个性化服务 34 2.2.3 实时数据报表 38 2.2.4 共享能力开发新业务 39 2.3 数据中台的行业应用场景 41 2.3.1 互联网行业 41 2.3.2 连锁零售业 42 2.3.3 金融业 43 2.3.4 物联网 44 2.4 数据中台如何为企业赋能 45 2.4.1 组织架构 46 2.4.2 决策部门 48 2.4.3 业务部门 51 2.4.4 研发部门 53 2.4.5 大数据部门 55 2.5 本章小结 56 第3章 数据中台与数字化转型 3.1 数字化转型的4个阶段 58 3.1.1 信息化 58 3.1.2 数据仓库(数据平台1.0) 59 3.1.3 大数据平台(数据平台2.0) 61 3.1.4 数据中台(数据平台3.0) 63 3.2 数据驱动 64 3.2.1 面向用户的数据驱动产品及服务 66 3.2.2 面向内部业务部门的数据驱动服务 68 3.2.3 数据驱动的系统管理 71 3.3 数据中台如何支持数字化转型 72 3.3.1 从技术层面支持数字化转型 73 3.3.2 从组织架构层面支持数字化转型 74 3.4 本章小结 75 第4章 从大数据平台到数据中台 4.1 大数据平台建设阶段 76 4.1.1 大数据平台起步 77 4.1.2 系统自动化 77 4.1.3 大数据平台的生产化 78 4.2 数据管理及应用阶段 80 4.2.1 数据湖/数据仓库建设 80 4.2.2 数据管理 81 4.2.3 数据安全 82 4.3 数据能力中台化阶段 84 4.3.1 全局的数据治理 85 4.3.2 数据能力的复用和共享 85 4.3.3 云原生架构的支撑 85 4.4 DataOps 87 4.4.1 什么是DataOps 87 4.4.2 DataOps解决的问题 88 4.4.3 DataOps的目标功能 90 4.4.4 DataOps的主要技术 91 4.4.5 DataOps与数据中台 92 4.5 本章小结 93 第二部分 数据中台架构与方法论 第5章 数据中台建设须知 5.1 数据中台建设需要一套方法论 96 5.2 从失败的大数据项目中吸取教训 98 5.3 数据中台建设中的常见问题 99 5.4 评判数据中台建设效果 101 5.5 数据中台建设的人员规划 103 5.6 数据中台的技术选型要求 106 5.7 本章小结 107 第6章 数据中台建设方法论 6.1 基础架构 109 6.2 数据工具 114 6.3 顶层架构设计 115 6.4 数据规范 116 6.5 业务驱动 118 6.6 关键指标 120 6.7 明确责权利 125 6.8 管理迭代 127 6.9 数据中台建设流程 128 6.10 本章小结 130 第7章 数据中台的架构 7.1 数据中台的功能定位 132 7.2 数据中台架构设计的9大原则 135 7.3 典型的硅谷大数据平台架构 137 7.3.1 Twitter的大数据平台架构 137 7.3.2 Airbnb的大数据平台架构 140 7.3.3 Uber的大数据平台架构 141 7.3.4 云平台作为大数据平台的通用底座 143 7.3.5 硅谷大数据平台架构的共性和建设思路 145 7.4 数据中台架构 147 7.5 数据中台子系统 150 7.5.1 应用基础能力平台 151 7.5.2 数据基础能力平台 152 7.5.3 数据集成开发平台 154 7.5.4 数据资产运营平台 156 7.5.5 数据业务能力层 158 7.5.6 数据中台重点建设内容 159 7.6 本章小结 160 第8章 数据中台与云原生架构 8.1 云原生架构及云平台 161 8.2 PaaS平台的主要功能 165 8.2.1 资源管理 167 8.2.2 应用全生命周期管理 169 8.2.3 高可用和容错 170 8.2.4 运维平台 172 8.3 传统方式下搭建数据中台的难点 173 8.4 云原生架构对于数据中台建设的5大意义 175 8.5 数据中台的IaaS层选择 178 8.6 本章小结 180 第三部分 数据中台技术选型与核心内容 第9章 数据中台建设与开源软件 9.1 开源软件的起源和建设过程 185 9.2 开源软件的合理使用 189 9.3 集成开源软件的5个注意事项 192 9.4 应用基础能力平台的开源选择 193 9.5 数据基础能力平台的开源选择 196 9.6 数据集成开发平台的开源选择 203 9.7 本章小结 205 第10章 数据湖与数据仓库 10.1 数据湖 207 10.1.1 数据湖的起源与作用 208 10.1.2 数据湖建设的4个目标 211 10.1.3 数据湖数据的采集和存储 212 10.1.4 数据湖中的数据治理 216 10.2 数据仓库 218 10.2.1 数据建模方式 219 10.2.2 数据仓库建设的层次 221 10.2.3 数据仓库中的数据治理 225 10.2.4 数据清洗 229 10.3 数据中台中的数据仓库和数据湖建设 231 10.4 本章小结 233 第11章 数据资产管理 11.1 数据资产管理的难题 235 11.2 数据资产管理定义 238 11.3 主数据管理 239 11.4 元数据管理 242 11.4.1 元数据的分类 243 11.4.2 元数据管理系统的功能 245 11.5 开源的元数据管理系统 247 11.6 数据资产的ROI 249 11.7 本章小结 250 第12章 数据流水线管理 12.1 数据流水线的定义与模型 251 12.2 数据流水线中的应用类别 254 12.3 数据流水线的运行方式 256 12.4 数据流水线示例 257 12.5 数据流水线管理系统面临的挑战 259 12.6 数据流水线管理系统的功能需求 262 12.6.1 自动化流水线 262 12.6.2 数据管理 263 12.6.3 性能要求 264 12.7 数据流水线管理系统的组件 265 12.8 批流合一的数据流水线 266 12.9 本章小结 269 第13章 数据中台应用开发 13.1 数据应用的形态 270 13.2 应用开发工具 277 13.3 3种典型的数据中台应用 279 13.3.1 数据即服务 279 13.3.2 模型即服务 281 13.3.3 用户标签系统 282 13.4 数据中台应用的开发和管理 283 13.4.1 应用调度系统 284 13.4.2 多租户管理 285 13.4.3 持续集成和发布 286 13.5 本章小结 287 第14章 数据门户 14.1 数据门户出现的背景 288 14.2 硅谷的数据门户建设 289 14.2.1 Twitter的DAL和EagleEye 290 14.2.2 LinkedIn的Data Hub 292 14.2.3 Airbnb的Data Portal 293 14.2.4 Lyft的Amundsen 294 14.2.5 Netflix的Metacat 296 14.2.6 Intuit的SuperGlue 297 14.2.7 硅谷数据门户总结 298 14.3 数据门户的定位及功能 299 14.4 数据门户的实现原理 301 14.5 数据门户的社交属性 303 14.6 数据应用的自助及协同工作 304 14.7 数据智能运维 306 14.8 本章小结 308 第15章 管理数据中台的演进 15.1 不断演进的数据中台 310 15.2 人员变动下的数据管理 310 15.2.1 数据安全 311 15.2.2 数据能力的传递 312 15.3 数据和应用的演进 314 15.4 资源的演进 316 15.5 演进中的关键指标 318 15.6 本章小结 321 第四部分 数据中台案例分析 第16章 EA“数据中台”实践 16.1 建设背景 324 16.2 组织架构调整 327 16.3 建设过程 328 16.4 体系架构 333 16.5 数据治理 336 16.5.1 数据标准和规范 336 16.5.2 元数据管理 338 16.5.3 数据质量管理 339 16.6 数据应用产品 340 16.6.1 推荐系统 340 16.6.2 打造动态游戏体验 341 16.6.3 标签系统及游戏运营 343 16.7 EA“数据中台”功能总结 344 16.8 本章小结 345 第17章 零售行业的数据中台 17.1 零售行业的数字化转型 346 17.2 零售行业数据中台解决方案 347 17.3 零售行业数据中台的建设 349 17.3.1 数据汇聚 350 17.3.2 业务调研 352 17.3.3 数据仓库建设及数据分析 354 17.3.4 业务系统的能力反馈 356 17.4 零售行业数据中台的应用场景 357 17.4.1 用户标签体系 357 17.4.2 精准市场营销 359 17.5 本章小结 361 第18章 物联网领域数据中台建设 18.1 现代物联网的产业链 362 18.2 物联网与ABC 365 18.3 物联网数据中台架构 366 18.4 智慧建筑物联网数据中台应用 371 18.5 本章小结 374 ---------------------------8071456 - 云原生应用管理:原理与实践--------------------------- 前言 第1章 什么是Helm 1 1.1 Helm的发展历程 1 1.2 Helm的适用场景 2 1.3 Helm的社区和生态 3 1.4 Helm的架构设计与工作原理 4 1.4.1 Helm Client 4 1.4.2 Tiller 5 1.5 本章小结 5 第2章 Chart 7 2.1 Chart文件结构 7 2.1.1 Chart.yaml 8 2.1.2 Chart license, README notes 9 2.1.3 Chart Dependences 10 2.1.4 template和values 14 2.2 Helm功能初体验 18 2.2.1 前置条件 18 2.2.2 Helm的三大基本概念 18 2.2.3 安装Helm 18 2.2.4 安装第一个Chart 19 2.2.5 查看当前安装实例 21 2.2.6 删除安装的实例 21 2.2.7 Helm后端存储 22 2.3 helm install 23 2.4 Helm 更新与回滚 25 2.4.1 helm upgrade 25 2.4.2 helm history 25 2.4.3 helm rollback 26 2.4.4 一些有用的更新参数 26 2.5 helm repo 26 2.6 创建自己的Chart 28 2.7 Helm Hooks 29 2.7.1 Helm支持的Hooks种类 30 2.7.2 Hooks 与Release 生命周期的关系 30 2.7.3 简单的Hooks示例 31 2.7.4 使用crd-install来定义一个CRD 33 2.7.5 自动删除先前版本的Hooks 33 2.8 Helm插件 34 2.9 Chart测试 36 2.10 Chart模板开发高阶介绍 38 2.10.1 创建第一个template文件 39 2.10.2 给template添加动态变量 41 2.10.3 模板函数与管道 42 2.10.4 逻辑控制 45 2.10.5 变量 51 2.10.6 自定义模板 53 2.10.7 在模板中引用文件 58 2.10.8 创建一个NOTES.txt文件 60 2.11 本章小结 61 第3章 使用Helm部署Wordpress实战 63 3.1 下载Wordpress Chart 63 3.2 Chart.yaml 64 3.3 requirements.yaml 64 3.4 Charts文件夹 65 3.5 template文件夹 65 3.5.1 helper文件 66 3.5.2 NOTES.txt 68 3.5.3 其他文件 69 3.5.4 tests文件 71 3.6 README.md 72 3.7 values.yaml 72 3.8 安装 73 3.9 本章小结 76 第4章 Helm 源码分析 77 4.1 helm install 77 4.1.1 locateChartPath 78 4.1.2 ensureHelmClient 81 4.1.3 InstallCmd Run 81 4.1.4 installReleaseFromChart 83 4.1.5 setupConnection 84 4.1.6 Helm Client install Function 85 4.1.7 返回Release状态信息 87 4.2 Helm Install Server 88 4.2.1 prepareRelease 89 4.2.2 performRelease 90 4.3 Helm update 93 4.3.1 update 命令的定义 93 4.3.2 Update 服务端的实现 94 4.4 helm ls 96 4.4.1 Client 端实现 96 4.4.2 Server端实现 98 4.5 Helm Rollback 100 4.6 Helm delete 102 4.7 Helm 3简介 104 4.8 本章小结 108 第5章 Kustomize入门 109 5.1 Kustomize介绍 109 5.2 Kustomize原理介绍 111 5.3 Kustomize快速入门 113 5.3.1 安装Kustomize 113 5.3.2 通过Kustomize部署helloworld 114 5.4 本章小结 117 第6章 Kustomize详解 118 6.1 Kustomize术语 118 6.2 Kustomize配置详解 121 6.2.1 资源 121 6.2.2 生成器 122 6.2.3 转换器 124 6.3 命令行使用方法 128 6.3.1 命令行使用 128 6.3.2 kustomize build 130 6.3.3 kustomize edit 136 6.3.4 kustomize create 141 6.3.5 kustomize config 143 6.4 基本用法 147 6.4.1 使用configGeneration 147 6.4.2 使用generatorOptions 149 6.4.3 配置转换器 150 6.4.4 使用变量 153 6.4.5 镜像替换 154 6.4.6 补丁 156 6.5 Kustomize插件 161 6.5.1 插件介绍 162 6.5.2 Exec类型插件 163 6.5.3 Go库文件插件 165 6.6 工作流 169 6.6.1 创建配置仓库 169 6.6.2 配置下发 170 6.6.3 使用共享配置 170 6.7 本章小结 172 第7章 Kustomize实战 173 7.1 示例介绍 173 7.1.1 基础配置 174 7.1.2 测试环境 177 7.1.3 生产环境 180 7.1.4 配置管理 185 7.2 通过插件实现不同环境下部署不同的模板 186 7.2.1 项目介绍 187 7.2.2 插件实现 188 7.2.3 运行插件 191 7.3 本章小结 193 第8章 Kustomize源码分析 194 8.1 Kustomize 执行流程介绍 194 8.2 kustomize build命令解析 196 8.2.1 NewCmdBuild函数解析 197 8.2.2 NewCmdBuildPrune函数详解 198 8.2.3 RunBuild函数详解 199 8.2.4 AccumulateTarget 解析 203 8.2.5 addHashesToNames函数 210 8.2.6 ResolveVars函数 211 8.2.7 computeInventory函数 212 8.3 kustomize edit命令分析 214 8.4 add子命令 215 8.5 set子命令 225 8.6 Fix子命令 228 8.7 remove子命令 229 8.8 kustomize create 命令分析 230 8.9 本章小结 233 第9章 走近CNAB 234 9.1 什么是CNAB 234 9.2 CNAB 基本概念和原理 236 9.3 CNAB规范 238 9.3.1 bundle.json文件格式 239 9.3.2 调用镜像 245 9.3.3 应用包运行规范 246 9.3.4 包格式规范 247 9.4 Duffle和Porter 248 9.4.1 使用Duffle打包Wordpress 248 9.4.2 使用Porter打包Wordpress 250 9.4.3 使用Duffle还是Porter 251 9.5 本章小结 251 第10章 Porter使用详解 252 10.1 Porter快速上手 252 10.1.1 安装Porter 252 10.1.2 创建应用包 253 10.1.3 部署应用 254 10.1.4 更新和卸载应用 255 10.2 创建应用包 255 10.2.1 应用包元数据 257 10.2.2 mixin 257 10.2.3 参数 258 10.2.4 输出 259 10.2.5 校验规则 260 10.2.6 凭据 260 10.2.7 应用包操作 261 10.2.8 自定义操作 263 10.2.9 依赖 263 10.2.10 镜像 263 10.2.11 自定义Dockerfile 264 10.3 mixin 265 10.3.1 安装mixin 266 10.3.2 常用mixin介绍 266 10.4 Porter命令详解 270 10.5 OCI仓库与应用分发 276 10.6 使用Porter分发CNAB应用 278 10.6.1 发布应用包 278 10.6.2 复制应用包 280 10.6.3 导出应用包 281 10.7 本章小结 282 第11章 Porter实战 283 11.1 创建基本的应用框架 283 11.1.1 环境准备 283 11.1.2 创建基本的应用框架 284 11.2 支持参数和输出 288 11.3 定义多个操作步骤 291 11.4 发布应用包 295 11.5 使用应用包依赖 298 11.6 本章小结 300 第12章 Porter mixin开发和源码解析 301 12.1 mixin实现原理 301 12.1.1 mixin调用机制 301 12.1.2 mixin API 302 12.2 mixin开发 306 12.2.1 创建mixin项目 306 12.2.2 mixin代码概览 308 12.2.3 实现build命令 312 12.2.4 定义JSON Schema 313 12.2.5 实现参数组装逻辑 316 12.3 Porter build源码解析 320 12.4 Porter install源码解析 329 12.4.1 准备应用包 330 12.4.2 准备和执行依赖 332 12.4.3 执行主应用包操作 336 12.4.4 Docker驱动的运行过程 339 12.5 Porter运行时源码解析 342 12.6 本章小结 346 第13章 全面了解Operator 347 13.1 初识Operator 348 13.1.1 什么是Operator 348 13.1.2 Operator的发展 349 13.1.3 Operator的社区与生态 351 13.2 Operator Framework 352 13.3 Operator 工作原理 354 13.4 本章小结 357 第14章 Operator Framework功能详解 358 14.1 Operator SDK 358 14.1.1 安装Operator SDK CLI 358 14.1.2 使用Operator SDK CLI 360 14.1.3 Operator的作用域 363 14.1.4 Operator SDK生成的代码框架 365 14.1.5 controller-runtime 367 14.1.6 使用Predicates过滤事件 381 14.1.7 Operator SDK的架构演进 383 14.2 Operator Lifecycle Manager 387 14.2.1 OLM组件模型定义 387 14.2.2 OLM结构介绍 389 14.2.3 OLM的安装 390 14.2.4 依赖解析和升级管理 392 14.2.5 operator-registry 395 14.3 Operator Metering 398 14.3.1 Operator Metering基本架构 398 14.3.2 Operator Metering核心组件 400 14.4 本章小结 407 第15章 Operator实战 408 15.1 基于Operator SDK构建Operator 408 15.1.1 生成第一个Operator项目 408 15.1.2 创建自定义资源定义 409 15.1.3 创建Controller 410 15.1.4 Operator的构建和运行 416 15.2 使用Operator Lifecycle Manager 419 15.2.1 构建一个CSV 419 15.2.2 基于Operator Lifecycle Manager测试Operator 423 15.3 部署和使用Operator Metering 425 15.3.1 安装Operator Metering 426 15.3.2 定制化Prometheus Report Queries 426 15.4 本章小结 432 第16章 Operator示例:cert-manager源码解析 433 16.1 cert-manager基本介绍 433 16.2 cert-manager组件架构解析 434 16.3 基于controller-runtime的cainjector架构解析 441 16.3.1 cainjector的启动流程 441 16.3.2 cainjector的Reconcile函数 446 16.4 本章小结 448 |