本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
1.作者 :作者是腾讯云Serverless的 产品经理和研发工程师,从零开始参与腾讯云Serverless项目,经验丰富。 2.视角立体:从产品和技术两个维度全面讲解Serverless,视角立体、丰富。 3.干货满满:涵盖Serverless架构设计、技术原理、开发流程、实战案例等4大核心主题。 4.内容中立:内容涵盖腾讯云、阿里云、 云等多个云厂商的技术和产品,非一家之言。 5.案例丰富:包含丰富客户场景、实战案例以及大量Z佳实践。 6. :腾讯云多位高管联袂 。
内容简介<br>这是一本从产品和技术两个维度全面讲解Serverless的著作,涵盖Serverless的架构设计、技术原理、开发流程、实战案例等4大核心主题。作者是腾讯云Serverless的 产品经理和 研发工程师,从零开始参与了腾讯云Serverless项目的建设。<br>全书共15章,内容从逻辑上可分为五个部分:<br> 部分(第1章) Serverless基础<br>主要介绍了Serverless的概念、发展历程、基本特点、应用场景、框架和生态,以及它为开发者、企业和云计算带来的作用和优势。<br>第二部分(第2~4章) Serverless架构和原理<br>首先介绍了Serverless的整体架构,以及其中的FaaS架构和BaaS架构,然后深入分析了FaaS层好BaaS层的底层原理。<br>第三部分(第5~9章) Serverless开发流程<br>从上下游生态的视角讲解了如何开发和部署一个完整的Serverless应用,包括开发、调试、测试、部署、CI/CD、运维等全生命周期的各个环节。<br>第四部分( 0~14章) Serverless实战案例<br>涵盖了Serverless的典型应用场景并提供丰富的实战案例和Z佳实践,包括如何将传统的Web服务迁移到Serverless架构、Serverless SSR应用场景、全栈后台管理系统和基于热门语言TypeScript开发的短链接服务等。<br>第五部分( 5章) Serverless趋势预测<br>首先介绍了当前学术界在Serverless领域的研究方向、重点以及取得的成果,然后介绍了伯克利大学对Serverless未来10年发展趋势的预测。
作者简介<br>方坤丁<br>前腾讯云Serverless 产品经理<br>腾讯云Serverless项目的早期参与者,有多年云计算相关产品的策划经验,对云计算行业有深刻理解。在Serverless 方面有丰富的经验,是Serverless Framework/Components等开源项目活跃贡献者,曾负责负载均衡、消息队列和云函数等产品,致力于Serverless架构中解决方案的推出和落地。熟悉 Apache Kafka、Nginx 等中间件。<br>曾任2018 Kafka Meetup深圳站组织者,2019 KubeCon Serverless专题演讲嘉宾,2020 QCon+及Next.js Conf演讲嘉宾。<br><br>孙远高<br>腾讯云Serverless 研发工程师<br>熟悉Serverless架构和工程化实践,专注于Serverless开源生态建设,参与从零开发和建设腾讯云Serverless开源项目。Serverless Framework/Components开源项目的活跃贡献者,有丰富的Web开发实战经验和丰富的云计算行业经验。擅长前端工程化建设、前端自动化部署。
前 言<br/>第1章 全面了解Serverless 1<br/>1.1 什么是Serverless 1<br/>1.1.1 初识Serverless 1<br/>1.1.2 Serverless特性举例 2<br/>1.2 Serverless的发展历程 3<br/>1.2.1 Serverless的产生 4<br/>1.2.2 Serverless发展里程碑 5<br/>1.3 Serverless的优缺点 7<br/>1.4 Serverless的应用场景 9<br/>1.5 Serverless框架和生态 10<br/>1.6 本章小结 11<br/>第2章 Serverless架构 13<br/>2.1 Serverless架构概述 13<br/>2.1.1 Serverless = FaaS + BaaS 13<br/>2.1.2 传统应用架构分析 15<br/>2.1.3 典型Serverless应用架构 16<br/>2.1.4 Serverless架构与传统架构 17<br/>2.2 FaaS架构介绍 17<br/>2.2.1 FaaS架构组成 18<br/>2.2.2 FaaS架构执行流程 18<br/>2.3 BaaS服务介绍 20<br/>2.3.1 BaaS服务的产生背景 20<br/>2.3.2 BaaS服务的分类 20<br/>2.4 Serverless服务构建的思维方式 21<br/>2.5 本章小结 22<br/>第3章 Serverless原理详解:FaaS层 23<br/>3.1 事件模型 23<br/>3.1.1 FaaS事件模型 23<br/>3.1.2 常见触发器介绍 25<br/>3.2 错误处理和重试机制 26<br/>3.3 生命周期 27<br/>3.4 冷启动优化 28<br/>3.4.1 冷启动的产生 29<br/>3.4.2 平台侧冷启动的优化 31<br/>3.4.3 用户侧冷启动的规避 31<br/>3.5 部署 个Serverless实例 32<br/>3.5.1 部署Hello World函数示例 32<br/>3.5.2 参数定义 34<br/>3.6 运行时和自定义运行时 34<br/>3.6.1 运行时和自定义运行时的概念 35<br/>3.6.2 自定义运行时示例 37<br/>3.7 本章小结 39<br/>第4章 Serverless原理详解:BaaS层 41<br/>4.1 Serverless接入层:API网关 41<br/>4.1.1 基本概念 42<br/>4.1.2 网关和FaaS的联动 43<br/>4.2 Serverless和存储 45<br/>4.2.1 基本概念 46<br/>4.2.2 对象存储 47<br/>4.2.3 文件存储 49<br/>4.2.4 存储和FaaS的联动 52<br/>4.3 Serverless和数据库 61<br/>4.3.1 基本概念 61<br/>4.3.2 数据库和FaaS的联动 62<br/>4.4 Serverless和消息队列 67<br/>4.4.1 基本概念 67<br/>4.4.2 消息队列和FaaS的联动 69<br/>4.5 Serverless和日志服务 71<br/>4.5.1 基本概念 71<br/>4.5.2 日志服务和FaaS的联动 73<br/>4.6 其他扩展能力 74<br/>4.7 本章小结 76<br/>第5章 Serverless开发工具及调试能力 77<br/>5.1 Serverless Framework 78<br/>5.1.1 YAML配置文件 79<br/>5.1.2 什么是Serverless Plugin 79<br/>5.1.3 什么是Serverless Component 80<br/>5.1.4 Serverless Plugin与Serverless Component 81<br/>5.1.5 安装和使用 81<br/>5.1.6 Serverless Component部署原理 82<br/>5.1.7 版本对比 84<br/>5.2 Apex 85<br/>5.2.1 安装使用 85<br/>5.2.2 实时日志 87<br/>5.2.3 监控数据 87<br/>5.3 Serverless云端调试 88<br/>5.4 本章小结 92<br/>第6章 Serverless排障 93<br/>6.1 Serverless监控及告警 93<br/>6.1.1 基础指标监控 94<br/>6.1.2 应用级别监控 94<br/>6.1.3 Serverless告警 99<br/>6.2 Serverless日志 100<br/>6.3 本章小结 102<br/>第7章 Serverless CI/CD 103<br/>7.1 CI/CD概念和介绍 104<br/>7.1.1 持续集成 104<br/>7.1.2 持续交付 105<br/>7.1.3 持续部署 105<br/>7.1.4 CI/CD的优点 106<br/>7.2 Serverless CI/CD介绍 106<br/>7.3 CI/CD工具介绍 108<br/>7.4 GitHub Actions 109<br/>7.4.1 基本概念 110<br/>7.4.2 创建 个工作流 111<br/>7.4.3 Workflow文件 114<br/>7.4.4 Serverless结合GitHub Actions示例 116<br/>7.5 Coding DevOps服务 123<br/>7.6 AWS CodePipeline服务 126<br/>7.7 本章小结 127<br/>第8章 Serverless工作流 128<br/>8.1 Serverless应用内的状态管理 128<br/>8.2 Serverless状态机 130<br/>8.2.1 状态机简介 130<br/>8.2.2 AWS Step Function 131<br/>8.2.3 典型场景 133<br/>8.3 本章小结 136<br/>第9章 Serverless资源管理和编排 137<br/>9.1 AWS资源编排工具 137<br/>9.1.1 AWS Cloud Formation 137<br/>9.1.2 AWS SAM 140<br/>9.2 Terraform 142<br/>9.2.1 Terraform简介 142<br/>9.2.2 使用Terraform管理云资源 143<br/>9.3 Serverless Component 145<br/>9.4 本章小结 147<br/> 0章 开发Serverless Web服务:RESTful API 148<br/>10.1 Serverless Web服务 148<br/>10.1.1 传统的Web服务 148<br/>10.1.2 Web框架迁移到Serverless的原理 149<br/>10.1.3 Express.js框架开发转化层 150<br/>10.1.4 Node.js HTTP服务监听方式的选择 152<br/>10.1.5 转化层代码编写 153<br/>10.2 理解RESTful架构 155<br/>10.3 RESTful API的开发 157<br/>10.3.1 初始化项目 157<br/>10.3.2 Express路由的使用 158<br/>10.3.3 改造成可执行的云函数 160<br/>10.3.4 编写RESTful风格的服务 162<br/>10.3.5 如何操作云数据库 164<br/>10.4 部署应用 171<br/>10.4.1 手动打包部署 171<br/>10.4.2 通过Serverless Framework工具部署 174<br/>10.5 本章小结 176<br/> 1章 Serverless后台管理系统 177<br/>11.1 Egg.js框架简介 178<br/>11.2 系统框架设计 178<br/>11.3 数据库设计 179<br/>11.4 创建数据库 180<br/>11.5 开发准备 182<br/>11.6 开发后端服务 183<br/>11.7 后端服务部署 195<br/>11.7.1 准备工作 195<br/>11.7.2 配置serverless.yml 196<br/>11.7.3 开始部署 197<br/>11.7.4 账号配置(可选) 198<br/>11.8 前端开发 199<br/>11.8.1 删除接口模拟 199<br/>11.8.2 修改接口函数 200<br/>11.8.3 修改接口工具函数 202<br/>11.8.4 修改UI界面 205<br/>11.9 前端部署 205<br/>11.9.1 创建serverless.yml配置文件 205<br/>11.9.2 执行部署 206<br/>11.10 部署优化 207<br/>11.10.1 改造后端YML配置 208<br/>11.10.2 新增层配置 208<br/>11.10.3 部署层 209<br/>11.10.4 管理系统项目模板 210<br/>11.11 本章小结 211<br/> 2章 Serverless和前端的天作之合:服务端渲染SSR 212<br/>12.1 SSR与Serverless 212<br/>12.2 快速将SSR应用Serverless化 214<br/>12.3 性能分析 219<br/>12.4 方案对比分析 222<br/>12.5 Serverless部署方案的优化 223<br/>12.5.1 通过COS托管静态资源 224<br/>12.5.2 静态资源配置CDN 227<br/>12.5.3 静态资源优化前后对比 229<br/>12.5.4 基于层部署node_modules 229<br/>12.6 本章小结 232<br/> 3章 基于Serverless的短链接服务 233<br/>13.1 什么是短链接 233<br/>13.2 短链接基本原理 234<br/>13.3 创建数据库 235<br/>13.3.1 表结构 235<br/>13.3.2 创建PostgreSQL数据库 236<br/>13.4 服务开发 241<br/>13.4.1 TypeScript简介 241<br/>13.4.2 基于Express服务开发 242<br/>13.4.3 前端页面 251<br/>13.4.4 服务Serverless化 255<br/>13.5 本章小结 257<br/> 4章 Serverless消息实时推送:结合WebSocket实现外卖点单系统 258<br/>14.1 消息实时推送 258<br/>14.2 基于Serverless实现WebSocket外卖点单系统 260<br/>14.2.1 基于Serverless实现WebSocket协议 260<br/>14.2.2 系统架构说明 262<br/>14.3 应用开发及部署 263<br/>14.4 本章小结 270<br/> 5章 Serverless展望:云计算的下个十年 271<br/>15.1 Serverless研究趋势 271<br/>15.2 Serverless研究成果和亮点 273<br/>15.2.1 Serverless和机器学习 273<br/>15.2.2 Serverless文件系统 275<br/>15.2.3 Serverless数据中心 277<br/>15.3 Serverless未来的发展趋势 278<br/>15.4 本章小结 280