书籍作者:刘宇 | ISBN:9787121376283 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:3501 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
《Serverless架构:从原理、设计到项目实战》面向有兴趣使用或者正在使用Serverless架构部署相关应用与服务的技术人员,通过对Serverless基础的介绍、对相关规范和标准的描述,对架构、应用的讲解与阐述,为读者提供相对客观和完整的学习资料及文档资料;通过网站后端、监控告警、大数据与人工智能、物联网与高可用服务等不同场景的应用实例,以及简单博客系统的建设与基于人工智能的相册小程序系统的建设等完整项目,为读者提供更多的灵感与启发。基于本书所提供的十余个场景实践及两个完整项目,读者不仅可以快速入门Serverless架构,也可以将这些应用场景的代码直接应用到测试项目中,快速体验Serverless架构带来的便利与变化。
《Serverless架构:从原理、设计到项目实战》不仅包括Serverless架构的相关知识、规范标准、应用实践,也包括工业化产品和开源产品的相关探究和分析,还包括开源工具的介绍和使用方法,可以让读者对目前的Serverless相关产品有更深入的了解,甚至可以自行搭建属于自己的FaaS平台。本书的特色是学习与实践结合,希望通过广泛的场景抛砖引玉,让读者读完本书之后不仅可以知道什么是Serverless架构,更可以知道Serverless架构为我们带来了哪些变化、可以做哪些事情,zui主要的是,可以知道Serverless架构能为自己做哪些事情,并进行相关实践。
刘宇
腾讯云SCF团队后台研发工程师,毕业于浙江大学,硕士研究生。读书期间,先后参加过各类创新、创业比赛,学科竞赛,累计获得国家ji奖励十余项,省级奖励三十余项,其他各类奖励六十余项。
毕业后,曾在腾讯科技、滴滴出行等公司实习工作。在腾讯云曾参与Tencent Cloud云API Explorer产品设计,以及Serverless自动伸缩和开发者工具等模块的工作。
多次参与各类分享,例如在中国DevOps社区深圳的相关活动中分享Serverless相关技术与产品。同时在社区中非常活跃,曾多次参加各类Serverless相关技术沙龙、CNCF网络研讨会,以及Serverless架构相关分享会等,是Serverless架构的倡导者和先行者,致力于将Serverless架构推广到更多行业与领域,并为其提供应用策略及解决方案等。
★ 内容相当全面,包括Serverless相关知识、规范标准、工业化产品和开源产品探究和分析、开源工具的介绍和实用、各种应用场景实践、大型综合案例
★ 本书作者是腾讯云Serverless团队的主力成员,本书获得了来自云原生产业联盟、中国计算机学会、前端专家、社区组织者、阿里巴巴等专家的力荐
★ 读完本书可以你对目前的Serverless相关产品有更深入的了解,甚至可以自行搭建属于自己的FaaS平台
★ 相信各个技能水平的架构师和开发者,以及不同 Serverless 技术流派的用户都能从本书获益
云计算的不断发展给社会带来了诸多便利,云计算与大数据、人工智能的结合,更让我们的生活悄然发生着翻天覆地的变化。从IaaS到PaaS,再到如今的FaaS,每一个阶段都是人类文明前行的一小步,但却是当前技术发展的一大步。Serverless自概念被提出到现在,搜索热度与关注度、相关开源项目的增长速度与社区活跃度,都充分显示了广大云厂商、开发者对这个架构的支持和期待。甚至有人说Serverless才是真正的云计算,这种说法可能有些夸张,但是不可否认,Serverless技术确实在逐渐融入人们的生活并改变世界,无时无刻不在向我们阐述“云时代”真的要到来了。
本书将通过对Serverless架构的基本描述,介绍其发展历史、应用场景及未来展望,让读者可以更好地了解什么是Serverless及Serverless的过往、未来。本书也对Serverless架构的规范、标准等进行了描述,对开源框架、开源工具、工业化产品进行了相关分析,让读者在明白如何使用Serverless或者Serverless有哪些特性的同时,可以真正地使用Serverless相关产品,甚至可以通过开源项目搭建一套自己的Serverless服务。zui后,本书通过监控告警、网站后端、人工智能、大数据、物联网、高可用等多个领域的场景实践,以及两个完整的项目实战,并且与Web应用、微信小程序、快应用等结合,为读者进行了更加细致的分析和讲解,希望通过这种方式使读者不仅知道Serverless是什么,Serverless能做什么,还可以获得更多的启发,并将Serverless架构应用于实战,通过Serverless架构创造更多的价值,实现自身业务的快速上云。
本书共分为7章,详细介绍了Serverless的概念、标准规范、场景实践及项目实战。
第1章,主要介绍什么是Serverless、Serverless架构的优势和劣势、影响和价值、典型应用场景及对未来的展望,这一章是Serverless架构的介绍部分,读者可以对Serverless架构有一个全面深刻的认识,甚至可以评估出自己目前的产品是否适合接入Serverless架构、如果接入会有哪些好处和变化等。
第2章,主要介绍Serverless相关的标准和规范、开源产品发展情况、工业化产品发展情况及开发工具建设情况等。读者可以明确地知道Serverless架构的组成及各种相关产品的关系等,同时通过对开源产品的分析和探讨,深入了解OpenWhisk、Fission、Kubeless等相关开源项目,甚至可以动手搭建一个属于自己的Serverless平台。通过对工业化产品的分析,读者可以知道AWS、Google、Azure、腾讯云等云厂商在Serverless架构方面的发展情况。通过开发者工具部分,读者可以明白自己如果使用Serverless架构,应该如何进行开发。
第3、4、5章,结合Web服务、监控告警、大数据、人工智能及物联网等为读者带来十余个场景实践,通过这些场景实践希望读者对Serverless架构的作用及应用场景有更多的思考、获得更多启发,并深度认识Serverless架构给开发者、运维者等带来的变化,进而将Serverless架构与自身的项目和业务结合,并拓展思路探索更多的应有场景,创造更多的价值。
第6章和第7章,是两个相对完整的实战项目,从需求分析开始,到功能设计、数据库设计、接口设计,再到后端功能实现、前端功能实现,zui后部署上线,通过将对象存储、云数据库及云函数、API网关等产品进行融合,构建出完整的Web项目和微信小程序项目。在这两个项目中有大量的人工智能技术的应用,包括自然语言处理、推荐系统及计算机视觉等技术,不仅为学习增加了趣味性,也提高了项目的应用价值。
本书在编写过程中力求深入浅出、重点突出、简明扼要,尽可能方便不同专业背景和知识层次的读者阅读,同时通过基础知识与实践项目结合,力求为读者打造一种可学习、可实践、可思考、可探索的阅读体验。
在本书的编写过程中,腾讯云Serverless团队给予了大力支持,包括Yunong、Cliff、Scott、Horace等在内的前辈们都提供了大量帮助。Tina、Liujiang等也对本书的编写及相关文章的发表等提供了重要帮助和保障。在此特别感谢大家。另外,本书部分内容参考了公开资料和网络上的资源,在此也对相关作者致以深深的感谢。
zui后需要说明的是,Serverless是目前非常火的一种技术,其底层原理相对复杂,应用领域相对广泛,因此编写一本完美的Serverless图书绝非易事,书中难免存在疏漏或者错误,希望广大读者不吝赐教。如有任何建议、意见或者疑问,请及时联系作者,以便在后续版本中改进和完善。
第1章 初识Serverless 1
1.1 什么是Serverless 2
1.2 优势与劣势 6
1.3 影响力和价值 11
1.4 技术难点与挑战 14
1.5 典型应用场景 18
1.5.1 视频转码服务 18
1.5.2 数据ETL处理服务 19
1.5.3 网站(服务)后端 20
1.5.4 人工智能推理预测 20
1.5.5 物联网相关应用 21
1.6 发展与展望 21
第2章 Serverless入门 24
2.1 Serverless基础 25
2.2 Serverless架构规范 28
2.2.1 处理模型 28
2.2.2 函数相关规范 29
2.2.3 函数生命周期 32
2.2.4 工作流程 37
2.3 事件与规范 39
2.3.1 相关术语 39
2.3.2 上下文属性 40
2.4 开源项目与技术 44
2.4.1 OpenWhisk项目 44
2.4.2 Fission项目 54
2.4.3 Kubeless项目 70
2.5 工业化产品 78
2.5.1 AWS Lambda 78
2.5.2 Google Cloud Function 80
2.5.3 Azure Functions 80
2.5.4 腾讯云SCF 82
2.6 开发运维工具 83
2.6.1 CLI命令行工具 83
2.6.2 插件 91
第3章 Web与监控告警场景实践 94
3.1 运维、监控与告警 95
3.1.1 网站状态监控告警 95
3.1.2 服务状态监控告警 107
3.2 Web后端与应用服务端 114
3.2.1 上传图片加水印 114
3.2.2 用IP地址查天气并在小程序中应用 122
3.2.3 简易用户反馈功能与快应用实践 136
第4章 大数据与人工智能场景实践 147
4.1 大数据技术之MapReduce的简单实现 148
4.2 人工智能领域的实践 158
4.2.1 自然语言处理为你的网站赋能 158
4.2.2 智能客服与微信小程序 163
4.2.3 简单的车牌识别系统 174
4.2.4 视觉:对象检测系统 178
第5章 物联网和其他场景实践 190
5.1 物联网相关—定制智能音箱小工具 191
5.2 其他场景实践 197
5.2.1 OJ判题机/小程序在线编程系统实现 197
5.2.2 Serverless与高可用服务—使用云函数实现双机存储 202
5.2.3 Serverless与高可用服务—基于Serverless架构的高可用模型 206
5.2.4 微信公众号机器人 215
第6章 实战:Serverless与CMS 224
6.1 项目背景 225
6.2 项目设计 225
6.2.1 功能设计 225
6.2.2 数据库设计 229
6.2.3 接口设计 231
6.3 数据库开发 239
6.4 后端开发 241
6.5 前端开发 253
6.6 功能演示 257
6.7 项目总结 260
第7章 实战:小程序图片管理系统 261
7.1 项目背景 262
7.2 项目设计 262
7.2.1 功能设计 262
7.2.2 数据库设计 266
7.2.3 接口设计 268
7.3 数据库开发 275
7.4 后端开发 277
7.5 前端开发 298
7.6 效果展示 301
7.7 项目总结 304