科技>通信与网络>通信网络
AWSServerless架构:使用AWS从传统部署方式向Serverless架构迁移

AWSServerless架构:使用AWS从传统部署方式向Serverless架构迁移"

作者:史天,张媛
ISBN:9787121381164
定价:¥98.0
字数:254千字
页数:196
出版时间:2019-12
开本:16开
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书可以指导读者在AWS云平台上部署Serverless项目,并学习和探索更多的Serverless服务,如Amazon Athena,一种交互式查询服务,使用标准SQL轻松分析Amazon S3中的数据。本书还介绍了AWS Glue,这是一种完全托管的ETL服务,可以使数据分类变得简单,并且经济、高效。图书介绍了如何利用Amazon Kinesis流数据分析,实时洞察和分析数据。在本书的最后,介绍了如何创建和运行第一个无服务器应用程序,该应用程序充分利用了AWS的高可用性、安全性和可伸缩性。 读者阅读本书,可以循序渐进的掌握无服务器架构的核心技术。

前言

译者序一 当Amazon Web Services(AWS)在2014年发布AWS Lambda服务的时候,相信很多人都被这种全新的云原生架构震撼到了,发现原来云计算还可以通过这样的方式打开。 在传统的应用程序开发和部署过程中,大家都必须要考虑服务器方面的规划,比如选择什么类型的服务器作为应用服务器或者数据库,需要多少台实例来构建整个集群,为实例配置什么规格的磁盘等。这样,除了业务上的开发和维护之外,研发和运维团队还需要投入大量精力对基础设施进行计划和测试,才能保证最后应用程序得以很“适合”地部署,并服务客户。 所以,Serverless概念一经提出后,所有人眼前一亮。Serverless或者说无服务器架构,并不是说应用和服务不再需要服务器了,而是通过这种方式将用户从繁杂的服务器维护管理工作中解脱出来,在不考虑服务器的情况下快速构建并运行应用程序和服务。团队可以更加专注于他们自己的核心产品开发,而无须担心在云中服务器的管理和运行。这样既减少了开销,又能够将更多时间和精力放在开发可扩展且可靠的出色产品上,提升灵活性和创新能力,并加速产品上市,可谓一举多得。 目前,Serverless服务已经成为了云计算厂商的标配,通过这几年的探索与实践,人们逐渐找到了非常丰富的Serverless应用场景,既可以用来作为Web应用程序、移动应用、IoT的后端,也可以作为数据的提取、转换、加载(ETL),或者流数据的实时分析等,大家将会在越来越多的场景中看到Serverless的身影。 本书的重点放在基于AWS的无服务器解决方案上,不仅介绍了AWS Lambda和Amazon API Gateway这样经典的Serverless服务,更是深入研究了广泛意义的Serverless模型,并介绍了AWS无服务器生态系统,涵盖了Amazon Simple Storage Service(S3)、 Amazon DynamoDB、Amazon Simple Queue Service(SQS)、Amazon Athena、AWS Glue和 Amazon Kinesis等。同时,在每个章节都有对应的示例和练习,读者可以在上手实验的过程中,加深对内容的记忆和理解。 一如既往,感谢编辑们和肖总的悉心指导和帮助,他们不辞辛苦地对本书进行了大量的校对和编辑工作,最终确保了本书的顺利出版。感谢爱人再次牺牲掉很多休息时间,又一次共同投入到翻译工作中。最后,感谢家人的鼓励和支持,他们经常关心本书出版的进度。 由于本人水平有限,书中难免会出现错误或者不妥之处,欢迎批评指正,谢谢。 史 天 2019年9月 译者序二 为什么要翻译这本书?这要从我现在的工作内容说起。 目前我在一家云管理服务初创公司做技术咨询和交付,帮助不同的客户去做业务和数据上云的架构设计与实施,以及对现有的应用进行云化改造。很多情况下,客户之所以要上云或者进行云原生应用开发就是因为要节省成本,控制预算,缩短应用上线的周期,并且快速迭代,尤其是创业公司,更需要好钢用在刀刃上。在这样的一个需求背景下,研究Serverless无服务器架构是非常有必要的。无服务器计算是云原生架构,无须预置或维护任何服务器,也无须安装、维护或管理任何软件或运行。 在AWS的无服务器平台上,可以使用一系列完全托管的服务构建和运行无服务器应用程序,并轻松地进行应用程序集成和扩展。通过AWS Lambda可定义、协调和运行生产级容器化应用程序和微服务,为实际业务逻辑提供支持。本书内容非常落地,从无服务器框架开始说起,通过一些常见的业务场景,比如Web图像处理、数据分析、实时数据洞察等,抽象出具体的无服务器架构实现方式,包括服务逻辑、数据流向和实施步骤,帮助读者理解并实践无服务器应用程序的构建。 虽然本书主要着眼于AWS云计算平台,但其核心还是通过具体的业务场景帮助大家理解什么是无服务器架构,以及如何充分利用无服务器架构的优势来构建自己的应用程序。 因时间和能力所限,书中难免有不当之处,请各位读者给出宝贵的建议,我们将不断努力完善,谢谢。 张 媛 2019年9月

目录

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

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个