《圖解雲計算架構:基礎設施和API》是2020年人民郵電出版社出版的圖書,作者是[日] 平山毅、中島倫明、中井悅司。
基本介紹
- 中文名:圖解雲計算架構:基礎設施和API
- 作者:[日] 平山毅,中島倫明,中井悅司
- 出版社:人民郵電出版社
- 出版時間:2020年9月1日
- ISBN:9787115546203
內容簡介,圖書目錄,作者簡介,
內容簡介
本書主要講解了構建基於IaaS的雲計算架構時所必備的基礎知識。雲計算架構的**特徵是可以通過API來控制基礎設施,因此可以完成在傳統環境中無法完成的構建和套用。本書內容以API為中心展開,首先說明了雲計算的概念、通用組件及API的機制等基礎知識,然後逐一講解了伺服器、存儲和網路等組件,以及這些組件是如何通過API控制的,最後介紹了多重雲的配置要點和不可變基礎設施等雲原生架構的管理方法。
圖書目錄
第 1章 API在雲計算中的作用 1
1.1 雲計算的現狀 2
1.1.1 雲計算的誕生 2
1.1.2 公有雲和私有雲的區別 3
1.1.3 IaaS、PaaS、SaaS的不同 5
1.2 雲帶來了基礎設施的標準化 8
1.2.1 雲帶來了搭建過程的標準化 8
1.2.2 雲帶來了組件的抽象化 11
1.2.3 API帶來了操作的自動化 13
1.3 以充分利用雲計算為目標 16
第 2章 雲上具有代表性的組件 19
2.1 雲環境的全貌 20
2.1.1 租戶 20
2.1.2 區域 21
2.1.3 可用區 22
2.2 網路資源 26
2.2.1 路由器 26
2.2.2 交換機(子網) 27
2.2.3 公有IP位址 29
2.2.4 安全組 30
2.3 伺服器資源 31
2.3.1 模板鏡像 32
2.3.2 實例類型 32
2.3.3 連線網路和安全組 34
2.3.4 用於登錄認證的密鑰對 35
2.4 塊存儲資源 36
2.4.1 虛擬存儲的基本功能 36
2.4.2 從虛擬存儲啟動 37
2.5 對象存儲的基本功能 38
2.5.1 對象存儲的基本功能 38
2.5.2 版本控制和託管靜態網站 40
2.5.3 虛擬存儲的備份 40
2.6 搭建Web套用系統的示例 41
2.6.1 由多可用區構成的冗餘架構 41
2.6.2 用虛擬存儲實現數據保護 44
第3章 API是如何控制雲的 47
3.1 雲和API的關係 48
3.1.1 什麼是API 48
3.1.2 Web API 49
3.1.3 從網際網路服務開始的Web API和 HTTP 50
3.1.4 Amazon引領了將 Web API套用到雲計算中的潮流 51
3.1.5 虛擬化技術和雲計算 52
3.1.6 SOA技術和雲計算——面向API經濟 53
3.1.7 Web API的構成要素 54
3.1.8 Web API的概念 55
3.1.9 資源 56
3.1.10 動作 57
3.2 構成資源的URI 58
3.2.1 域、域樹、FQDN 58
3.2.2 DNS、虛擬主機和域名註冊管理機構 60
3.2.3 URI 64
3.2.4 端點 66
3.2.5 端點內的路徑設計和版本管理 69
3.2.6 資源名稱和資源屬性類型 73
3.3 HTTP協定 74
3.3.1 HTTP、Cookie、HTTP持久連線 74
3.3.2 HTTP請求 75
3.3.3 HTTP回響 76
3.3.4 HTTP方法 77
3.3.5 HTTP訊息頭 80
3.3.6 HTTP狀態碼 84
3.3.7 SOAP、REST 85
3.3.8 XML、JSON 87
3.3.9 cURL、REST Client 89
3.4 ROA 91
3.4.1 REST的四條原則 91
3.4.2 用面向軟體的方式藉助UML和ER模型使雲基礎設施可視化 93
3.4.3 獲取API的調用記錄 96
3.4.4 構建自定義的API 97
3.5 CLI、SDK、Console 98
3.5.1 CLI 98
3.5.2 SDK 99
3.5.3 Console 101
3.6 小結 101
第4章 IT基礎設施的發展和API的概念 103
4.1 搭建伺服器的必要步驟 104
4.1.1 在物理環境中的搭建步驟 105
4.1.2 在伺服器虛擬化環境中的搭建步驟 105
4.1.3 伺服器虛擬化的優點和局限性 106
4.2 雲時代的搭建步驟 109
4.2.1 雲環境中的搭建步驟 109
4.2.2 雲改變了什麼 111
4.2.3 雲帶來了高效率 117
4.3 如何充分利用雲API 118
第5章 操作伺服器資源的機制 121
5.1 伺服器資源的基本操作和API 122
5.1.1 伺服器資源 122
5.1.2 用API操作伺服器資源 122
5.1.3 用於創建虛擬伺服器的API流程 124
5.1.4 虛擬伺服器的生命周期 129
5.1.5 元數據和用戶數據 130
5.1.6 鏡像的創建和共享 132
5.1.7 導入虛擬機鏡像 132
5.2 伺服器資源的內部架構 133
5.2.1 正式開始創建虛擬伺服器的流程 133
5.2.2 其他API的行為 136
5.2.3 操作伺服器資源時的注意事項 137
5.3 伺服器資源組件的總結 137
第6章 塊存儲資源的控制機制 139
6.1 塊存儲資源的基本操作與API 140
6.1.1 塊存儲資源 140
6.1.2 使用塊存儲的API 140
6.1.3 操作塊存儲的API的流程 142
6.1.4 卷類型 146
6.1.5 卷的容量 147
6.1.6 吞吐量、IOPS、SR-IOV 148
6.1.7 快照、備份、克隆 151
6.1.8 快照和鏡像的關係 153
6.2 塊存儲的內部結構 154
6.2.1 連線虛擬伺服器和存儲 154
6.2.2 不同基礎設施資源間的自主協調 155
6.2.3 在雲內部也能使用的API 157
6.3 操作存儲資源時的注意事項 158
6.4 塊存儲資源組件的總結 160
6.5 有關其他存儲功能的補充 162
第7章 網路資源管理的機制 163
7.1 網路資源的基本操作和API 164
7.1.1 雲網路的特性和基本思路 164
7.1.2 網路資源的全貌 166
7.1.3 虛擬交換機和子網 169
7.1.4 虛擬路由器 173
7.1.5 邏輯連線埠 176
7.1.6 安全組 178
7.1.7 網路訪問控制列表 183
7.2 網路資源的API操作 185
7.2.1 用於搭建網路的API的調用流程 185
7.2.2 用於將伺服器接入網路的API的流程 188
7.3 網路資源的內部結構 190
7.3.1 雲網路的隔離 190
7.4 網路資源組件的總結 195
7.4.1 網路資源的組件 195
7.4.2 雲網路和SDN 198
第8章 編配(基礎設施即代碼) 201
8.1 編配的基礎知識與模板的語法 202
8.1.1 編配與自動化的概要 202
8.1.2 編配功能中的資源集合的概念 207
8.1.3 使用API操作編配 208
8.1.4 模板的整體定義 210
8.1.5 資源 212
8.1.6 參數 215
8.1.7 輸出 215
8.1.8 驗證模板 216
8.1.9 模板的兼容性 217
8.1.10 執行中的狀態與故障排除 217
8.1.11 根據現有資源自動創建模板 219
8.1.12 模板的可視化 221
8.2 使用編配的好處、編配的使用方法及注意事項 222
8.2.1 環境搭建自動化帶來的好處 223
8.2.2 運維上的好處 224
8.2.3 通過復用模板來複製環境的好處 227
8.2.4 用編配實現持續集成的好處 228
8.2.5 配置管理、逆向工程上的好處 230
8.2.6 從面向動作到面向資源的轉換與設計模式 230
8.2.7 使用編配時的注意事項 231
8.2.8 棧與模板的最佳粒度與嵌套 233
8.2.9 編配的最佳實踐 235
8.3 編配的基本操作與API 235
8.3.1 編配API的行為 236
8.3.2 編配API的實際行為 236
8.4 編配資源的組件與總結 238
第9章 認證與安全 241
9.1 HTTPS協定 242
9.1.1 HTTPS協定的機制 242
9.1.2 證書 243
9.2 用戶、組、角色和策略 244
9.2.1 租戶 244
9.2.2 用戶 244
9.2.3 組 245
9.2.4 策略 246
9.2.5 認證密鑰、令牌 252
9.2.6 簽名 254
9.2.7 IAM角色、基於資源的策略 256
9.2.8 跨租戶的操作許可權 257
9.3 聯合身份驗證 259
9.4 認證資源組件的總結 260
第 10章 控制對象存儲的機制 263
10.1 對象存儲 264
10.1.1 從存儲類型來看對象存儲 264
10.1.2 對象存儲的內部結構與最佳使用方法 265
10.2 與對象存儲的基本操作相關的API 267
10.2.1 構成對象存儲的資源 267
10.2.2 操作賬戶與獲取存儲桶列表 268
10.2.3 創建存儲桶與存儲對象 269
10.2.4 修改存儲桶和對象的配置信息 271
10.2.5 獲取對象列表 274
10.2.6 複製對象 274
10.2.7 分段上傳 274
10.2.8 Amazon S3 CLI 275
10.3 變更對象存儲的配置與相關API 277
10.3.1 啟用 ACL 277
10.3.2 版本控制與生命周期 278
10.3.3 加密 279
10.3.4 網站功能 281
10.3.5 CORS 282
10.4 對象和API的關係 283
10.4.1 最終一致性 283
10.4.2 用 ETag確認對象 285
10.4.3 對象存儲與 REST API的關係 285
10.4.4 與冪等性的關係 286
10.5 對象存儲的內部結構 286
10.5.1 訪問層的架構 287
10.5.2 存儲節點的架構 288
10.5.3 讀操作和寫操作 289
10.5.4 分散式複製與最終一致性的關係 290
10.5.5 分區和時間戳的關係 291
10.5.6 前綴與分布的關係 292
10.6 對象存儲資源組件的總結 293
第 11章 多重雲 295
11.1 多重雲 296
11.1.1 配置多重雲的目的 296
11.1.2 多重雲的兼容性涉及哪些因素 297
11.1.3 設計多重雲時需要研討的事項 297
11.1.4 多重雲的模式 299
11.2 專用網路 301
11.2.1 BGP和AS 301
11.2.2 專線 302
11.2.3 互聯雲 306
11.2.4 網際網路VPN 307
11.3 CDN 308
11.3.1 從網際網路的機制來看CDN的基本架構 309
11.3.2 邊緣站點 310
11.3.3 源站 310
11.3.4 分配 311
11.3.5 快取行為 312
11.3.6 白名單、致歉頁面和自定義證書 313
11.3.7 雲私有網路 314
11.3.8 CDN中的快取控制機制 315
11.3.9 CDN的路由 316
11.3.10 CDN在多重雲中的作用 317
11.4 API的通信路徑和兼容性 317
11.4.1 API的通信路徑 317
11.4.2 API的兼容性 320
11.4.3 將環境與數據遷移到雲中的難易程度 324
11.5 軟體市場和生態系統 327
第 12章 不可變基礎設施 331
12.1 傳統的基礎設施搭建方法和其中存在的問題 332
12.1.1 傳統系統的生命周期 332
12.2 何為不可變基礎設施 334
12.2.1 貼合業務需求的系統生命周期 334
12.2.2 不可變基礎設施的生命周期 335
12.3 不可變基礎設施與基礎設施即代碼 337
12.4 藍綠部署 338
12.5 不可變基礎設施和應用程式架構 340
12.6 微服務和不可變基礎設施 342
12.7 容器虛擬化技術和不可變基礎設施 343
12.8 Docker和容器集群管理框架 345
12.8.1 構成 Docker的技術 345
12.8.2 Docker的生命周期 347
12.8.3 容器集群功能 348
12.9 總結 349
具有代表性的API 350
參考文獻 352
作者介紹 355
作者簡介
平山毅(作者)
畢業於日本東京理科大學理工學院,專業是計算機科學與統計學。曾在Amazon Web Services同時擔任架構師與顧問雙職。獲得過AWS Certified Solutions Architect-Professional和AWS Certified DevOps Engineer-Professional等多項技術認證。
中島倫明(作者)
2012年起開始擔任日本OpenStack用戶協會會長;2015年起擔任日本東京大學外聘講師。目前就職於伊藤忠技術解決方案公司,從事以開源軟體為主的新一代雲技術的開發與策劃工作。
中井悅司(作者)
技術指南與雜誌文章作者。就職於紅帽公司,致力於推進Linux和開源軟體在企業系統中的套用。
矢口悟志(作者)
工學博士,工商管理學碩士。2007年進入野村綜合研究所,任高級技術工程師和認證IT架構師。目前從事雲計算的研發和Amazon Web Services企業部署的業務開發工作。
森山京平(作者)
工學碩士。目前就職於日本惠普公司。作為惠普OpenStack產品Helion OpenStackProfessional Service的技術專家,為亞洲各國的網際網路與雲服務供應商實施OpenStack的整合,並為使用了OpenStack的laaS、PaaS雲服務提供支持。
元木顯弘(作者)
就職於日本電氣股份有限公司的OSS推進中心。作為OpenStack服務Neutron和Horizon的核心開發者,在開發工作之餘,運維著使用OpenStack搭建的私有雲,並為雲項目提供支持。
胡屹(譯者)
Web後端工程師、技術圖書譯者。已有《計算機是怎樣跑起來的》《自製搜尋引擎》等。