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

Serverless从入门到进阶:架构、原理与实践
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: ,
2021-06
版次: 1
ISBN: 9787111682554
定价: 89.00
装帧: 其他
开本: 16开
纸张: 胶版纸
字数: 210千字
9人买过
  • 内容简介
      这是一本从产品和技术两个维度全面讲解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年发展趋势的预测。 作者简介

    方坤丁

    前腾讯云Serverless高级产品经理

    腾讯云Serverless项目的早期参与者,有多年云计算相关产品的策划经验,对云计算行业有深刻理解。在Serverless 方面有丰富的经验,是Serverless Framework/Components等开源项目活跃贡献者,曾负责负载均衡、消息队列和云函数等产品,致力于Serverless架构中解决方案的推出和落地。熟悉 Apache Kafka、Nginx 等中间件。

    曾任2018 Kafka Meetup深圳站组织者,2019 KubeCon Serverless专题演讲嘉宾,2020 QCon+及Next.js Conf演讲嘉宾。

    孙远高

    腾讯云Serverless高级研发工程师

    熟悉Serverless架构和工程化实践,专注于Serverless开源生态建设,参与从零开发和建设腾讯云Serverless开源项目。Serverless Framework/Components开源项目的活跃贡献者,有丰富的Web开发实战经验和丰富的云计算行业经验。擅长前端工程化建设、前端自动化部署。 前 言

    第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.
  • 内容简介:
    内容简介
      这是一本从产品和技术两个维度全面讲解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年发展趋势的预测。
  • 作者简介:
    作者简介

    方坤丁

    前腾讯云Serverless高级产品经理

    腾讯云Serverless项目的早期参与者,有多年云计算相关产品的策划经验,对云计算行业有深刻理解。在Serverless 方面有丰富的经验,是Serverless Framework/Components等开源项目活跃贡献者,曾负责负载均衡、消息队列和云函数等产品,致力于Serverless架构中解决方案的推出和落地。熟悉 Apache Kafka、Nginx 等中间件。

    曾任2018 Kafka Meetup深圳站组织者,2019 KubeCon Serverless专题演讲嘉宾,2020 QCon+及Next.js Conf演讲嘉宾。

    孙远高

    腾讯云Serverless高级研发工程师

    熟悉Serverless架构和工程化实践,专注于Serverless开源生态建设,参与从零开发和建设腾讯云Serverless开源项目。Serverless Framework/Components开源项目的活跃贡献者,有丰富的Web开发实战经验和丰富的云计算行业经验。擅长前端工程化建设、前端自动化部署。
  • 目录:
    前 言

    第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.
查看详情
12