序一 XIII
序二 XV
前言 XVII
緻謝 XIX
關於本書 XXI
關於作者 XXIII
關於封麵 XXIV
第 1 部分..踏上徵途 1
1 ..無服務器初探 3
1.1 來龍去脈 4
1.1.1 麵嚮服務的架構與微服務 5
1.1.2 軟件設計 6
1.2 無服務器架構原則 9
1.2.1 根據需要使用計算服務執行代碼 9
1.2.2 編寫單一用途的無狀態函數 10
1.2.3 設計基於推送的、事件驅動的管道 10
1.2.4 創建更厚、更強大的前端 11
1.2.5 擁抱第三方服務 12
1.3 從服務器過渡到服務 12
1.4 無服務器的利與弊 13
1.4.1 決策驅動因素 13
1.4.2 什麼時候使用無服務器 14
1.5 本章小結 15
2 架構與模式 17
2.1 使用場景 17
2.1.1 應用程序後端 18
2.1.2 數據處理與操作 18
2.1.3 實時分析 19
2.1.4 遺留 API 代理 19
2.1.5 計劃服務 19
2.1.6 機器人(Bot)和技能(Skill) 20
2.2 架構 20
2.2.1 計算即後端 20
2.2.2 遺留 API 代理 25
2.2.3 混閤 26
2.2.4 GraphQL 28
2.2.5 計算即膠水 29
2.2.6 實時處理 31
2.3 模式 32
2.3.1 命令模式 32
2.3.2 消息傳輸模式 33
2.3.3 優先級隊列模式 35
2.3.4 扇齣模式 36
2.3.5 管道和過濾器模式 37
2.4 本章小結 38
3 ..建立無服務器應用程序 39
3.1 24 小時視頻 40
3.1.1 總體需求 41
3.1.2 Amazon Web Services(AWS) 42
3.1.3 創建第一個 Lambda 函數 44
3.1.4 命名你的 Lambda 46
3.1.5 本地測試 47
3.1.6 部署到 AWS 48
3.1.7 連接 S3 和 Lambda 50
3.1.8 在 AWS 中測試 51
3.1.9 觀察日誌 53
3.2 配置 Simple Notification Service 54
3.2.1 連接 SNS 和 S3 55
3.2.2 從 SNS 接收電子郵件 58
3.2.3 測試 SNS 58
3.3 設置視頻權限 58
3.3.1 創建第二個函數 58
3.3.2 配置與安全 59
3.3.3 測試第二個函數 60
3.4 生成元數據 61
創建第三個函數和 FFprobe 61
3.5 收尾 64
3.6 練習 66
3.7 本章小結 67
4 ..設置你的雲服務 69
4.1 安全模型和身份管理 70
4.1.1 創建和管理 IAM 用戶 70
4.1.2 創建 IAM 組 73
4.1.3 創建角色 76
4.1.4 資源 77
4.1.5 權限和策略 77
4.2 日誌與警報 79
4.2.1 設置日誌 80
4.2.2 日誌保留期 81
4.2.3 篩選器、指標和警報 81
4.2.4 搜索日誌數據 83
4.2.5 S3 和日誌 83
4.2.6 關於警報的更多操作 84
4.2.7 CloudTrail 88
4.3 成本 90
4.3.1 創建賬單提醒 91
4.3.2 監控和優化成本 92
4.3.3 使用 Simple Monthly Calculator 93
4.3.4 計算 Lambda 和 API Gateway 的成本 94
4.4 練習 96
4.5 本章小結 97
第 2 部分..深入核心 99
5 ..身份認證和授權 101
5.1 無服務器環境中的身份認證 101
5.1.1 無服務器方法 102
5.1.2 Amazon Cognito 104
5.1.3 Auth0 105
5.2 為 24 小時視頻增加身份認證 106
5.2.1 計劃 106
5.2.2 直接調用 Lambda 107
5.2.3 24 小時視頻網站 108
5.2.4 Auth0 配置 110
5.2.5 在網站中加入 Auth0 113
5.2.6 測試 Auth0 的集成 118
5.3 與 AWS 集成 119
5.3.1 用戶信息 Lambda 120
5.3.2 API Gateway 124
5.3.3 映射 126
5.3.4 通過 API Gateway 調用 Lambda 130
5.3.5 自定義授權方 130
5.4 委托令牌 135
5.4.1 真實案例 136
5.4.2 開通委托令牌 136
5.5 練習 137
5.6 本章小結 137
6 ..編排者 Lambda 139
6.1 Lambda 內幕 139
6.1.1 事件模型和源 140
6.1.2 推送和拉取事件模型 141
6.1.3 並發執行 142
6.1.4 容器重用 143
6.1.5 冷 Lambda 和暖 Lambda 143
6.2 編程模型 145
6.2.1 函數處理程序 145
6.2.2 事件對象 145
6.2.3 上下文對象 147
6.2.4 迴調函數 147
6.2.5 日誌 148
6.3 版本管理、彆名和環境變量 148
6.3.1 版本管理 148
6.3.2 彆名 150
6.3.3 環境變量 152
6.4 使用命令行界麵(CLI) 154
6.4.1 調用命令 155
6.4.2 創建和部署函數 155
6.5 Lambda 模式 157
6.5.1 異步瀑布 158
6.5.2 序列與並行 163
6.5.3 使用庫 164
6.5.4 把邏輯移到另一個文件中 167
6.6 測試 Lambda 函數 167
6.6.1 在本地測試 167
6.6.2 編寫測試 168
6.6.3 在 AWS 中測試 171
6.7 練習 173
6.8 本章小結 173
7 ..API.Gateway 175
7.1 作為接口的 API Gateway 176
7.1.1 和 AWS 服務集成 177
7.1.2 緩存、限製與日誌 177
7.1.3 階段和版本管理 178
7.1.4 腳本 178
7.2 使用 API Gateway 178
7.2.1 計劃 180
7.2.2 創建資源和方法 181
7.2.3 配置方法執行 185
7.2.4 Lambda 函數 187
7.2.5 更新網站 191
7.3 優化網關 194
7.3.1 限製 194
7.3.2 日誌 197
7.3.3 緩存 199
7.4 階段和版本管理 202
7.4.1 創建階段變量 202
7.4.2 使用階段變量 203
7.4.3 版本管理 205
7.5 練習 205
7.6 本章小結 206
第 3 部分..拓展架構 207
8 ..存儲 209
8.1 更智能的存儲 209
8.1.1 版本控製 210
8.1.2 托管靜態網站 212
8.1.3 存儲類彆 214
8.1.4 對象生命周期管理 216
8.1.5 轉移加速 217
8.1.6 事件通知 219
8.2 安全上傳 220
8.2.1 架構 221
8.2.2 上傳策略 Lambda 222
8.2.3 S3 CORS 配置 228
8.2.4 在網站中上傳 228
8.3 限製對文件的訪問 233
8.3.1 禁止公開訪問 233
8.3.2 生成預簽名 URL 233
8.4 練習 234
8.5 本章小結 235
9 ..數據庫 237
9.1 Firebase 簡介 238
9.1.1 數據結構 238
9.1.2 安全規則 240
9.2 為 24 小時視頻添加 Firebase 241
9.2.1 架構 242
9.2.2 設置 Firebase 243
9.2.3 修改轉碼視頻 Lambda 245
9.2.4 Transcode Video Firebase Update 函數 250
9.2.5 連接 Lambda 251
9.2.6 網站 253
9.2.7 端到端測試 258
9.3 安全訪問文件 259
9.3.1 簽名 URL Lambda 260
9.3.2 API Gateway 設置 261
9.3.3 再次更新網站 262
9.3.4 提升性能 262
9.3.5 提升 Firebase 安全性 265
9.4 練習 270
9.5 本章小結 270
10 ..最後一英裏 271
10.1 部署與框架 271
10.2 邁嚮更好的微服務 272
10.3 Step Functions 277
10.4 AWS Marketplace 283
10.5 未來之路 285
A ..為無服務器架構而生的服務 287
B ..安裝和設置 293
C ..身份認證和授權的更多信息 305
D ..再探 Lambda 內幕 311
E ..模型和映射 317
F ..S3 事件消息結構 335
G ..Serverless.Framework 和 SAM 337
· · · · · · (
收起)