注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計Serverless學(xué)習(xí)手冊

Serverless學(xué)習(xí)手冊

Serverless學(xué)習(xí)手冊

定 價:¥78.00

作 者: [美]杰森 卡茨(Jason Katzer)
出版社: 中國電力出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787519876982 出版時間: 2023-05-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  本書的主要內(nèi)容有:生產(chǎn)路徑。檢查分布式系統(tǒng)、微服務(wù)、接口和Serverless體系結(jié)構(gòu)和模式的進(jìn)出情況。工具。深入研究監(jiān)控、可監(jiān)控性和警報、日志記錄、流水線、自動化和部署。概念。學(xué)習(xí)如何設(shè)計安全性和隱私性,如何通過測試和模擬系統(tǒng)來管理質(zhì)量,以及如何為失敗做計劃。

作者簡介

  Jason Katzer是CloudPro.app的創(chuàng)造者。這是一個為云計算創(chuàng)造生產(chǎn)力的工具。他也提供serverless架構(gòu)設(shè)計和更經(jīng)濟(jì)使用云系統(tǒng)的顧問服務(wù)。在Capital One收購Paribus后,他擔(dān)任Capital One的軟件工程部門總監(jiān),并曾經(jīng)擔(dān)任Blink健康公司的工程部門總監(jiān)。Jason是一個連續(xù)的企業(yè)家和天使投資人,他創(chuàng)立并參與了許多新的企業(yè)。

圖書目錄

目錄
前言 .1
第0 章 Serverless 介紹 7
0.1 什么是Serverless? .8
0.1.1 Serverless 的歷史 .9
0.1.2 云服務(wù)提供商概況 . 10
0.1.3 可靠性,可用性,災(zāi)難恢復(fù) . 11
0.2 Serverless 的優(yōu)勢 . 12
0.2.1 增加的可伸縮性、安全性和可靠性 13
0.2.2 只支付你使用的東西 13
0.2.3 節(jié)省管理服務(wù)器的時間和金錢 13
0.2.4 提高開發(fā)人員的生產(chǎn)力 14
0.2.5 降低管理職責(zé) 14
0.2.6 集成的便利 15
0.3 Serverless 的弱點(diǎn) . 15
0.3.1 冷(啟動)戰(zhàn) 16
0.3.2 計算時間. 16
0.3.3 VPC/ 網(wǎng)絡(luò)問題 17
0.3.4 應(yīng)用程序的大小 . 17
0.3.5 可能會更貴 17
0.3.6 廠商鎖定. 18
0.3.7 復(fù)雜的調(diào)試 19
0.4 什么時候使用Serverless 有意義? . 19
0.5 Serverless 的計算機(jī)什么時候不適合你? 21
0.6 讓我們開始 . 22
部分 生產(chǎn)之路 .23
第1 章 分布式系統(tǒng) .25
1.1 什么是分布式系統(tǒng)? . 25
1.2 為什么我們需要一個分布式系統(tǒng)? 27
1.3 分布式系統(tǒng)的嚴(yán)酷現(xiàn)實(shí) 27
1.3.1 物理世界. 28
1.3.2 失蹤的消息 29
1.3.3 不可靠的時鐘 30
1.3.4 級聯(lián)故障. 31
1.3.5 更新產(chǎn)生的意外 . 32
1.3.6 冪等性 . 32
1.4 我負(fù)責(zé)什么? 33
1.5 在設(shè)計分布式系統(tǒng)時,你需要考慮哪些? 34
1.5.1 松耦合(或解耦) . 34
1.5.2 容錯 35
1.5.3 生成的(主)鍵 35
1.5.4 規(guī)劃冪等性 36
1.5.5 兩階段的更新 36
1.6 延伸閱讀 37
1.7 結(jié)論 38
第2 章 微服務(wù) 39
2.1 為什么要使用微服務(wù)? 40
2.1.1 提高開發(fā)速度 40
2.1.2 增加開發(fā)人員的自由 41
2.2 微服務(wù)的問題 42
2.2.1 增加了復(fù)雜性 43
2.2.2 需要適當(dāng)?shù)腄evOps 實(shí)踐和資源 43
2.2.3 本地開發(fā)和測試的挑戰(zhàn) 44
2.3 如何有效地使用微服務(wù)? 45
2.3.1 一致的接口 45
2.3.2 松散耦合. 46
2.4 微服務(wù)有多微??? 47
2.5 選擇單體應(yīng)用還是微服務(wù) 48
2.5.1 什么時候應(yīng)該使用單體應(yīng)用? 49
2.5.2 什么時候需要使用微服務(wù)? . 51
2.6 結(jié)論 52
第3 章 Serverless 架構(gòu)和模式 53
3.1 架構(gòu)師的角色 54
3.2 要成為一名架構(gòu)師,你需要知道哪些? . 55
3.3 決策 55
3.3.1 什么樣的決策? . 56
3.3.2 記錄你的決策 57
3.3.3 我們?nèi)绾巫鰶Q策? . 57
3.3.4 我們什么時候做決策? 58
3.4 云服務(wù)提供商組件 59
3.4.1 流 60
3.4.2 隊(duì)列 60
3.4.3 桶 61
3.4.4 計算 62
3.4.5 數(shù)據(jù)存儲. 62
3.4.6 身份認(rèn)證服務(wù) 63
3.4.7 API 網(wǎng)關(guān) . 64
3.4.8 GraphQL . 64
3.4.9 網(wǎng)絡(luò) 64
3.4.10 狀態(tài)機(jī) 65
3.4.11 日志記錄 65
3.4.12 監(jiān)測和報警 . 66
3.5 來自云服務(wù)提供商的事件 67
3.6 模式 68
3.6.1 示例1:Serverless 單體應(yīng)用 69
3.6.2 示例2:傳入Webhook 69
3.6.3 示例3:使用云服務(wù)提供商進(jìn)行用戶身份驗(yàn)證 70
3.6.4 示例4:通用的后臺任務(wù)模式 . 71
3.6.5 示例5:流提取、轉(zhuǎn)換、加載 . 71
3.6.6 示例6:創(chuàng)建自己的輪詢集成 . 72
3.6.7 示例7:處理文件和圖像 72
3.6.8 示例8:遷移服務(wù)模式 73
3.6.9 示例9:散開 74
3.7 結(jié)論 75
第4 章 接口 77
4.1 接口:需要一些組裝 . 78
4.1.1 消息 78
4.1.2 協(xié)議 78
4.1.3 約定 79
4.2 Serverless 接口 . 79
4.2.1 自動重試和死信隊(duì)列 80
4.2.2 有限與無限規(guī)模 . 81
4.3 設(shè)計接口 81
4.3.1 消息/ 載荷 . 82
4.3.2 會話和用戶/ 身份驗(yàn)證 83
4.3.3 避免無約束的請求 . 83
4.3.4 接口與實(shí)現(xiàn) 84
4.3.5 帶邏輯的線 85
4.4 設(shè)計不愉快的路徑 86
4.4.1 驗(yàn)證輸入. 86
4.4.2 失敗 86
4.5 與其他服務(wù)集成的策略 89
4.5.1 超時 89
4.5.2 重試 90
4.5.3 指數(shù)補(bǔ)償. 90
4.5.4 網(wǎng)絡(luò)鉤子. 91
4.5.5 評估外部服務(wù) 92
4.5.6 速度限制. 93
4.6 結(jié)論 93
第二部分 工具 95
第5 章 Serverless 框架 97
5.1 為什么使用Serverless 框架? 98
5.2 什么時候Serverless 框架不適合你 100
5.2.1 AWS 是的一等公民 100
5.2.2 AWS 的云服務(wù)模板也并不完美 100
5.2.3 你的基礎(chǔ)設(shè)施依賴陌生人 101
5.3 開始之前你需要知道些什么 102
5.3.1 YAML 102
5.3.2 Node.js 104
5.3.3 云資源和權(quán)限 104
5.3.4 基礎(chǔ)架構(gòu)模板 106
5.3.5 生產(chǎn)的機(jī)密 . 106
5.3.6 .gitignore 文件 107
5.4 serverless.yml 文件的組成 107
5.4.1 提供者 108
5.4.2 環(huán)境 109
5.4.3 函數(shù) 110
5.4.4 資源 111
5.4.5 包 . 111
5.4.6 插件 112
5.4.7 自定義 113
5.4.8 用于健全和安全的命名空間 114
5.5 使用Serverless 命令 114
5.5.1 安裝Serverless . 114
5.5.2 使用憑證設(shè)置Serverless . 115
5.5.3 使用Serverless install 拉入模板 116
5.5.4 檢查示例項(xiàng)目的包(里面有什么) 116
5.5.5 部署 117
5.5.6 調(diào)用函數(shù),并查看日志 117
5.5.7 回滾 118
5.5.8 銷毀服務(wù) 118
5.5.9 部署軟件包 . 119
5.6 現(xiàn)實(shí)世界serverless.yml . 119
5.6.1 設(shè)置環(huán)境變量 120
5.6.2 修改權(quán)限 120
5.7 結(jié)論 . 121
第6 章 監(jiān)控、可觀察性和警報 123
6.1 監(jiān)控是什么? . 123
6.1.1 我們?yōu)槭裁葱枰O(jiān)控? 124
6.1.2 監(jiān)控與Serverless 有什么關(guān)系? . 125
6.1.3 自動化的入口 125
6.2 我有什么選擇? 126
6.2.1 托管SaaS 產(chǎn)品 . 126
6.2.2 自托管和開放源碼 127
6.3 監(jiān)控的組成部分 128
6.3.1 監(jiān)控指標(biāo) 128
6.3.2 圖表和圖形 . 132
6.3.3 儀表板 133
6.3.4 警報/ 警告 134
6.4 選擇先進(jìn)的實(shí)踐 136
6.4.1 心跳 136
6.4.2 冒煙測試和/ 或金絲雀 . 137
6.4.3 世界上重要的度量標(biāo)準(zhǔn) 137
6.4.4 避免廠商鎖定 139
6.4.5 隨著時間的推移清除度量和警報 140
6.5 結(jié)論 . 140
第7 章 日志 141
7.1 日志是什么? . 142
7.2 為什么需要日志? 143
7.3 何時依賴日志而不是監(jiān)控指標(biāo) 144
7.4 應(yīng)該記錄什么? 145
7.5 你不應(yīng)該記錄什么? 147
7.6 日志是如何工作的? 148
7.6.1 確保你的日志可伸縮 . 149
7.6.2 結(jié)構(gòu)化的日志 150
7.6.3 更有效的日志調(diào)試 150
7.6.4 搜索日志 151
7.6.5 異常日志(Sentry) 151
7.7 收集其他日志 . 152
7.8 合規(guī) . 153
7.9 分布式跟蹤 154
7.10 加密日志以保證隱私和遵從性 154
7.11 那么你應(yīng)該怎么做呢? 154
7.11.1 只加密敏感字段的值 155
7.11.2 加密整個日志語句 155
7.12 結(jié)論 156
第8 章 變更、自動化和部署流水線 157
8.1 應(yīng)對變化 158
8.2 自動化的作用 . 158
8.3 使你的代碼為部署到生產(chǎn)系統(tǒng)做好準(zhǔn)備 160
8.4 基礎(chǔ)設(shè)施即代碼 161
8.5 數(shù)據(jù)庫更改(遷移) 163
8.6 配置管理 164
8.7 什么是流水線? 164
8.8 關(guān)于流水線的決策 165
8.9 金絲雀和藍(lán)/ 綠部署 166
8.10 為什么需要流水線? 168
8.11 部署流水線的關(guān)鍵階段 168
8.11.1 步驟1:執(zhí)行標(biāo)準(zhǔn) . 169
8.11.2 步驟2:構(gòu)建和打包 169
8.11.3 步驟3:測試 170
8.11.4 步驟4:發(fā)布Artifact . 170
8.11.5 步驟5:部署到目標(biāo)環(huán)境 171
8.11.6 步驟6:驗(yàn)證部署 . 171
8.11.7 步驟7:必要時(可能)回滾 172
8.12 流水線故障處理 172
8.13 結(jié)論 173
第三部分 概念 175
第9 章 安全性、權(quán)限和隱私 . 177
9.1 每個人都有責(zé)任,但你尤其有責(zé)任 . 179
9.2 做好被黑的準(zhǔn)備 180
9.2.1 了解你的威脅和攻擊者 181
9.2.2 設(shè)計的安全 . 181
9.3 限制,跟蹤和審查所有秘密和訪問 . 183
9.4 準(zhǔn)備更新 185
9.4.1 深度防御 186
9.4.2 限制爆炸半徑 187
9.4.3 信任,但要核查 188
9.5 驗(yàn)證所有用戶輸入并對設(shè)置重復(fù)檢查 190
9.5.1 監(jiān)控系統(tǒng)中的異常情況 192
9.5.2 測試你的安全 192
9.5.3 仔細(xì)選擇依賴項(xiàng)并保持軟件的 193
9.5.4 優(yōu)先保護(hù)你的數(shù)據(jù)和客戶數(shù)據(jù)的隱私 195
9.5.5 不要干擾生產(chǎn) 196
9.6 確保你的電腦安全 197
9.7 繼續(xù)學(xué)習(xí) 197
9.8 結(jié)論 . 198
第10 章 質(zhì)量、測試和模擬 201
10.1 代碼質(zhì)量的作用 202
10.1.1 代碼風(fēng)格 203
10.1.2 代碼校驗(yàn) 204
10.2 測試 206
10.2.1 測試什么,不測試什么 . 207
10.2.2 測試類型 207
10.2.3 代碼覆蓋率 212
10.2.4 加強(qiáng)你的測試 . 214
10.3 模擬 214
10.4 結(jié)論 218
第11 章 為失敗做計劃 219
11.1 簡介:理解它,即使你不能管理它 219
11.2 識別風(fēng)險 . 221
11.3 做好準(zhǔn)備 . 222
11.4 做一個運(yùn)行手冊 223
11.5 計劃宕機(jī) . 225
11.6 監(jiān)控你的云服務(wù)提供商 226
11.7 了解你的(服務(wù))限制 227
11.8 結(jié)論 228
第12 章 總結(jié) . 229
12.1 在供應(yīng)商之間做取舍 230
12.2 社區(qū) 231
12.3 尋求其他人的建議 . 232
12.4 陷入困境時該如何做 233
12.5 邁出職業(yè)生涯的下一步 233

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號