译者序一
当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月