这是一本从产品和技术两个维度全面讲解Serverless的著作,涵盖Serverless的架构设计、技术原理、开发流程、实战案例等4大核心主题。作者是腾讯云Serverless的高级产品经理和高级研发工程师,从零开始参与了腾讯云Serverless项目的建设。
全书共15章,内容从逻辑上可分为五个部分:
第一部分(第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开源生态建设,参与从零开发和建设腾讯云Ser... 方坤丁 前腾讯云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的不错产品经理和研发工程师,从零开始参与腾讯云Serverless项目,经验丰富。
2.视角立体:从产品和技术两个维度全面讲解Serverless,视角立体、丰富。
3.干货满满:涵盖Serverless架构设计、技术原理、开发流程、实战案例等4大核心主题。
4.内容中立:内容涵盖腾讯云、阿里云、亚马逊云等多个云厂商的技术和产品,非一家之言。
5.案例丰富
前 言
为什么要写这本书
2009年,加州大学伯克利分校发表了一篇论文,预言云计算将是未来重要的技术趋势。十年后的 2019年,该校对Serverless技术再次进行预测,认为Serverless技术是未来十年的技术趋势。Serverless计算被认为是云主机、容器之后的第三代计算形态,而Serverless和云平台的结合,也让该技术得到了前所未有的延伸和迅速发展。那么,为什么业界对这项技术如此看好?Serverless究竟有什么魔力,能同时获得工业界和学术界的青睐呢?
笔者身为云计算行业的从业者,初识Serverless是由于工作原因。Serverless相关产品是云平台服务的一部分,能够以解决方案的形式供客户使用,笔者也因此很荣幸地接触到了不同行业、不同需求的客户。在深入了解Serverless的过程中,笔者进一步感受到了Serverless概念之宏大,覆盖范围之广泛,便对这项技术产生了热情,并真正爱上了它。就如同所有改变世界的技术一样,这项技术在一定程度上实现了范式转变(paradigm shift)。就像在200年前,人们畅想出行未来的时候只能想到一匹跑得更快的马,而汽车横空出世,彻底改变了人们的出行方式。Serverless技术在一定程度上通过弹性伸缩、按需付费等特性,赋能开发者和企业,通过降低成本、提升效率的方式,实现了云计算的革命和企业数字化的范式转变。
Serverless 架构是一种新兴的技术,它提供了一种按需运行代码的方式,而无需关注服务器的管理。以下是一些关键概念和实践的简要概述:
概念:
Serverless 架构是事件驱动的,只有在接收到请求时才会运行代码。
Serverless 服务通常是第三方提供的,例如 AWS Lambda、Google Cloud Functions、Microsoft Azure Functions 等。
Serverless 应用通常包括一个事件源,用于触发函数的执行。
原理:
自动扩展/缩缩:服务根据需求自动调整计算资源。
按使用付费:只需支付函数运行的时间和使用情况。
容器化:代码在隔离的容器中运行,保证安全。
实践:
设计无状态应用:Serverless 函数是无状态的,应设计为无共享。
使用版本控制:函数应使用版本控制,允许并行测试和迁移。
管理依赖:依赖项应该通过包管理管理,避免上传到函数中。
资源管理:
使用 AWS CloudFormation 或 Terraform 等 IaC 工具来管理 Serverless 资源。
监控与日志:
使用 AWS CloudWatch 等服务来监控函数性能和日志。
安全性:
使用 IAM 角色来限制函数的权限。
确保传输和静态数据加密。
最佳实践:
使用 API 网关而不是直接暴露函数。
目录:
第1章 全面了解Serverless 1
第2章 Serverless架构 13
第3章 Serverless原理详解:FaaS层 23
第4章 Serverless原理详解:BaaS层 41
第5章 Serverless开发工具及调试能力 77
第6章 Serverless排障 93
第7章 Serverless CI/CD 103
第8章 Serverless工作流 128
第9章 Serverless资源管理和编排 137
第10章 开发Serverless Web服务:RESTful API 148
第11章 Serverless后台管理系统 177
第12章 Serverless和前端的天作之合:服务端渲染SSR 212
第13章 基于Serverless的短链接服务 233
第14章 Serverless消息实时推送:结合WebSocket实现外卖点单系统 258
第15章 Serverless展望:云计算的下个十年 271
点击下载