展开全部

主编推荐语

腾讯云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年发展趋势的预测。

目录

  • 版权信息
  • 前言
  • 第1章 全面了解Serverless
  • 1.1 什么是Serverless
  • 1.1.1 初识Serverless
  • 1.1.2 Serverless特性举例
  • 1.2 Serverless的发展历程
  • 1.2.1 Serverless的产生
  • 1.2.2 Serverless发展里程碑
  • 1.3 Serverless的优缺点
  • 1.4 Serverless的应用场景
  • 1.5 Serverless框架和生态
  • 1.6 本章小结
  • 第2章 Serverless架构
  • 2.1 Serverless架构概述
  • 2.1.1 Serverless = FaaS + BaaS
  • 2.1.2 传统应用架构分析
  • 2.1.3 典型Serverless应用架构
  • 2.1.4 Serverless架构与传统架构
  • 2.2 FaaS架构介绍
  • 2.2.1 FaaS架构组成
  • 2.2.2 FaaS架构执行流程
  • 2.3 BaaS服务介绍
  • 2.3.1 BaaS服务的产生背景
  • 2.3.2 BaaS服务的分类
  • 2.4 Serverless服务构建的思维方式
  • 2.5 本章小结
  • 第3章 Serverless原理详解:FaaS层
  • 3.1 事件模型
  • 3.1.1 FaaS事件模型
  • 3.1.2 常见触发器介绍
  • 3.2 错误处理和重试机制
  • 3.3 生命周期
  • 3.4 冷启动优化
  • 3.4.1 冷启动的产生
  • 3.4.2 平台侧冷启动的优化
  • 3.4.3 用户侧冷启动的规避
  • 3.5 部署第一个Serverless实例
  • 3.5.1 部署Hello World函数示例
  • 3.5.2 参数定义
  • 3.6 运行时和自定义运行时
  • 3.6.1 运行时和自定义运行时的概念
  • 3.6.2 自定义运行时示例
  • 3.7 本章小结
  • 第4章 Serverless原理详解:BaaS层
  • 4.1 Serverless接入层:API网关
  • 4.1.1 基本概念
  • 4.1.2 网关和FaaS的联动
  • 4.2 Serverless和存储
  • 4.2.1 基本概念
  • 4.2.2 对象存储
  • 4.2.3 文件存储
  • 4.2.4 存储和FaaS的联动
  • 4.3 Serverless和数据库
  • 4.3.1 基本概念
  • 4.3.2 数据库和FaaS的联动
  • 4.4 Serverless和消息队列
  • 4.4.1 基本概念
  • 4.4.2 消息队列和FaaS的联动
  • 4.5 Serverless和日志服务
  • 4.5.1 基本概念
  • 4.5.2 日志服务和FaaS的联动
  • 4.6 其他扩展能力
  • 4.7 本章小结
  • 第5章 Serverless开发工具及调试能力
  • 5.1 Serverless Framework
  • 5.1.1 YAML配置文件
  • 5.1.2 什么是Serverless Plugin
  • 5.1.3 什么是Serverless Component
  • 5.1.4 Serverless Plugin与Serverless Component
  • 5.1.5 安装和使用
  • 5.1.6 Serverless Component部署原理
  • 5.1.7 版本对比
  • 5.2 Apex
  • 5.2.1 安装使用
  • 5.2.2 实时日志
  • 5.2.3 监控数据
  • 5.3 Serverless云端调试
  • 5.4 本章小结
  • 第6章 Serverless排障
  • 6.1 Serverless监控及告警
  • 6.1.1 基础指标监控
  • 6.1.2 应用级别监控
  • 6.1.3 Serverless告警
  • 6.2 Serverless日志
  • 6.3 本章小结
  • 第7章 Serverless CI/CD
  • 7.1 CI/CD概念和介绍
  • 7.1.1 持续集成
  • 7.1.2 持续交付
  • 7.1.3 持续部署
  • 7.1.4 CI/CD的优点
  • 7.2 Serverless CI/CD介绍
  • 7.3 CI/CD工具介绍
  • 7.4 GitHub Actions
  • 7.4.1 基本概念
  • 7.4.2 创建第一个工作流
  • 7.4.3 Workflow文件
  • 7.4.4 Serverless结合GitHub Actions示例
  • 7.5 Coding DevOps服务
  • 7.6 AWS CodePipeline服务
  • 7.7 本章小结
  • 第8章 Serverless工作流
  • 8.1 Serverless应用内的状态管理
  • 8.2 Serverless状态机
  • 8.2.1 状态机简介
  • 8.2.2 AWS Step Function
  • 8.2.3 典型场景
  • 8.3 本章小结
  • 第9章 Serverless资源管理和编排
  • 9.1 AWS资源编排工具
  • 9.1.1 AWS Cloud Formation
  • 9.1.2 AWS SAM
  • 9.2 Terraform
  • 9.2.1 Terraform简介
  • 9.2.2 使用Terraform管理云资源
  • 9.3 Serverless Component
  • 9.4 本章小结
  • 第10章 开发Serverless Web服务:RESTful API
  • 10.1 Serverless Web服务
  • 10.1.1 传统的Web服务
  • 10.1.2 Web框架迁移到Serverless的原理
  • 10.1.3 Express.js框架开发转化层
  • 10.1.4 Node.js HTTP服务监听方式的选择
  • 10.1.5 转化层代码编写
  • 10.2 理解RESTful架构
  • 10.3 RESTful API的开发
  • 10.3.1 初始化项目
  • 10.3.2 Express路由的使用
  • 10.3.3 改造成可执行的云函数
  • 10.3.4 编写RESTful风格的服务
  • 10.3.5 如何操作云数据库
  • 10.4 部署应用
  • 10.4.1 手动打包部署
  • 10.4.2 通过Serverless Framework工具部署
  • 10.5 本章小结
  • 第11章 Serverless后台管理系统
  • 11.1 Egg.js框架简介
  • 11.2 系统框架设计
  • 11.3 数据库设计
  • 11.4 创建数据库
  • 11.5 开发准备
  • 11.6 开发后端服务
  • 11.7 后端服务部署
  • 11.7.1 准备工作
  • 11.7.2 配置schmerverless.yml
  • 11.7.3 开始部署
  • 11.7.4 账号配置(可选)
  • 11.8 前端开发
  • 11.8.1 删除接口模拟
  • 11.8.2 修改接口函数
  • 11.8.3 修改接口工具函数
  • 11.8.4 修改UI界面
  • 11.9 前端部署
  • 11.9.1 创建schmerverless.yml配置文件
  • 11.9.2 执行部署
  • 11.10 部署优化
  • 11.10.1 改造后端YML配置
  • 11.10.2 新增层配置
  • 11.10.3 部署层
  • 11.10.4 管理系统项目模板
  • 11.11 本章小结
  • 第12章 Serverless和前端的天作之合:服务端渲染SSR
  • 12.1 SSR与Serverless
  • 12.2 快速将SSR应用Serverless化
  • 12.3 性能分析
  • 12.4 方案对比分析
  • 12.5 Serverless部署方案的优化
  • 12.5.1 通过COS托管静态资源
  • 12.5.2 静态资源配置CDN
  • 12.5.3 静态资源优化前后对比
  • 12.5.4 基于层部署node_modules
  • 12.6 本章小结
  • 第13章 基于Serverless的短链接服务
  • 13.1 什么是短链接
  • 13.2 短链接基本原理
  • 13.3 创建数据库
  • 13.3.1 表结构
  • 13.3.2 创建PostgreSQL数据库
  • 13.4 服务开发
  • 13.4.1 TypeScript简介
  • 13.4.2 基于Express服务开发
  • 13.4.3 前端页面
  • 13.4.4 服务Serverless化
  • 13.5 本章小结
  • 第14章 Serverless消息实时推送:结合WebSocket实现外卖点单系统
  • 14.1 消息实时推送
  • 14.2 基于Serverless实现WebSocket外卖点单系统
  • 14.2.1 基于Serverless实现WebSocket协议
  • 14.2.2 系统架构说明
  • 14.3 应用开发及部署
  • 14.4 本章小结
  • 第15章 Serverless展望:云计算的下个十年
  • 15.1 Serverless研究趋势
  • 15.2 Serverless研究成果和亮点
  • 15.2.1 Serverless和机器学习
  • 15.2.2 Serverless文件系统
  • 15.2.3 Serverless数据中心
  • 15.3 Serverless未来的发展趋势
  • 15.4 本章小结
展开全部

评分及书评

4.0
3个评分
  • 用户头像
    给这本书评了
    5.0
    非常适合想了解和入门 Serverless 的开发者

    本书深入的讲解了 Serverless 技术的发展、原理和特性,并且结合实际业务,提供了丰富的实战案例,不仅能跟着实战章节实现完整的项目案例,而且也详细的讲解了 CI/CD 服务与 Serverless 项目的结合,可以快速的实现 Serverless DevOps 工作流。作者为著名开源项目 Serverless Components 命令行工具的活跃贡献者,所以非常详尽的介绍了 Serverless Components 的实现和底层原理,对想尝试使用 Serverless 命令行工具的开发者提供了非常完善的使用指引。

      转发
      评论

    出版方

    机械工业出版社有限公司

    机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。