[套装书]Serverless工程实践:从入门到进阶+Serverless从入门到进阶:架构、原理与实践(2册)

作者
刘宇 方坤丁 孙远高
丛书名
出版社
机械工业出版社
ISBN
9782107241155
简要
简介
内容简介书籍计算机书籍 ---------------------------8082479 - Serverless工程实践:从入门到进阶--------------------------- 本书是一本关于Serverless架构从原理、入门到实战的技术书籍,本书通过多个开源项目(包括不限于Knative、OpenWhisk、Kubeless等)、多个云厂商的多款云产品(包括不限于阿里云函数计算、阿里云Serverless工作流、腾讯云云函数、华为云函数工作流、百度智能云函数计算、AWS Lambda、Google Cloud Platform Functions等),通过多种途径向读者介绍什么是Serverless架构、如何上手Serverless架构、不同领域中Serverless架构的应用以及如何从零开发一个Serverless应用等,希望读者通过对本书的阅读,可以对Serverless架构有一个更加全面、直观地了解,可以通过本书的抛砖引玉,帮助读者将Serverless项目真实落地,将Serverless架构融入到自己所在的领域,获得Serverless架构带来的技术红利。 ---------------------------8081292 - Serverless从入门到进阶:架构、原理与实践--------------------------- 内容简介 这是一本从产品和技术两个维度全面讲解Serverless的著作,涵盖Serverless的架构设计、技术原理、开发流程、实战案例等4大核心主题。作者是腾讯云Serverless的高级产品经理和高级研发工程师,从零开始参与了腾讯云Serverless项目的建设。 全书共15章,内容从逻辑上可分为五个部分: 第1部分(第1章) Serverless基础 主要介绍了Serverless的概念、发展历程、基本特点、应用场景、框架和生态,以及它为开发者、企业和云计算带来的作用和优势。 第二部分(第2~4章) Serverless架构和原理 首先介绍了Serverless的整体架构,以及其中的FaaS架构和BaaS架构,然后深入分析了FaaS层好BaaS层的底层原理。 第三部分(第5~9章) Serverless开发流程 . 从上下游生态的视角讲解了如何开发和部署一个完整的Serverless应用,包括开发、调试、测试、部署、CI/CD、运维等全生命周期的各个环节。 第四部分(第10~14章) Serverless实战案例 涵盖了Serverless的典型应用场景并提供丰富的实战案例和Z佳实践,包括如何将传统的Web服务迁移到Serverless架构、Serverless SSR应用场景、全栈后台管理系统和基于热门语言TypeScript开发的短链接服务等。 第五部分(第15章) Serverless趋势预测 首先介绍了当前学术界在Serverless领域的研究方向、重点以及取得的成果,然后介绍了伯克利大学对Serverless未来10年发展趋势的预测。
目录
[套装书具体书目]
8081292 - Serverless从入门到进阶:架构、原理与实践 - 9787111682554 - 机械工业出版社 - 定价 89
8082479 - Serverless工程实践:从入门到进阶 - 9787111686231 - 机械工业出版社 - 定价 129



---------------------------8082479 - Serverless工程实践:从入门到进阶---------------------------


序一
序二
序三
序四
序五
序六
序七
序八
前言
第0章 从云计算到Serverless 1
第一部分 概念与产品
第1章 什么是Serverless 8
1.1 Serverless的定义 8
1.1.1 广义定义探索 8
1.1.2 Serverless工作流程 10
1.2 Serverless规范 12
1.2.1 FaaS解决方案模型 12
1.2.2 函数的规范与定义 12
1.2.3 函数生命周期 15
1.2.4 其他规范 20
1.3 Serverless的特点 35
1.3.1 优势与特点 35
1.3.2 面临的挑战 38
1.4 典型应用场景 43
1.4.1 实时文件处理 44
1.4.2 数据ETL处理 44
1.4.3 实时数据处理 44
1.4.4 AI推理预测 45
1.4.5 IoT后端 45
1.4.6 Web应用/移动应用后端 46
1.4.7 音视频转码 46
1.5 未来可期 47
第2章 主流Serverless平台和产品 48
2.1 工业FaaS平台 48
2.1.1 AWS Lambda 48
2.1.2 Google Cloud Functions 50
2.1.3 Azure Functions 52
2.1.4 阿里云函数计算 54
2.1.5 华为云函数工作流 57
2.1.6 腾讯云云函数 59
2.2 开源FaaS平台 60
2.2.1 Knative 61
2.2.2 Apache OpenWhisk 65
2.2.3 Fission 69
2.2.4 Kubeless 76
第二部分 开发入门
第3章 从零入门Serverless 84
3.1 创建函数 84
3.1.1 AWS Lambda 84
3.1.2 Google Cloud Functions 87
3.1.3 阿里云函数计算 89
3.1.4 华为云函数工作流 91
3.1.5 腾讯云云函数 94
3.2 开发一个Serverless应用 97
3.2.1 知识准备 98
3.2.2 项目开发 101
3.2.3 举一反三 105
3.3 触发器 106
3.3.1 定时触发器 108
3.3.2 对象存储触发器 108
3.3.3 API网关触发器 108
3.4 传统Web框架迁移 113
3.4.1 请求集成方案 114
3.4.2 其他方案 117
第4章 Serverless应用开发、调试与优化 120
4.1 Serverless应用开发观念的转变 120
4.1.1 文件上传方法 120
4.1.2 文件读写与持久化方法 124
4.1.3 慎用部分Web框架的特性 125
4.1.4 要注意应用组成结构 125
4.2 Serverless应用调试秘诀 126
4.2.1 在线调试 126
4.2.2 本地调试 129
4.2.3 其他调试方案 130
4.3 细数Serverless的配套服务 132
4.3.1 开发者工具 132
4.3.2 Serverless Workflow 138
4.3.3 可观测性 139
4.4 Serverless应用优化 141
4.4.1 资源评估依旧重要 141
4.4.2 合理的代码包规格 141
4.4.3 合理复用实例 142
4.4.4 善于利用函数特性 143
第5章 从零搭建FaaS平台 146
5.1 零基础上手Knative应用 146
5.1.1 Knative简介 146
5.1.2 Knative部署 147
5.1.3 体验测试 150
5.2 自建Apache OpenWhisk平台 152
5.2.1 OpenWhisk简介 152
5.2.2 OpenWhisk部署 152
5.2.3 开发者工具 156
5.2.4 体验测试 157
5.3 快速搭建Kubeless平台 157
5.3.1 Kubeless简介 157
5.3.2 Kubeless部署 158
5.3.3 下载命令行工具 159
5.3.4 体验测试 160
第三部分 工程实践
第6章 Serverless与监控告警、自动化运维 164
6.1 通过Serverless架构实现监控告警功能 164
6.1.1 Web服务监控告警 164
6.1.2 云服务监控告警 172
6.1.3 总结 175
6.2 钉钉/企业微信机器人:GitHub触发器与Issue机器人 176
6.2.1 GitHub触发器的实现 176
6.2.2 GitHub Issue的识别 179
6.2.3 钉钉机器人/企业微信机器人的实现 181
6.2.4 Issue机器人的实现 183
6.2.5 总结 185
6.3 触发器和函数赋能自动化运维 186
6.3.1 云盘自动快照 186
6.3.2 服务器定时重启 188
6.3.3 总结 190
6.4 Serverless CI/CD实践案例 191
6.4.1 CI/CD实践 191
6.4.2 总结 196
第7章 Serverless在图像、音视频处理中的应用 197
7.1 Serverless架构下的图片压缩与加水印 197
7.1.1 Serverless的图片压缩方案 197
7.1.2 Serverless的图片加水印方案 204
7.1.3 项目部署与测试 205
7.1.4 总结 208
7.2 Serverless架构下的音视频处理 209
7.2.1 准备ffmpeg 210
7.2.2 音视频处理 212
7.2.3 总结 222
7.3 Serverless:让图像合成更简单 222
7.3.1 为头像增加圣诞帽 222
7.3.2 为头像增加固定装饰 230
7.3.3 总结 233
第8章 Serverless架构下的人工智能与大数据实战 235
8.1 20行代码:Serverless架构下用Python轻松实现图像分类和预测 235
8.1.1 ImageAI与图像识别 235
8.1.2 项目Serverless化 237
8.1.3 项目部署与测试 241
8.1.4 项目优化 242
8.1.5 总结 244
8.2 Serverless与NLP:让我们的博客更有趣 244
8.2.1 赋能网站SEO 244
8.2.2 “为你写诗”小工具 251
8.2.3 总结 258
8.3 基于Serverless架构的验证码识别功能 258
8.3.1 浅谈验证码 258
8.3.2 验证码识别 260
8.3.3 基于Serverless架构的验证码识别 266
8.3.4 总结 272
8.4 函数计算与对象存储实现WordCount 272
8.4.1 理论基础 273
8.4.2 功能实现 274
8.4.3 测试体验 279
8.4.4 总结 281
第9章 Serverless架构在前端领域的应用 282
9.1 初识Serverless SSR 282
9.1.1 Serverless与SSR 283
9.1.2 总结 285
9.2 Serverless架构下的前后端一体化 286
9.2.1 前后端一体化的发展 286
9.2.2 Serverless与前后端一体化 288
9.2.3 总结 291
第10章 Serverless架构在IoT等其他领域的应用 292
10.1 基于Serverless架构与WebSocket技术的聊天工具 292
10.1.1 原理解析 292
10.1.2 匿名聊天室 295
10.1.3 体验与测试 302
10.1.4 总结 305
10.2 Serverless与IoT:为智能音箱赋能 305
10.2.1 天猫精灵 306
10.2.2 小爱同学 310
10.2.3 总结 313
10.3 用手机写代码:基于Serverless的在线编程能力探索 313
10.3.1 在线编程功能开发 314
10.3.2 更贴近本地的代码执行器 318
10.3.3 总结 328
第11章 Serverless工程化项目实践 330
11.1 基于Serverless架构的博客系统 330
11.1.1 项目背景 330
11.1.2 需求分析 331
11.1.3 整体设计 331
11.1.4 项目开发 335
11.1.5 项目预览 346
11.1.6 思路拓展 350
11.1.7 总结 355
11.2 基于Serverless架构的人工智能相册小程序 355
11.2.1 项目背景 355
11.2.2 需求分析 356
11.2.3 整体设计 357
11.2.4 项目开发 366
11.2.5 项目预览 386
11.2.6 经验积累 388
11.2.7 总结 391
结束语 Serverless正当时 392
附录 部分代码汇总 400



---------------------------8081292 - Serverless从入门到进阶:架构、原理与实践---------------------------


前 言
第1章 全面了解Serverless 1
1.1 什么是Serverless 1
1.1.1 初识Serverless 1
1.1.2 Serverless特性举例 2
1.2 Serverless的发展历程 3
1.2.1 Serverless的产生 4
1.2.2 Serverless发展里程碑 5
1.3 Serverless的优缺点 7
1.4 Serverless的应用场景 9
1.5 Serverless框架和生态 10
1.6 本章小结 11
第2章 Serverless架构 13
2.1 Serverless架构概述 13
2.1.1 Serverless = FaaS + BaaS 13
2.1.2 传统应用架构分析 15
2.1.3 典型Serverless应用架构 16
2.1.4 Serverless架构与传统架构 17
2.2 FaaS架构介绍 17
2.2.1 FaaS架构组成 18
2.2.2 FaaS架构执行流程 18
2.3 BaaS服务介绍 20
2.3.1 BaaS服务的产生背景 20
2.3.2 BaaS服务的分类 20
2.4 Serverless服务构建的思维方式 21
2.5 本章小结 22
第3章 Serverless原理详解:FaaS层 23
3.1 事件模型 23
3.1.1 FaaS事件模型 23
3.1.2 常见触发器介绍 25
3.2 错误处理和重试机制 26
3.3 生命周期 27
3.4 冷启动优化 28
3.4.1 冷启动的产生 29
3.4.2 平台侧冷启动的优化 31
3.4.3 用户侧冷启动的规避 31
3.5 部署第一个Serverless实例 32
3.5.1 部署Hello World函数示例 32
3.5.2 参数定义 34
3.6 运行时和自定义运行时 34
3.6.1 运行时和自定义运行时的概念 35
3.6.2 自定义运行时示例 37
3.7 本章小结 39
第4章 Serverless原理详解:BaaS层 41
4.1 Serverless接入层:API网关 41
4.1.1 基本概念 42
4.1.2 网关和FaaS的联动 43
4.2 Serverless和存储 45
4.2.1 基本概念 46
4.2.2 对象存储 47
4.2.3 文件存储 49
4.2.4 存储和FaaS的联动 52
4.3 Serverless和数据库 61
4.3.1 基本概念 61
4.3.2 数据库和FaaS的联动 62
4.4 Serverless和消息队列 67
4.4.1 基本概念 67
4.4.2 消息队列和FaaS的联动 69
4.5 Serverless和日志服务 71
4.5.1 基本概念 71
4.5.2 日志服务和FaaS的联动 73
4.6 其他扩展能力 74
4.7 本章小结 76
第5章 Serverless开发工具及调试能力 77
5.1 Serverless Framework 78
5.1.1 YAML配置文件 79
5.1.2 什么是Serverless Plugin 79
5.1.3 什么是Serverless Component 80
5.1.4 Serverless Plugin与Serverless Component 81
5.1.5 安装和使用 81
5.1.6 Serverless Component部署原理 82
5.1.7 版本对比 84
5.2 Apex 85
5.2.1 安装使用 85
5.2.2 实时日志 87
5.2.3 监控数据 87
5.3 Serverless云端调试 88
5.4 本章小结 92
第6章 Serverless排障 93
6.1 Serverless监控及告警 93
6.1.1 基础指标监控 94
6.1.2 应用级别监控 94
6.1.3 Serverless告警 99
6.2 Serverless日志 100
6.3 本章小结 102
第7章 Serverless CI/CD 103
7.1 CI/CD概念和介绍 104
7.1.1 持续集成 104
7.1.2 持续交付 105
7.1.3 持续部署 105
7.1.4 CI/CD的优点 106
7.2 Serverless CI/CD介绍 106
7.3 CI/CD工具介绍 108
7.4 GitHub Actions 109
7.4.1 基本概念 110
7.4.2 创建第一个工作流 111
7.4.3 Workflow文件 114
7.4.4 Serverless结合GitHub Actions示例 116
7.5 Coding DevOps服务 123
7.6 AWS CodePipeline服务 126
7.7 本章小结 127
第8章 Serverless工作流 128
8.1 Serverless应用内的状态管理 128
8.2 Serverless状态机 130
8.2.1 状态机简介 130
8.2.2 AWS Step Function 131
8.2.3 典型场景 133
8.3 本章小结 136
第9章 Serverless资源管理和编排 137
9.1 AWS资源编排工具 137
9.1.1 AWS Cloud Formation 137
9.1.2 AWS SAM 140
9.2 Terraform 142
9.2.1 Terraform简介 142
9.2.2 使用Terraform管理云资源 143
9.3 Serverless Component 145
9.4 本章小结 147
第10章 开发Serverless Web服务:RESTful API 148
10.1 Serverless Web服务 148
10.1.1 传统的Web服务 148
10.1.2 Web框架迁移到Serverless的原理 149
10.1.3 Express.js框架开发转化层 150
10.1.4 Node.js HTTP服务监听方式的选择 152
10.1.5 转化层代码编写 153
10.2 理解RESTful架构 155
10.3 RESTful API的开发 157
10.3.1 初始化项目 157
10.3.2 Express路由的使用 158
10.3.3 改造成可执行的云函数 160
10.3.4 编写RESTful风格的服务 162
10.3.5 如何操作云数据库 164
10.4 部署应用 171
10.4.1 手动打包部署 171
10.4.2 通过Serverless Framework工具部署 174
10.5 本章小结 176
第11章 Serverless后台管理系统 177
11.1 Egg.js框架简介 178
11.2 系统框架设计 178
11.3 数据库设计 179
11.4 创建数据库 180
11.5 开发准备 182
11.6 开发后端服务 183
11.7 后端服务部署 195
11.7.1 准备工作 195
11.7.2 配置serverless.yml 196
11.7.3 开始部署 197
11.7.4 账号配置(可选) 198
11.8 前端开发 199
11.8.1 删除接口模拟 199
11.8.2 修改接口函数 200
11.8.3 修改接口工具函数 202
11.8.4 修改UI界面 205
11.9 前端部署 205
11.9.1 创建serverless.yml配置文件 205
11.9.2 执行部署 206
11.10 部署优化 207
11.10.1 改造后端YML配置 208
11.10.2 新增层配置 208
11.10.3 部署层 209
11.10.4 管理系统项目模板 210
11.11 本章小结 211
第12章 Serverless和前端的天作之合:服务端渲染SSR 212
12.1 SSR与Serverless 212
12.2 快速将SSR应用Serverless化 214
12.3 性能分析 219
12.4 方案对比分析 222
12.5 Serverless部署方案的优化 223
12.5.1 通过COS托管静态资源 224
12.5.2 静态资源配置CDN 227
12.5.3 静态资源优化前后对比 229
12.5.4 基于层部署node_modules 229
12.6 本章小结 232
第13章 基于Serverless的短链接服务 233
13.1 什么是短链接 233
13.2 短链接基本原理 234
13.3 创建数据库 235
13.3.1 表结构 235
13.3.2 创建PostgreSQL数据库 236
13.4 服务开发 241
13.4.1 TypeScript简介 241
13.4.2 基于Express服务开发 242
13.4.3 前端页面 251
13.4.4 服务Serverless化 255
13.5 本章小结 257
第14章 Serverless消息实时推送:结合WebSocket实现外卖点单系统 258
14.1 消息实时推送 258
14.2 基于Serverless实现WebSocket外卖点单系统 260
14.2.1 基于Serverless实现WebSocket协议 260
14.2.2 系统架构说明 262
14.3 应用开发及部署 263
14.4 本章小结 270
第15章 Serverless展望:云计算的下个十年 271
15.1 Serverless研究趋势 271
15.2 Serverless研究成果和亮点 273
15.2.1 Serverless和机器学习 273
15.2.2 Serverless文件系统 275
15.2.3 Serverless数据中心 277
15.3 Serverless未来的发展趋势 278
15.4 本章小结 280

推荐

车牌查询
桂ICP备20004708号-3