[套装书]Serverless工程实践:从入门到进阶+深入浅出Serverless:技术原理与应用实践(2册)

作者
刘宇 陈耿
丛书名
出版社
机械工业出版社
ISBN
9782107241159
简要
简介
本书作者是微软全球黑带技术专家,曾就职于Red Hat和Oracle等知名软件企业。本书汇聚了他在Red Hat和微软等云计算公司的实践经验,得到了来自阿里、腾讯、微软和亚马逊等一线云计算公司的技术专家的好评和推荐。 在内容上,本书不仅详细介绍Serverless的技术原理、应用架构,以及与之相关的各种技术主题,而且深入讲解了公有云和私有云下的各种主流Serverless平台、架构和工具的原理、架构和使用细节。 全书在逻辑上分为五个部分: 第一部分(第1~3章) 首先,介绍了Serverless的价值、技术特点、应用场景、技术原理、应用架构,以及局限性;其次,介绍了云计算、容器、微服务、PaaS、BaaS、FaaS、DevOps、云原生应用等技术及其与Serverless的关系;最后,介绍了Serverless与各种公有云、私有云之间的关系,以及Serverless的各种框架和工具。 第二部分(第4~5章) 详细介绍了基于AWS Lambda和Azure Functions等公有云平台的Serverless技术和服务。 . 第三部分(第6章) 基于Docker和Kubernetes介绍了容器的基础技术。 第四部分(第7~10章) 详细介绍了基于OpenWhisk、Kubeless、Fission及OpenFaaS等私有云平台的Serverless技术和服务。 第五部分(第11章) 总结了Serverless的落地方法和要点,如平台建设、应用架构转型,以及Serverless的未来发展趋势。
目录
[套装书具体书目]
8054378 - 深入浅出Serverless:技术原理与应用实践 - 9787111613473 - 机械工业出版社 - 定价 69
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



---------------------------8054378 - 深入浅出Serverless:技术原理与应用实践---------------------------


前言
第1章 Serverless基础1
1.1 什么是Serverless1
1.2 Serverless带来的价值3
1.3 Serverless的技术实现4
1.3.1 理念与实现4
1.3.2 FaaS与BaaS5
1.4 Serverless应用架构7
1.4.1 传统应用架构7
1.4.2 Serverless应用架构7
1.4.3 两种架构的比较8
1.5 Serverless的技术特点9
1.6 Serverless的应用场景11
1.7 Serverless的局限12
1.8 本章小结13
第2章 Serverless与相关技术15
2.1 云计算15
2.1.1 从私有数据中心到云15
2.1.2 IaaS、PaaS与SaaS16
2.1.3 Serverless与云计算17
2.2 微服务18
2.2.1 从SOA到微服务18
2.2.2 微服务的价值与挑战19
2.2.3 Serverless与微服务19
2.3 容器20
2.3.1 容器技术的兴起20
2.3.2 Serverless与容器21
2.4 PaaS22
2.4.1 以应用为中心22
2.4.2 Serverless与PaaS23
2.5 FaaS24
2.5.1 Serverless实现的基础24
2.5.2 FaaS的架构24
2.5.3 函数的生命周期25
2.5.4 函数工作流26
2.6 BaaS26
2.6.1 BaaS的价值26
2.6.2 广义的Serverless27
2.7 NoOps27
2.7.1 无人运维吗27
2.7.2 “无服务器”与“无人运维”28
2.8 DevOps28
2.9 云原生应用29
2.9.1 因云而生29
2.9.2 Serverless与Cloud Native29
2.10 本章小结30
第3章 Serverless的实现31
3.1 Serverless技术的发展31
3.2 Serverless与公有云33
3.2.1 Amazon Web Services34
3.2.2 Microsoft Azure36
3.2.3 Google Cloud Platform38
3.2.4 Webtask39
3.2.5 Hyper.sh39
3.2.6 阿里云40
3.2.7 腾讯云42
3.2.8 小结43
3.3 Serverless与私有化部署43
3.3.1 OpenWhisk43
3.3.2 Fission44
3.3.3 Kubeless45
3.3.4 OpenFaaS45
3.3.5 Fn47
3.3.6 小结48
3.4 Serverless框架和工具49
3.4.1 Serverless Framework49
3.4.2 Chalice50
3.4.3 Claudia.js50
3.4.4 Apex51
3.4.5 Spring Cloud Function51
3.4.6 AWS SAM52
3.4.7 小结53
3.5 Serverless后台服务53
3.6 本章小结54
第4章 AWS Lambda55
4.1 AWS55
4.2 AWS Serverless56
4.3 AWS Lambda概述57
4.4 第一个Serverless应用58
4.4.1 获取AWS账号58
4.4.2 AWS Lambda控制面板59
4.4.3 创建函数61
4.4.4 编辑函数62
4.4.5 测试函数63
4.4.6 外部访问63
4.4.7 运维监控66
4.4.8 回顾66
4.5 权限控制66
4.5.1 IAM67
4.5.2 策略68
4.5.3 角色68
4.6 编程模型69
4.6.1 代码开发69
4.6.2 Handler70
4.6.3 执行上下文70
4.6.4 日志输出71
4.6.5 异常处理72
4.6.6 无状态72
4.7 事件驱动73
4.7.1 事件源73
4.7.2 触发模式74
4.8 日志监控75
4.9 开发辅助77
4.9.1 环境变量77
4.9.2 标签77
4.9.3 版本控制78
4.10 运行限制78
4.10.1 资源限制79
4.10.2 并发控制79
4.11 配置与部署79
4.12 本章小结81
第5章 Azure Functions83
5.1 Microsoft Azure83
5.2 Azure Functions概述85
5.3 创建Azure Serverless应用86
5.3.1 注册Azure账号86
5.3.2 Azure控制台87
5.3.3 函数应用88
5.3.4 创建函数90
5.3.5 调用函数92
5.3.6 日志与监控93
5.4 Azure Functions命令行95
5.4.1 安装命令行95
5.4.2 创建本地函数96
5.4.3 测试本地函数97
5.4.4 发布至公有云98
5.5 深入了解Azure Functions99
5.5.1 函数应用设置99
5.5.2 Trigger与Bindings101
5.5.3 函数代理103
5.5.4 Slot104
5.6 私有云部署105
5.7 本章小结107
第6章 容器技术基础108
6.1 什么是容器108
6.1.1 容器109
6.1.2 容器镜像110
6.1.3 镜像仓库110
6.1.4 容器编排111
6.1.5 容器与Serverless111
6.2 Docker111
6.2.1 Vagrant111
6.2.2 VirtualBox112
6.2.3 安装Docker113
6.2.4 运行容器114
6.2.5 构建容器镜像116
6.2.6 分享镜像117
6.3 Kubernetes基础118
6.3.1 命名空间120
6.3.2 Pod120
6.3.3 Service120
6.3.4 Deployment120
6.3.5 ReplicaSet121
6.3.6 网络121
6.3.7 Ingress121
6.3.8 交互工具122
6.4 构建Kubernetes环境122
6.4.1 启动Vagrant Box123
6.4.2 修改默认域124
6.5 Kubernetes实战124
6.5.1 部署容器124
6.5.2 弹性扩展126
6.5.3 服务发现127
6.5.4 资源组织128
6.5.5 容器调度129
6.6 本章小结131
第7章 OpenWhisk132
7.1 OpenWhisk项目132
7.2 Hello Whisk133
7.3 逻辑架构135
7.3.1 Namespace136
7.3.2 Package136
7.3.3 Action137
7.3.4 Feed141
7.3.5 Trigger141
7.3.6 Rule142
7.4 系统架构143
7.5 Kubernetes部署146
7.5.1 准备Kubernetes集群146
7.5.2 集群基础设置146
7.5.3 创建访问入口149
7.5.4 部署组件149
7.5.5 加载系统配置153
7.5.6 测试集群153
7.5.7 删除集群154
7.6 Helm部署155
7.6.1 安装Helm155
7.6.2 环境配置155
7.6.3 部署Chart156
7.6.4 管理应用156
7.7 蛋糕管理服务156
7.7.1 开发环境157
7.7.2 准备数据库157
7.7.3 定义Action157
7.7.4 创建Package159
7.7.5 部署Action160
7.7.6 发布API161
7.8 本章小结162
第8章 Kubeless163
8.1 Kubeless项目163
8.1.1 系统架构164
8.1.2 运行时165
8.2 Kubeless概述165
8.2.1 部署Kubeless165
8.2.2 配置客户端166
8.2.3 部署函数167
8.2.4 Kubeless UI168
8.3 Function169
8.3.1 函数部署170
8.3.2 函数调用172
8.3.3 资源限制172
8.3.4 自动扩展173
8.4 Trigger173
8.4.1 HTTP Trigger173
8.4.2 Cronjob Trigger175
8.4.3 Kafka Trigger175
8.4.4 NATS Trigger178
8.5 本章小结179
第9章 Fission180
9.1 Fission项目180
9.1.1 逻辑架构180
9.1.2 系统架构181
9.2 部署Fission182
9.2.1 安装Helm182
9.2.2 部署Fission Chart182
9.2.3 命令行工具183
9.2.4 Hello Fission183
9.3 深入探讨Fission184
9.3.1 Environment185
9.3.2 Function187
9.3.3 Package188
9.3.4 Trigger191
9.4 执行模式192
9.4.1 Pool-based模式192
9.4.2 New Deploy模式193
9.5 Workflows194
9.5.1 Workflows定义194
9.5.2 配置Workflows195
9.5.3 Fortune Whale195
9.6 本章小结197
第10章 OpenFaaS199
10.1 OpenFaaS项目199
10.1.1 OpenFaaS社区200
10.1.2 系统架构200
10.2 初识OpenFaaS200
10.2.1 部署组件201
10.2.2 命令行工具202
10.2.3 创建函数202
10.2.4 图形界面203
10.3 OpenFaaS函数203
10.3.1 抽象方式203
10.3.2 函数模板204
10.3.3 创建函数205
10.3.4 构建函数206
10.3.5 推送镜像207
10.3.6 部署函数207
10.4 Watchdog208
10.4.1 工作原理208
10.4.2 配置Watchdog209
10.4.3 of-watchdog210
10.5 监控210
10.5.1 监控指标210
10.5.2 监控面板210
10.5.3 监控预警213
10.6 弹性扩展214
10.6.1 基于Alertmanager扩展214
10.6.2 基于HPA扩展215
10.7 函数应用市场215
10.8 本章小结217
第11章 Serverless的落地与展望218
11.1 Serverless的落地218
11.2 Serverless平台建设219
11.2.1 公有云219
11.2.2 私有云220
11.2.3 混合云220
11.3 Serverless应用架构转型223
11.3.1 开发模式223
11.3.2 设计原则225
11.3.3 迁移与重构226
11.4 Serverless的未来227
11.4.1 建立行业规范228
11.4.2 完善工具链229
11.4.3 深入结合容器229
11.5 本章小结230
后记232

推荐

车牌查询
桂ICP备20004708号-3