Serverless架構:無伺服器套用與AWS Lambda

Serverless架構:無伺服器套用與AWS Lambda

《Serverless架構:無伺服器套用與AWS Lambda》是2018年電子工業出版社出版的圖書,作者是【英】Peter Sbarski (彼得薩巴斯基)、【澳】Sam Kroonenburg(薩姆克魯內伯格)。

基本介紹

  • 書名:Serverless架構:無伺服器套用與AWS Lambda
  • 作者:【英】Peter Sbarski (彼得薩巴斯基),【澳】Sam Kroonenburg(薩姆克魯內伯格)
  • 譯者:覃宇,李源,羅麗
  • 出版社:電子工業出版社
  • 出版時間:2018年8月
  • 頁數:384 頁
  • 定價:108 元
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787121342684
編輯推薦,內容簡介,目錄,

編輯推薦

向無伺服器雲架構的轉變是大勢所趨。隨著無伺服器計算機技術(如 AWS Lambda)的發布,開發者正在構建大規模的完全無伺服器的平台。在這些新架構中,傳統的後端伺服器被雲函式所取代,這些函式充當著單一用途的分散的服務。通過將這些無伺服器的雲函式以一種鬆散的編排方式組合在⼀起,並採用有效的第三方服務,開發人員可以創建功能強大且易於理解的應⽤程式。
《Serverless架構:無伺服器套用與AWS Lambda》將教你如何構建、保護和管理無伺服器架構,為要求最苛刻的 Web 和移動應⽤提供⽀持。本書中現成的真實案例、代碼片段、圖表和架構描述都可以被輕鬆地應⽤,來幫助你快速完成任務。最終,你將能夠在 AWS 上設計和構建自己的無伺服器應⽤程式。本書內容包括:
√ 無伺服器計算的初始步驟
√ 重要的設計模式和架構
√ 編寫 AWS Lambda 函式並使用 API Gateway
√ 使用像 Auth0 和 Firebase 這樣的關鍵服務來組合無伺服器應用程式
√ 保護、部署和管理無伺服器架構

內容簡介

無伺服器是軟體架構世界中的熱門新話題,它充分利用大量的雲平台服務,讓開發者只需關注核心業務邏輯的實現。同時,它按需分配和使用資源的運行方式,在降低基礎設施成本的同時還能獲得強大的彈性。
《Serverless架構:無伺服器套用與AWS Lambda》的作者Peter Sbarski 是最早完全擁抱無伺服器架構的開發者之一,他將自己在套用無伺服器架構中獲得的寶貴經驗總結成本書,呈現給廣大的讀者。更難能可貴的是,全書貫穿了AWS Lambda 實例和大量相關的練習。讀者一邊閱讀,一邊動手完成練習,就可以循序漸進地掌握無伺服器架構的核心技術。無論你是軟體開發新手,還是架構師老兵,《Serverless架構:無伺服器套用與AWS Lambda》都是不可多得的了解無伺服器架構的絕佳讀物。

目錄

序一 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

相關詞條

熱門詞條

聯絡我們