注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計Serverless學習手冊

Serverless學習手冊

Serverless學習手冊

定 價:¥78.00

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

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

內容簡介

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

作者簡介

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

本目錄推薦

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