定 價:¥69.00
作 者: | 陳耿 |
出版社: | 機械工業(yè)出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787111613473 | 出版時間: | 2018-12-01 | 包裝: | 平裝 |
開本: | 16開 | 頁數(shù): | 字數(shù): |
前言
第1章 Serverless基礎(chǔ)1
1.1 什么是Serverless1
1.2 Serverless帶來的價值3
1.3 Serverless的技術(shù)實現(xiàn)4
1.3.1 理念與實現(xiàn)4
1.3.2 FaaS與BaaS5
1.4 Serverless應(yīng)用架構(gòu)7
1.4.1 傳統(tǒng)應(yīng)用架構(gòu)7
1.4.2 Serverless應(yīng)用架構(gòu)7
1.4.3 兩種架構(gòu)的比較8
1.5 Serverless的技術(shù)特點9
1.6 Serverless的應(yīng)用場景11
1.7 Serverless的局限12
1.8 本章小結(jié)13
第2章 Serverless與相關(guān)技術(shù)15
2.1 云計算15
2.1.1 從私有數(shù)據(jù)中心到云15
2.1.2 IaaS、PaaS與SaaS16
2.1.3 Serverless與云計算17
2.2 微服務(wù)18
2.2.1 從SOA到微服務(wù)18
2.2.2 微服務(wù)的價值與挑戰(zhàn)19
2.2.3 Serverless與微服務(wù)19
2.3 容器20
2.3.1 容器技術(shù)的興起20
2.3.2 Serverless與容器21
2.4 PaaS22
2.4.1 以應(yīng)用為中心22
2.4.2 Serverless與PaaS23
2.5 FaaS24
2.5.1 Serverless實現(xiàn)的基礎(chǔ)24
2.5.2 FaaS的架構(gòu)24
2.5.3 函數(shù)的生命周期25
2.5.4 函數(shù)工作流26
2.6 BaaS26
2.6.1 BaaS的價值26
2.6.2 廣義的Serverless27
2.7 NoOps27
2.7.1 無人運維嗎27
2.7.2 “無服務(wù)器”與“無人運維”28
2.8 DevOps28
2.9 云原生應(yīng)用29
2.9.1 因云而生29
2.9.2 Serverless與Cloud Native29
2.10 本章小結(jié)30
第3章 Serverless的實現(xiàn)31
3.1 Serverless技術(shù)的發(fā)展31
3.2 Serverless與公有云33
3.2.1 Amazon Web Services34
3.2.2 Microsoft Azure36
3.2.3 Google Cloud Platform38
3.2.4 Webtask39
3.2.5 Hyper.sh39
3.2.6 阿里云40
3.2.7 騰訊云42
3.2.8 小結(jié)43
3.3 Serverless與私有化部署43
3.3.1 OpenWhisk43
3.3.2 Fission44
3.3.3 Kubeless45
3.3.4 OpenFaaS45
3.3.5 Fn47
3.3.6 小結(jié)48
3.4 Serverless框架和工具49
3.4.1 Serverless Framework49
3.4.2 Chalice50
3.4.3 Claudia.js50
3.4.4 Apex51
3.4.5 Spring Cloud Function51
3.4.6 AWS SAM52
3.4.7 小結(jié)53
3.5 Serverless后臺服務(wù)53
3.6 本章小結(jié)54
第4章 AWS Lambda55
4.1 AWS55
4.2 AWS Serverless56
4.3 AWS Lambda概述57
4.4 第一個Serverless應(yīng)用58
4.4.1 獲取AWS賬號58
4.4.2 AWS Lambda控制面板59
4.4.3 創(chuàng)建函數(shù)61
4.4.4 編輯函數(shù)62
4.4.5 測試函數(shù)63
4.4.6 外部訪問63
4.4.7 運維監(jiān)控66
4.4.8 回顧66
4.5 權(quán)限控制66
4.5.1 IAM67
4.5.2 策略68
4.5.3 角色68
4.6 編程模型69
4.6.1 代碼開發(fā)69
4.6.2 Handler70
4.6.3 執(zhí)行上下文70
4.6.4 日志輸出71
4.6.5 異常處理72
4.6.6 無狀態(tài)72
4.7 事件驅(qū)動73
4.7.1 事件源73
4.7.2 觸發(fā)模式74
4.8 日志監(jiān)控75
4.9 開發(fā)輔助77
4.9.1 環(huán)境變量77
4.9.2 標簽77
4.9.3 版本控制78
4.10 運行限制78
4.10.1 資源限制79
4.10.2 并發(fā)控制79
4.11 配置與部署79
4.12 本章小結(jié)81
第5章 Azure Functions83
5.1 Microsoft Azure83
5.2 Azure Functions概述85
5.3 創(chuàng)建Azure Serverless應(yīng)用86
5.3.1 注冊Azure賬號86
5.3.2 Azure控制臺87
5.3.3 函數(shù)應(yīng)用88
5.3.4 創(chuàng)建函數(shù)90
5.3.5 調(diào)用函數(shù)92
5.3.6 日志與監(jiān)控93
5.4 Azure Functions命令行95
5.4.1 安裝命令行95
5.4.2 創(chuàng)建本地函數(shù)96
5.4.3 測試本地函數(shù)97
5.4.4 發(fā)布至公有云98
5.5 深入了解Azure Functions99
5.5.1 函數(shù)應(yīng)用設(shè)置99
5.5.2 Trigger與Bindings101
5.5.3 函數(shù)代理103
5.5.4 Slot104
5.6 私有云部署105
5.7 本章小結(jié)107
第6章 容器技術(shù)基礎(chǔ)108
6.1 什么是容器108
6.1.1 容器109
6.1.2 容器鏡像110
6.1.3 鏡像倉庫110
6.1.4 容器編排111
6.1.5 容器與Serverless111
6.2 Docker111
6.2.1 Vagrant111
6.2.2 VirtualBox112
6.2.3 安裝Docker113
6.2.4 運行容器114
6.2.5 構(gòu)建容器鏡像116
6.2.6 分享鏡像117
6.3 Kubernetes基礎(chǔ)118
6.3.1 命名空間120
6.3.2 Pod120
6.3.3 Service120
6.3.4 Deployment120
6.3.5 ReplicaSet121
6.3.6 網(wǎng)絡(luò)121
6.3.7 Ingress121
6.3.8 交互工具122
6.4 構(gòu)建Kubernetes環(huán)境122
6.4.1 啟動Vagrant Box123
6.4.2 修改默認域124
6.5 Kubernetes實戰(zhàn)124
6.5.1 部署容器124
6.5.2 彈性擴展126
6.5.3 服務(wù)發(fā)現(xiàn)127
6.5.4 資源組織128
6.5.5 容器調(diào)度129
6.6 本章小結(jié)131
第7章 OpenWhisk132
7.1 OpenWhisk項目132
7.2 Hello Whisk133
7.3 邏輯架構(gòu)135
7.3.1 Namespace136
7.3.2 Package136
7.3.3 Action137
7.3.4 Feed141
7.3.5 Trigger141
7.3.6 Rule142
7.4 系統(tǒng)架構(gòu)143
7.5 Kubernetes部署146
7.5.1 準備Kubernetes集群146
7.5.2 集群基礎(chǔ)設(shè)置146
7.5.3 創(chuàng)建訪問入口149
7.5.4 部署組件149
7.5.5 加載系統(tǒng)配置153
7.5.6 測試集群153
7.5.7 刪除集群154
7.6 Helm部署155
7.6.1 安裝Helm155
7.6.2 環(huán)境配置155
7.6.3 部署Chart156
7.6.4 管理應(yīng)用156
7.7 蛋糕管理服務(wù)156
7.7.1 開發(fā)環(huán)境157
7.7.2 準備數(shù)據(jù)庫157
7.7.3 定義Action157
7.7.4 創(chuàng)建Package159
7.7.5 部署Action160
7.7.6 發(fā)布API161
7.8 本章小結(jié)162
第8章 Kubeless163
8.1 Kubeless項目163
8.1.1 系統(tǒng)架構(gòu)164
8.1.2 運行時165
8.2 Kubeless概述165
8.2.1 部署Kubeless165
8.2.2 配置客戶端166
8.2.3 部署函數(shù)167
8.2.4 Kubeless UI168
8.3 Function169
8.3.1 函數(shù)部署170
8.3.2 函數(shù)調(diào)用172
8.3.3 資源限制172
8.3.4 自動擴展173
8.4 Trigger173
8.4.1 HTTP Trigger173
8.4.2 Cronjob Trigger175
8.4.3 Kafka Trigger175
8.4.4 NATS Trigger178
8.5 本章小結(jié)179
第9章 Fission180
9.1 Fission項目180
9.1.1 邏輯架構(gòu)180
9.1.2 系統(tǒng)架構(gòu)181
9.2 部署Fission182
9.2.1 安裝Helm182
9.2.2 部署Fission Chart182
9.2.3 命令行工具183
9.2.4 Hello Fission183
9.3 深入探討Fission184
9.3.1 Environment185
9.3.2 Function187
9.3.3 Package188
9.3.4 Trigger191
9.4 執(zhí)行模式192
9.4.1 Poolbased模式192
9.4.2 New Deploy模式193
9.5 Workflows194
9.5.1 Workflows定義194
9.5.2 配置Workflows195
9.5.3 Fortune Whale195
9.6 本章小結(jié)197
第10章 OpenFaaS199
10.1 OpenFaaS項目199
10.1.1 OpenFaaS社區(qū)200
10.1.2 系統(tǒng)架構(gòu)200
10.2 初識OpenFaaS200
10.2.1 部署組件201
10.2.2 命令行工具202
10.2.3 創(chuàng)建函數(shù)202
10.2.4 圖形界面203
10.3 OpenFaaS函數(shù)203
10.3.1 抽象方式203
10.3.2 函數(shù)模板204
10.3.3 創(chuàng)建函數(shù)205
10.3.4 構(gòu)建函數(shù)206
10.3.5 推送鏡像207
10.3.6 部署函數(shù)207
10.4 Watchdog208
10.4.1 工作原理208
10.4.2 配置Watchdog209
10.4.3 ofwatchdog210
10.5 監(jiān)控210
10.5.1 監(jiān)控指標210
10.5.2 監(jiān)控面板210
10.5.3 監(jiān)控預(yù)警213
10.6 彈性擴展214
10.6.1 基于Alertmanager擴展214
10.6.2 基于HPA擴展215
10.7 函數(shù)應(yīng)用市場215
10.8 本章小結(jié)217
第11章 Serverless的落地與展望218
11.1 Serverless的落地218
11.2 Serverless平臺建設(shè)219
11.2.1 公有云219
11.2.2 私有云220
11.2.3 混合云220
11.3 Serverless應(yīng)用架構(gòu)轉(zhuǎn)型223
11.3.1 開發(fā)模式223
11.3.2 設(shè)計原則225
11.3.3 遷移與重構(gòu)226
11.4 Serverless的未來227
11.4.1 建立行業(yè)規(guī)范228
11.4.2 完善工具鏈229
11.4.3 深入結(jié)合容器229
11.5 本章小結(jié)230
后記232