OpenStack Design and Implementation (3rd Edition) cover

OpenStack Design and Implementation (3rd Edition)

Rating 4.2
Word count
236K words
Chapters
214
ISBN
9787121392863

Tags

Summary

This book explains the design and implementation principles of OpenStack. Based on the Train release, it covers everything from how to learn OpenStack to its design and implementation, including the history of OpenStack's growth, the basic workflow of OpenStack development, how to analyze OpenStack source code, virtualization—the cornerstone of OpenStack—the common technologies used across its many projects, and the implementation of OpenStack's major components and projects. Its goal is to help readers form a topology map of OpenStack and its main components and projects. Written in accessible language, the book guides readers quickly into the world of OpenStack and enables them to make their own contributions.

Editor's review

Co-authored by Intel Asia-Pacific Research & Development Ltd., OpenStack Design and Implementation (3rd Edition) is an authoritative technical work that dissects the internals of OpenStack, the mainstream open-source cloud platform. Rather than a mere operations guide, it focuses on OpenStack's architectural design and the implementation principles of its core modules, deconstructing from the code level the elegance of its distributed system design. Compared with the previous two editions, the 3rd Edition keeps pace with community development, covering core evolution across several major releases from Newton to Stein, and offers in-depth interpretation of architectural updates and optimizations in key projects such as Cinder, Neutron, and Nova.

As an editor, I believe the book's greatest value lies in its unique "designer's perspective." It moves beyond the conventional view of ordinary users and operators to address the underlying logic of system design—such as the implementation of message-queue RPC, abstraction of database models, and concurrency and scheduling mechanisms. The extensive use of real code snippets tightly integrates theoretical analysis with engineering practice, offering great insight into the collaboration and governance model of a very-large-scale open-source project. The Intel team's background ensures the accuracy and forward-looking nature of the technical analysis, and the discussion of enterprise concerns such as performance optimization and stability assurance is particularly valuable.

For readers who wish to truly master OpenStack and intend to contribute to the community or build secondary development on it, this book provides a rare roadmap. It helps readers build a complete knowledge framework for cloud platform system design; its value goes far beyond the use of specific tools to cultivating a mindset for solving complex distributed-system problems.

Who it's for

A good fit for

  • Intermediate and advanced developers with Linux and Python fundamentals who wish to gain an in-depth understanding of OpenStack architecture and principles
  • Cloud architects or technical leads who need to evaluate or customize underlying cloud platform solutions
  • Open-source enthusiasts contributing or intending to contribute to the OpenStack community
  • Faculty and students in universities or research institutions engaged in teaching and research on distributed systems and cloud computing

Not a good fit for

  • Beginner users who only need to learn OpenStack installation, deployment, and basic operations
  • Application developers seeking quick onboarding to application development without concern for underlying mechanisms

Reading tips

  1. Read the first few chapters in order to build a macro understanding of OpenStack's overall architecture and common mechanisms, then delve into specific project chapters as needed
  2. Whenever possible, read alongside a local OpenStack development environment or consult online code repositories directly to verify the code analysis in practice
  3. For complex chapters, reread them and cross-reference official documentation, Blueprints, and other materials to grasp how design ideas evolved

About the publisher

Publishing House of Electronics Industry China · Founded in 1982

The Publishing House of Electronics Industry is a comprehensive publisher distinguished by its focus on electronic information and related fields. Judging from the more than 3,000 titles in its catalogue, its publishing covers programming and design, artificial intelligence, computer science, finance and economics, photography, and social sciences, attending both to cutting-edge technology and to general readers. Representative titles include Factor Investing: Methods and Practice, x86 Assembly Language: From Real Mode to Protected Mode, The RISC-V Reader, Artificial Intelligence: Speech Recognition, Understanding and Practice, Phased Array Radar Technology, Radar Target Characteristics, and 100 Go Mistakes and How to Avoid Them, most of which centre on technical methods and engineering practice. Its authors include Shi Chuan, Li Zhong, Wang Xiaobo, David Patterson, Andrew Waterman, and Yu Zihao, among others from China and abroad. Owing to limited public information, no further publishing features are elaborated here.

Contents

  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等组件的交互

FAQ

How does this book differ mainly from books such as the OpenStack Operations Guide or OpenStack in Action?
The core of this book is "design and implementation," focusing on dissecting the internal architecture, code implementation principles, and core mechanisms of OpenStack components. Operations or hands-on books typically focus on deploying, configuring, managing, and using the OpenStack platform. The former explains how to "build the car"; the latter are manuals for "driving" and "maintenance."
How much programming background is needed to read this book?
A solid command of Python is required, including the ability to understand intermediate features such as object-oriented design, decorators, and context managers. A good grasp of computer fundamentals such as operating systems, networking, and databases is also needed, because the book frequently involves concepts such as processes, threads, message queues, RESTful APIs, and SQLAlchemy.
What important content has been updated in the 3rd Edition compared with earlier editions?
The 3rd Edition tracks the rapid development of the OpenStack community and highlights updates including but not limited to: the impact of more modern microservice architecture and containerized deployment (such as Kolla), Cinder's multi-backend support and volume migration, Neutron's OVN and edge computing, Nova's Cyborg (accelerator resource management) and Placement (resource scheduling) services, and security and performance enhancements in projects such as Keystone and Glance. It reflects the evolution of cloud platform technology toward composability, scalability, and intelligent operations.

Comments

Find this book

This site is an index: you start “Search all sources” in your browser, and the entries it lists all point to third-party sites; please judge their availability yourself.

About the author

Intel Asia-Pacific Research & Development Ltd. is a research and development institution established in China by Intel Corporation, mainly engaged in software and hardware technology R&D. Public information is limited: details such as its exact founding date, scale, and staffing have not been systematically disclosed, and the available information centers on its R&D functions. As a corporate R&D institution, its writing focuses on engineering practice and technology implementation rather than theoretical surveys or academic monographs. The library holds two of its works, OpenStack Design and Implementation (3rd Edition) and Edge Computing Technology and Applications, both in the programming and design category. Their topics are closely tied to frontier areas such as cloud computing platform building and edge computing applications, reflecting a practical orientation toward developers and engineers. Technical books written by corporate R&D teams like these typically emphasize architecture analysis, deployment processes, and problem solving in real scenarios, helping readers turn concepts into workable practical skills and offering some reference value to the relevant technical community.

More by the same author

Top rated in the same category