OpenStack设计与实现(第3版) 封面

OpenStack设计与实现(第3版)

评分 4.2
字数
23.6万字
章节数
214
ISBN
9787121392863

标签

内容简介

本书是一本介绍OpenStack设计与实现原理的书。本书内容以Train版本为基础,覆盖了OpenStack从学习方法到设计与实现等各个方面的内容,包括OpenStack的成长史、OpenStack开发的基础流程、如何分析OpenStack的源码、OpenStack的底层基石——虚拟化、OpenStack众多项目中所用到的通用技术,以及OpenStack主要组件及项目的实现,致力于帮助读者形成OpenStack及其各个主要组件与项目的拓扑图。本书语言通俗易懂,能够带领读者更为快速地走入OpenStack的世界并做出自己的贡献。

编辑推荐

《OpenStack设计与实现(第3版)》由英特尔亚太研发有限公司编著,是深入剖析OpenStack这一主流开源云平台内核的权威技术著作。本书并非简单的操作指南,而是聚焦于OpenStack的架构设计与核心模块的实现原理,从代码层面解构其分布式系统设计的精妙之处。与前两版相比,第3版内容紧跟社区发展,涵盖了从Newton到Stein等多个重要版本的核心演进,对Cinder,Neutron,Nova等关键项目的架构更新与优化进行了深度解读。

作为编辑,我认为本书最大的价值在于其独特的"设计者视角"。它跳出了普通用户和运维人员的常规视野,直击系统设计的底层逻辑,如消息队列RPC的实现,数据库模型的抽象,并发与调度机制等。书中大量结合了真实的代码片段进行阐述,使得理论分析与工程实践紧密结合,这对于理解一个超大规模开源项目的协作与治理模式极具启发。英特尔团队的背景确保了技术分析的准确性与前瞻性,书中对性能优化,稳定性保障等企业级关切点的探讨尤为珍贵。

对于希望真正掌握OpenStack,并有意参与社区贡献或基于其进行二次开发的读者而言,本书提供了不可多得的路线图。它能够帮助读者构建起关于云计算平台系统设计的完整知识框架,其价值远超特定工具的使用,更在于培养解决复杂分布式系统问题的思维模式。

适合谁读

适合

  • 具备Linux和Python基础,希望深入理解OpenStack架构原理的中高级开发者
  • 云计算领域的架构师或技术负责人,需要评估或定制云平台底层方案
  • 参与OpenStack社区贡献或有意向参与的开源爱好者
  • 高校或研究机构中从事分布式系统与云计算教学研究的师生

不适合

  • 仅需要学习OpenStack安装部署和基础运维操作的入门级用户
  • 寻求快速上手应用开发,无需关心底层机制的应用程序开发者

阅读建议

  1. 建议按顺序阅读前几章,先建立对OpenStack整体架构与公共机制的宏观认识,再根据需要深入特定项目章节
  2. 阅读时最好能结合本地OpenStack开发环境或直接查阅线上代码仓库,对照书中的代码分析进行实践验证
  3. 对于复杂章节,可反复阅读并结合官方文档,设计蓝图(Blueprint)等资料进行交叉理解,以把握设计思想的演变

出版社简介

电子工业出版社 中国 · 成立于 1982 年

电子工业出版社是一家以电子信息及相关领域为出版特色的综合性出版社。从库内三千余种图书来看,其出版方向覆盖编程设计、人工智能、计算机综合、财经、摄影与社科等门类,既关注技术前沿,也兼顾大众阅读。代表图书包括《因子投资:方法与实践》《x86汇编语言:从实模式到保护模式》《RISC-V开放架构设计之道》《人工智能:语音识别理解与实践》《相控阵雷达技术》《雷达目标特性》及《100个Go语言典型错误》等,多围绕技术方法与工程实践展开。作者资源方面,有石川、李忠、王晓波、大卫·帕特森、安德鲁·沃特曼、余子濠等中外作者。受公开资料所限,暂不展开更多出版特色。

目录

  1. 版权信息
  2. 作者简介
  3. 内容简介
  4. 序
  5. 前言
  6. 第1章 初识OpenStack
  7. 1.1 从虚拟化到OpenStack
  8. 1.1.1 虚拟化
  9. 1.1.2 云计算
  10. 1.1.3 OpenStack
  11. 1.2 OpenStack基金会及管理模式
  12. 1.2.1 董事会
  13. 1.2.2 技术委员会
  14. 1.2.3 用户委员会
  15. 1.3 OpenStack体系结构
  16. 1.4 OpenStack项目发展流程
  17. 1.4.1 新项目
  18. 1.4.2 孵化项目、集成项目和核心项目
  19. 1.4.3 大帐篷(Big Tent)
  20. 1.5 OpenStack社区
  21. 1.5.1 邮件列表
  22. 1.5.2 IRC和项目例会
  23. 1.5.3 Summit和Meetup
  24. 1.5.4 其他社交平台
  25. 1.6 其他开源项目
  26. 1.7 OpenStack的技术发展趋势
  27. 第2章 OpenStack开发基础
  28. 2.1 相关开发资源
  29. 2.1.1 OpenStack社区
  30. 2.1.2 OpenStack文档
  31. 2.1.3 OpenStack书籍
  32. 2.2 OpenStack开发的技术基础
  33. 2.3 部署开发环境
  34. 2.3.1 Git
  35. 2.3.2 Devstack
  36. 2.4 浏览OpenStack源码
  37. 2.4.1 浏览代码的工具
  38. 2.4.2 分析源码如何入手
  39. 2.5 OpenStack代码质量保证体系
  40. 2.5.1 编码规范
  41. 2.5.2 代码评审Gerrit
  42. 2.5.3 单元测试Tox
  43. 2.5.4 持续集成Jenkins
  44. 2.6 如何贡献
  45. 2.6.1 文档
  46. 2.6.2 修补Bug
  47. 2.6.3 增加Feature
  48. 2.6.4 Review
  49. 2.6.5 调试
  50. 第3章 虚拟化
  51. 3.1 概述
  52. 3.1.1 虚拟化的实现方式
  53. 3.1.2 虚拟化的现状和未来
  54. 3.2 高层管理工具
  55. 3.2.1 XenAPI
  56. 3.2.2 Libvirt
  57. 3.3 OpenStack相关实现
  58. 3.3.1 Libvirt驱动
  59. 3.3.2 XenAPI驱动
  60. 第4章 OpenStack通用技术
  61. 4.1 消息总线
  62. 4.2 SQLAlchemy和数据库
  63. 4.3 RESTful API和WSGI
  64. 4.4 Eventlet和AsyncIO
  65. 4.5 命令行构建
  66. 4.6 OpenStack通用库Oslo
  67. 4.6.1 oslo.config
  68. 4.6.2 oslo.db
  69. 4.6.3 oslo.i18n
  70. 4.6.4 oslo.messaging
  71. 4.6.5 stevedore
  72. 4.6.6 TaskFlow
  73. 4.6.7 cookiecutter
  74. 4.6.8 oslo.policy
  75. 4.6.9 oslo.rootwrap
  76. 4.6.10 oslo.test
  77. 4.6.11 oslo.versionedobjects
  78. 第5章 计算
  79. 5.1 Nova体系结构
  80. 5.2 Nova API
  81. 5.2.1 Nova v2.1 API
  82. 5.2.2 Nova API实现
  83. 5.3 Rolling Upgrade
  84. 5.4 Scheduler
  85. 5.4.1 调度器
  86. 5.4.2 Resource Tracker
  87. 5.4.3 调度流程
  88. 5.5 Cells v2
  89. 5.6 典型工作流程
  90. 5.6.1 创建虚拟机
  91. 5.6.2 冷迁移与Resize
  92. 5.6.3 热迁移
  93. 5.6.4 挂起和恢复
  94. 5.6.5 Rebuild和Evacuate
  95. 5.7 资源管理服务Placement
  96. 5.7.1 Placement API
  97. 5.7.2 API版本管理
  98. 5.7.3 错误机制
  99. 5.7.4 管理Nova资源
  100. 5.7.5 查看资源消耗
  101. 5.7.6 Placement的发展
  102. 第6章 存储
  103. 6.1 Swift
  104. 6.1.1 Swift体系结构
  105. 6.1.2 Ring
  106. 6.1.3 Swift API
  107. 6.1.4 认证
  108. 6.1.5 对象管理与操作
  109. 6.1.6 数据一致性
  110. 6.2 Cinder
  111. 6.2.1 Cinder体系结构
  112. 6.2.2 Cinder API
  113. 6.2.3 cinder-scheduler
  114. 6.2.4 cinder-volume
  115. 6.2.5 cinder-backup
  116. 6.3 Glance
  117. 6.3.1 Glance体系结构
  118. 6.3.2 Glance API
  119. 6.4 Ceph
  120. 6.4.1 Ceph体系结构
  121. 6.4.2 RADOS
  122. 6.4.3 Ceph块设备
  123. 6.4.4 Ceph FS
  124. 6.4.5 Ceph与OpenStack
  125. 第7章 网络
  126. 7.1 Neutron体系结构
  127. 7.1.1 Linux虚拟网络
  128. 7.1.2 Neutron网络资源模型
  129. 7.1.3 网络实现模型
  130. 7.1.4 Neutron软件架构
  131. 7.2 Neutron Plugin
  132. 7.2.1 ML2 Plugin
  133. 7.2.2 Service Plugin
  134. 7.3 Neutron Agent
  135. 第8章 安全
  136. 8.1 OpenStack安全概述
  137. 8.2 Keystone
  138. 8.2.1 Keystone体系结构
  139. 8.2.2 Keystone启动过程
  140. 8.2.3 用户认证及令牌获取
  141. 8.2.4 Keystone 高阶应用
  142. 8.3 可信计算池
  143. 8.3.1 体系结构
  144. 8.3.2 Intel TXT与TBoot
  145. 8.3.3 可信认证与OpenAttestation项目
  146. 8.3.4 TrustedFilter
  147. 8.3.5 部署
  148. 第9章 计量与监控
  149. 9.1 Ceilometer
  150. 9.1.1 体系结构
  151. 9.1.2 Pipeline
  152. 9.1.3 Polling Agent与Pollster插件
  153. 9.1.4 Notification Agent与Notification Listener插件
  154. 9.1.5 Storage/DB
  155. 9.1.6 部署与使用
  156. 9.1.7 插件的开发
  157. 9.2 Aodh
  158. 9.2.1 体系结构
  159. 9.2.2 部署与使用
  160. 9.2.3 插件的开发
  161. 9.3 Gnocchi
  162. 9.3.1 体系结构
  163. 9.3.2 部署与使用
  164. 9.4 Panko
  165. 第10章 物理机管理
  166. 10.1 Ironic体系结构
  167. 10.1.1 Ironic Driver
  168. 10.1.2 Ironic API
  169. 10.1.3 Ironic Conductor
  170. 10.1.4 ironic-python-agent
  171. 10.1.5 ironic-inspector
  172. 10.2 Ironic中的网络管理
  173. 10.2.1 物理交换机管理
  174. 10.2.2 多租户网络的支持
  175. 10.3 Ironic节点的注册和启动
  176. 10.4 Ironic使用技巧
  177. 10.4.1 如何设置MySQL的root密码
  178. 10.4.2 Ironic环境搭建
  179. 10.4.3 Neutron配置
  180. 10.4.4 使用Devstack搭建Ironic物理机环境
  181. 第11章 控制面板
  182. 11.1 Horizon体系结构
  183. 11.1.1 Horizon与Django
  184. 11.1.2 Horizon网站布局
  185. 11.1.3 Horizon源码结构
  186. 11.2 Horizon部署
  187. 11.3 页面渲染流程
  188. 第12章 容器
  189. 12.1 容器技术
  190. 12.1.1 容器的原理
  191. 12.1.2 常见的容器集群管理工具
  192. 12.2 容器与OpenStack
  193. 12.2.1 nova-docker/heat-docker
  194. 12.2.2 Magnum
  195. 12.2.3 Murano
  196. 12.2.4 Kolla
  197. 12.2.5 Solum
  198. 12.2.6 Kuryr
  199. 12.2.7 容器技术与OpenStack的展望
  200. 12.3 Kata安全容器
  201. 12.3.1 容器技术与虚拟机技术
  202. 12.3.2 Kata容器技术与实现原理
  203. 12.3.3 Kata容器架构及实现
  204. 12.3.4 Kata容器创建流程
  205. 第13章 部署
  206. 13.1 配置管理工具
  207. 13.2 OpenStack部署项目
  208. 13.2.1 Bifrost
  209. 13.2.2 Kolla
  210. 13.2.3 TripleO
  211. 第14章 加速设备管理
  212. 14.1 Cyborg体系结构
  213. 14.2 Cyborg数据模型
  214. 14.3 Cyborg与Nova等组件的交互

常见问题

本书与《OpenStack运维指南》或《OpenStack实战》这类书有何主要区别?
本书核心在于"设计与实现",侧重于剖析OpenStack各组件内部的架构设计,代码实现原理及核心机制。而运维或实战类书籍通常侧重于部署,配置,管理和使用OpenStack平台。前者是"造车"原理,后者是"开车"和"保养"手册。
阅读本书需要多深的编程基础?
需要具备良好的Python编程能力,能够理解面向对象设计,装饰器,上下文管理等中级特性。同时,需要对操作系统,网络,数据库等计算机基础知识有较好掌握,因为书中会频繁涉及进程,线程,消息队列,RESTful API,SQLAlchemy等概念。
第3版相比旧版更新了哪些重要内容?
第3版追踪了OpenStack社区的快速发展,重点更新了包括但不限于:更现代的微服务架构与容器化部署(如Kolla)的影响,Cinder的多后端支持与卷迁移,Neutron的OVN与边缘计算,Nova的Cyborg(加速器资源管理)和Placement(资源调度)服务,以及Keystone,Glance等项目的安全性与性能增强机制。它反映了云平台技术向可组合性,可扩展性和智能化运维方向的演进。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

作者简介

英特尔亚太研发有限公司是英特尔公司在中国设立的研发机构,主要开展软件与硬件技术研发。公开资料有限,其具体成立时间、规模与人员构成未见系统披露,现有信息主要围绕其研发职能展开。作为企业研发机构,它的编写方向偏向工程实践与技术落地,而非理论综述或学术专著。库内收录其作品两种,分别为《OpenStack设计与实现(第3版)》和《边缘计算技术与应用》,均属编程设计类,选题紧扣云计算平台搭建与边缘计算应用等前沿领域,体现出面向开发者和工程人员的实用取向。这类由企业研发团队撰写的技术图书,通常侧重架构剖析、部署流程与真实场景中的问题处理,有助于读者把概念转化为可操作的实践能力,在相关技术社区中具有一定的参考价值。

同一作者

同类高分