-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
10/8 新書到! 10/1 新書到! 9/24 新書到! 9/18 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

深度實踐OpenStack:基于Python的OpenStack組件開發

( 簡體 字)
作者:喻 濤 田 亮 張家龍 趙利軍 李 飛 著類別:1. -> 程式設計 -> Python
譯者:
出版社:機械工業出版社深度實踐OpenStack:基于Python的OpenStack組件開發 3dWoo書號: 48561
詢問書籍請說出此書號!

有庫存
NT售價: 395

出版日:2/1/2018
頁數:310
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111590774
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

為什么寫這本書

從2010年7月至今,OpenStack已經發布了15個版本,并成為云計算基礎架構(IaaS)的事實標準。目前OpenStack也被國內企業接受,包括中國移動通信集團公司、中國電信集團公司、中國銀聯股份有限公司、中國國電集團公司等都在直接或間接使用OpenStack。

隨著云的普及,越來越多的業務部署并運行在OpenStack云中,原生的OpenStack的界面及功能已經遠遠不能滿足需求,有規模的企業尋求定制自己的OpenStack,其中包括界面的定制、計算和網絡等功能的增強等。而與OpenStack相關的創業公司經過幾年的發展,都已經有了自己成熟的產品,這些公司如今不再為溫飽而四處奔波,也已經從“賣人”轉向出售自有產品。隨著OpenStack創業公司規模不斷擴大,原有人員遠遠不能滿足需求,熟悉OpenStack開發的人員更是難尋,除了在“云圈子”尋找人才外,很大一部分是從Java、C++等專業人才中進行招聘,這些新人進入公司后,經過一段時間的培訓,才能逐漸進入OpenStack開發的角色。

缺少OpenStack開發人員的原因主要有以下幾方面。

1)開發人員首先要熟悉Linux操作系統,然后要熟悉OpenStack的相關概念,同時需要具有OpenStack相關安裝部署經驗。

2)開發人員要有良好的英文基礎,能夠看懂官方的英文文檔。

3)OpenStack的開發語言為Python,很多高校沒有開設相關課程,需要開發人員自己學習。

4)開源軟件需要用到很多開源工具,包括Git、Curl、Jenkins等,這些工具都需要開發人員掌握。

這些條件和要求整合到一起,難度就陡然增加了,一名普通計算機專業的本科畢業生要從事OpenStack開發相關工作,至少要在OpenStack的開發企業中培訓學習3個月左右;而一個云計算的開發企業,每次招收的畢業生、培養的新人是有限的,加在一起不超過千人,這些人員遠遠不能滿足市場的需求。由此看來,OpenStack開發人員還是非常緊缺的,其待遇也是很不錯的。

本書的主要內容和特色

本書是根據北京海云捷迅科技有限公司內部培訓教程重新整理編輯而成,內容包括Python語言基礎及開發優化的原則和OpenStack組件及開發方面的知識,是一本系統、全面、講解深入的開發類書籍,值得所有Python和OpenStack從業人員學習參考。本書特色如下:

1)有針對性地講解了與OpenStack相關的Python專業知識。

2)全方位涵蓋了OpenStack的技術知識,包括DevStack、開發基礎、API調用、源碼及結構分析、功能擴展等。

3)堪稱零基礎入門。本書包含詳盡的操作步驟,還有詳細圖示操作指引及錯誤分析,帶領讀者步入OpenStack開發的殿堂。

4)第一次公開OpenStack開發企業內部資料——工程師的成長資料及資深工程師的日常工作記錄,極具參考價值。

本書的知識體系

全書共分八個部分:

第一部分(第1、2章):首先以若干名企業內部OpenStack開發人員的成長歷程為例,講解OpenStack開發人員應具備的知識體系;然后講解了基本開發環境的搭建。

第二部分(第3、4章):不同于市面上的Python教材,本書以企業內部教程為主線,從企業應用角度講解Python基礎知識、優化原則和OpenStack中Python相關的模塊知識。

第三部分(第5∼7章):講述了消息隊列、DevStack開發環境及開發的相關知識,其中包含一些基本概念和技巧,是OpenStack開發人員必須掌握的入門知識。

第四部分(第8、9章):本部分首先用很多實例講解了Horizon的開發框架Django,然后講了Horizon界面結構,分析了Horizon的源代碼,最后用示例完成Horizon的開發測試過程。

第五部分(第10章):本部分首先詳述了Nova啟動實例的流程,接著分析了Nova的源碼,最后用示例講述了微模塊的開發過程。

第六部分(第11章):本部分首先講述了OpenStack的部署拓撲和實例的數據流向分析,接著對Neutron的啟動流程進行了跟蹤分析,最后擴展了Neutron的extensions模塊并測試其功能。

第七部分(第12章):本部分主要講述了OpenStack測試的相關內容,包含開發人員個人的單元測試和團隊的模塊集成測試技術,為代碼整合打好基礎。

第八部分(附錄A∼D):首先附錄A講述了國內企業對OpenStack社區的貢獻;附錄B、C分別對OpenStack的Newton和 Ocata版本新特性進行了說明;附錄D列舉出Git代碼管理命令供讀者參考,希望可以為讀者指明學習的方向。

本書面向的讀者

本書適用于想從事OpenStack開發及深入學習OpenStack的相關人員。本書也可以作為OpenStack的培訓教材。

如何閱讀本書

OpenStack強調實踐,希望讀者能夠把書中的示例代碼都手動輸入一遍,在輸入運行代碼的過程中可能會出現輸入錯誤、語法錯誤等,讀者可以自己嘗試獨立解決相關問題,逐漸增加自己的編程經驗。

一定要去閱讀和分析官方的源碼,然后自己嘗試去修改源碼,只有這樣才能鍛煉自己的開發能力,逐步成為優秀的OpenStack開發人員。

致謝

本書參考了部分官方文檔以及北京海云捷迅科技有限公司的內部資料,得到了該公司周征晟、張加龍、葉東燦、郭姍、伍軍、徐奡等開發人員的大力支持;還要感謝北京海云捷迅科技有限公司的張征宇和李華,在他們的大力支持下本書才得以完成。

感謝云技術社區創始人肖力老師,是肖老師推薦了華章分社楊福川副主編,還要感謝出版社其他工作人員,有了他們的共同努力,本書才得以正式出版。

由于編撰時間有限,加上OpenStack博大精深,版本更迭較快,文中有失效或分析不對的地方還請讀者批評指正。
內容簡介:

本書是國內領先的企業級OpenStack云服務提供商海云捷迅的經驗總結,不僅從源碼層面深入分析了OpenStack核心組件重要功能的架構設計和實現原理,而且詳細講解了如何利用Python及其相關工具對OpenStack的各組件進行二次開發。只要你了解OpenStack的概念、安裝和部署等基礎知識,本書就能指導你深入掌握OpenStack的核心組件及其功能,在零Python基礎的情況下,快速實現定制化和增強OpenStack功能的目的。

全書共12章,在邏輯上可分為如下幾個部分:

第一部分(第1~2章) OpenStack預備知識

首先簡要介紹了Horizon界面工程師、Neutron網絡工程師、Nova工程師的成長路徑,然后詳細講解了OpenStack開發環境的搭建,以及常用配套工具的使用。

第二部分(第3~4章) Python編程基礎

詳細講解了Python的核心語法知識和優化方法,以及OpenStack中常用的Python功能模塊。掌握這些知識以后,讀者便可以零基礎開始OpenStack組件的開發了。

第三部分(第5~7章) OpenStack開發必備技術

重點講解了消息隊列RabbitMQ和DevStack相關的知識,以及API的調用,這些是從事OpenStack開發必備的技術。

第四部分(第8~12章) OpenStack核心組件開發

首先從源碼的角度分析了Horizon、Nova、Neutron等重要組件的實現原理和架構設計,然后通過實例講解了如何利用Python對這些組件進行二次開發,最后還講解了如何對OpenStack進行測試。



本書的幾位作者是海云捷迅的資深專家和工程師,在OpenStack技術和產品領域都有多年工作經驗。既有在OpenStack架構上有深入研究的架構師,設計過多個大規模OpenStack生產系統架構;又有在具體模塊中做過多年編碼工作的開發者,在OpenStack社區有較大影響力;還有做過實際項目運維的工程師,處理過無數大大小小的問題,積累了豐富的故障處理經驗。作者們在寫作時都從實際的工作案例出發,拒絕紙上談兵,把走過的路、踩過的坑都悉心付諸本書。

本書的初稿來源于海云捷迅內部的培訓教材,在內部被反復使用和打磨,內容不斷完善;很快,這部教材又被外部的其他企業和機構用作培訓教材,在這個過程中,內容又進一步升級,獲得廣泛好評。交付出版以后,在出版社的指導下,又進行了大量修改、更新和補充。我們不斷對書稿的內容質量提出更高的要求,目的就是希望能為讀者提供更好的指導和參考。

除本書外,后續我們還會推出續作《深度實踐OpenStack:架構實踐》,敬請期待!
目錄:



前 言

第1章 OpenStack企業工程師的成長

及工作介紹 1

1.1 Horizon界面工程師的工作內容 1

1.2 Neutron網絡工程師的工作內容 2

1.3 Nova資深工程師的工作內容 3

1.4 本章小結 5

第2章 開發環境的搭建 6

2.1 Windows開發環境的搭建 6

2.1.1 Git的安裝 6

2.1.2 JDK的安裝與配置 12

2.1.3 Python的安裝與配置 15

2.1.4 PyCharm的安裝與配置 19

2.2 Linux開發環境的搭建 24

2.2.1 Vim編輯器 24

2.2.2 PyCharm編輯器 25

2.3 Eclipse開發環境的搭建 26

2.3.1 安裝Eclipse的PyDev插件 26

2.3.2 安裝Eclipse的EGit插件 26

2.4 Launchpad賬號 26

2.4.1 Launchpad賬號注冊 26

2.4.2 上傳SSH keys 27

2.4.3 補充相關賬號與信息 30

2.5 Git的使用 32

2.5.1 設置Git全局配置 32

2.5.2 安裝git-review 工具并驗證 33

2.5.3 提交代碼步驟 33

2.5.4 Git管理流程圖 35

2.6 本章小結 35

第3章 Python語言基礎 36

3.1 Python概述 36

3.2 Python基礎 37

3.2.1 編碼 37

3.2.2 縮進與分隔 37

3.2.3 命名規范 38

3.2.4 注釋 39

3.2.5 執行 39

3.2.6 代碼的調試 40

3.2.7 幫助的使用 41

3.3 Python數據類型 42

3.3.1 變量 42

3.3.2 數字與表達式 44

3.3.3 字符串和列表 45

3.3.4 元組 49

3.3.5 字典 50

3.3.6 其他類型 50

3.4 流程控制 51

3.4.1 if語句 51

3.4.2 while循環 52

3.4.3 for循環 53

3.4.4 continue和break 53

3.4.5 異常處理 53

3.4.6 else的特殊用法 54

3.5 函數 55

3.5.1 函數基礎 55

3.5.2 函數參數 55

3.5.3 函數體和返回值 57

3.5.4 再論類型和循環 58

3.5.5 生成器 60

3.5.6 可調用的變量 62

3.5.7 變量作用域 63

3.6 本章小結 64

第4章 Python模塊 65

4.1  SQLAlchemy 65

4.1.1 安裝 SQLAlchemy 65

4.1.2 使用 SQLAlchemy對數據庫操作 65

4.1.3 使用 ORM 67

4.1.4 完整示例 69

4.2 logging模塊 70

4.2.1 logging的使用 70

4.2.2 若干重要的概念 71

4.2.3 logging工作流程 73

4.2.4 日志配置 74

4.3 Eventlet 77

4.3.1 greenlet 77

4.3.2 GreenThread 78

4.4 WSGI 81

4.4.1 RESTful API介紹 81

4.4.2 WSGI簡介 82

4.4.3 簡單的WSGI 83

4.4.4 運行WSGI服務 84

4.4.5 Middleware 86

4.5 PasteDeploy 87

4.5.1 PasteDeploy安裝 87

4.5.2 Paste配置文件 87

4.5.3 改進WSGI 89

4.6 WebOb 90

4.6.1 Python裝飾器說明 90

4.6.2 簡單示例 91

4.6.3 添加自己的中間件 91

4.6.4 其他特性 92

4.7 routes模塊 92

4.7.1 routes模塊概述 92

4.7.2 使用示例 93

4.8 綜合實例 94

4.9 本章小結 98

第5章 RabbitMQ 99

5.1 RabbitMQ簡介 99

5.2 RabbitMQ流程 101

5.2.1 單向發送消息 101

5.2.2 隊列 103

5.2.3 交換 106

5.2.4 路由 109

5.2.5 主題 111

5.2.6 RPC調用 114

5.3 RabbitMQ 持久化 119

5.4 本章小結 120

第6章 DevStack 121

6.1 DevStack介紹 121

6.2 操作系統的安裝與配置 121

6.2.1 VMware虛擬機的配置 121

6.2.2 系統配置 123

6.3 環境準備與配置 126

6.3.1 DevStack準備 126

6.3.2 配置local.conf文件 127

6.4 安裝DevStack 128

6.5 環境驗證 128

6.5.1 登錄驗證 128

6.5.2 創建網絡 130

6.5.3 創建實例 132

6.5.4 驗證實例網絡 134

6.5.5 OpenStack版本 136

6.6 錯誤分析 136

6.6.1 日志目錄 136

6.6.2 使用Git下載代碼出錯 137

6.6.3 網絡配置錯誤 137

6.6.4 重新部署 137

6.7 本章小結 138

第7章 開發小試 139

7.1 screen簡介 139

7.1.1 screen的進入 139

7.1.2 screen的使用 140

7.1.3 screen的退出 142

7.2 API調試 142

7.2.1 API 142

7.2.2 RESTClient工具 145

7.2.3 Curl實驗 151

7.2.4 錯誤分析 155

7.3 OpenStack界面主題的修改 157

7.3.1 替換logo 157

7.3.2 修改樣式 159

7.4 本章小結 164

第8章 Django框架 165

8.1 安裝Django 165

8.2 Django的架構 169

8.3 創建項目 170

8.3.1 Django管理工具 171

8.3.2 測試站點 172

8.3.3 增加一個APP 174

8.4 使用數據庫 176

8.4.1 連接數據庫 176

8.4.2 創立模型 177

8.4.3 顯示記錄 179

8.5 模板 180

8.5.1 使用模板 180

8.5.2 流程分析 182

8.5.3 使用循環 182

8.5.4 模板繼承 184

8.6 表單 185

8.6.1 提交表單(GET方法) 185

8.6.2 提交表單(POST方法) 186

8.7 存儲數據 187

8.8 表單對象 188

8.9 admin管理 190

8.9.1 默認管理 190

8.9.2 復雜的模型 191

8.9.3 自定義頁面 192

8.9.4 Inline顯示 193

8.9.5 列表頁的顯示 194

8.10 錯誤分析 196

8.11 本章小結 198

第9章 Dashboard的開發 199

9.1 Dashboard概述 199

9.2 源碼解析 200

9.2.1 UI整體結構 200

9.2.2 初識Dashboard 201

9.2.3 項目結構 203

9.3 自定義Dashboard和Panel 207

9.3.1 手工啟動Dashboard工程 207

9.3.2 創建Dashboard 207

9.3.3 創建mypanel 208

9.3.4 編寫代碼 209

9.3.5 驗證代碼 215

9.4 復雜的action table 217

9.4.1 定義view 217

9.4.2 增加URL 219

9.4.3 定義action 220

9.4.4 測試 220

9.5 Horizon開發相關內容 222

9.5.1 漢化 222

9.5.2 workflows 222

9.5.3 JavaScript 224

9.6 錯誤分析 225

9.7 本章小結 227

第10章 Nova組件 228

10.1 組件介紹 228

10.1.1 OpenStack的版本 228

10.1.2 組件的組成 228

10.1.3 組件之間的關系 229

10.1.4 API的使用 230

10.2 虛擬創建過程詳解 230

10.3 Nova源碼分析 233

10.3.1 目錄結構 233

10.3.2 重要目錄詳解 236

10.4 Nova調用關系分析 240

10.4.1 創建虛擬機過程源碼追溯 240

10.4.2 創建虛擬機過程調用流程函數分析 241

10.4.3 Nova和AMQP的關系 243

10.5 開始實踐 246

10.6 API V2.1說明 248

10.6.1 compatibility 249

10.6.2 Validation 249

10.6.3 Microversion 249

10.7 編碼 251

10.7.1 示例編碼 251

10.7.2 官方代碼參考 252

10.7.3 Nova代碼實現示例 258

10.8 調試并修復nova-compute的所有協程卡住的問題 262

10.9 本章小結 269

第11章 Neutron組件 270

11.1 Neutron基礎 270

11.1.1 服務及組件介紹 270

11.1.2 Neutron架構 271

11.1.3 Neutron抽象出的概念 272

11.1.4 Linux網絡基礎 272

11.2 實例網絡詳解 273

11.2.1 硬件配置及網絡拓撲 273

11.2.2 各個節點服務關系及說明 274

11.2.3 場景舉例 277

11.3 Neutron的源碼分析 282

11.3.1 目錄結構 283

11.3.2 重要目錄詳解 285

11.3.3  Neutron啟動分析 288

11.4 Neutron組件擴展 293

11.4.1 編寫代碼 293

11.4.2 重啟服務 295

11.4.3 測試 296

11.5 本章小結 297

第12章 測試技術 298

12.1 OpenStack測試基礎 298

12.2 單元測試 299

12.3 集成測試 301

12.4 本章小結 303

附錄A Mitaka國內代碼貢獻 304

附錄B Newton新特性 307

附錄C Ocata版本新特性 309

附錄D Git代碼管理命令 314
序: