本书适合的读者你如果想学习开发无服务器应用程序,并拥有一些编程经验,那么本书的内容将非常适合你。阅读本书之前,不必具有丰富的AWS使用经验,但具备Java或Node.js的基本知识将是一个优势。实验和练习本书会采用动手实践的方法来教读者学习如何设计和部署无服务器架构,包含多个使用真实业务场景的实验,以便我们可以在相关环境中练习和应用新技能。
本书可以指导读者在AWS云平台上部署Serverless项目,并学习和探索更多的Serverless服务,如*** Athena,一种交互式查询服务,使用标准SQL轻松分析Ama*** S3中的数据。本书还介绍了AWS Glue,这是一种完全托管的ETL服务,可以使数据分类变得简单,并且经济、高效。图书介绍了如何利用Amaz** Kinesis流数据分析,实时洞察和分析数据。在本书的最后,介绍了如何创建和运行第一个无服务器应用程序,该应用程序充分利用了AWS的高可用性、安全性和可伸缩性。 读者阅读本书,可以循序渐进的掌握无服务器架构的核心技术。
1 AWS、AWS Lambda和无服务器应用程序 1
1.1 无服务器概述 1
1.2 无服务器模型 2
1.2.1 无服务器模型的优势 4
1.3 AWS简介 6
1.3.1 AWS无服务器生态系统 6
1.4 AWS Lambda 8
1.4.1 AWS Lambda语言支持 10
1.4.2 练习1:运行第一个Lambda函数 10
1.4.3 思考题1:计算两个数字平均值的平方根 16
1.4.4 AWS Lambda的限制 16
1.4.5 AWS Lambda定价 17
1.4.6 Lambda免费套餐 18
1.4.7 思考题2:计算Lambda费用 19
1.4.8 其他成本 19
1.5 小结 20
2 AWS无服务器平台 21
2.1 概述 21
2.2 Amazon S3 22
2.2.1 Amazon S3的主要特征 23
2.2.2 部署静态网站 25
2.2.3 练习2:在S3存储桶中设置静态网站(使用Route 53管理域名) 25
2.2.4 启用版本控制 32
2.3 S3和Lambda集成 33
2.3.1 练习3:编写Lambda函数,读取S3中的文本文件 33
2.4 Amazon API Gateway 38
2.4.1 什么是Amazon API Gateway 38
2.4.2 Amazon API Gateway概念 39
2.4.3 练习4:创建REST API,并将其与Lambda集成 40
2.5 其他AWS服务 47
2.5.1 Amazon SNS 47
2.5.2 Amazon SQS 48
2.5.3 Amazon DynamoDB 50
2.5.4 DynamoDB流 51
2.5.5 DynamoDB流与Lambda集成 51
2.5.6 练习5:创建SNS主题并订阅 52
2.5.7 练习6:SNS与Lambda集成 56
2.5.8 思考题3:将对象上传到S3存储桶时获取电子邮件通知 61
2.6 小结 62
3 构建和部署媒体应用程序 63
3.1 概述 63
3.2 设计媒体Web应用程序――从传统架构到无服务器 64
3.3 构建无服务器媒体Web应用程序 65
3.3.1 练习7:构建要与API一起使用的角色 66
3.3.2 练习8:创建与Amazon S3服务交互的API 69
3.3.3 练习9:构建图像处理系统 81
3.4 无服务器架构中的部署选项 86
3.4.1 思考题4:创建删除S3存储桶的API 88
3.5 小结 89
4 Amazon Athena和AWS Glue无服务器数据分析与管理 91
4.1 概述 91
4.2 Amazon Athena 92
4.2.1 数据库和表 94
4.2.2 练习10:使用Amazon Athena创建数据库和表 95
4.3 AWS Glue 102
4.3.1 练习11:使用AWS Glue构建元数据存储库 104
4.3.2 思考题5:为CSV数据集构建AWS Glue数据目录,
并使用Amazon Athena分析数据 110
4.4 小结 111
5 Amazon Kinesis实时数据洞察 113
5.1 概述 113
5.2 Amazon Kinesis 114
5.2.1 Amazon Kinesis优势 114
5.3 Amazon Kinesis Data Streams 115
5.3.1 Amazon Kinesis Data Streams工作机制 116
5.3.2 练习12:创建样本Kinesis流 116
5.4 Amazon Kinesis Data Firehose 124
5.4.1 练习13:创建Amazon Kinesis Data Firehose传输流 125
5.4.2 思考题6:对传入数据执行数据转换 135
5.5 Amazon Kinesis Data Analytics 137
5.5.1 练习14:设置Amazon Kinesis Data Analytics应用程序 139
5.5.2 思考题7:添加参考数据,并与实时数据进行连接 153
5.6 小结 154
附录 157