《Serverless Architectures on AWS》是一本由Peter Sbarski撰写的关于无服务器架构的权威指南,旨在帮助开发者和架构师深入了解如何在AWS平台上构建、部署和管理无服务器应用程序。本书由Manning Publications于2017年出版,涵盖了从基础概念到高级实践的广泛内容,适合从初学者到资深专业人士的广泛读者群体。
书籍结构与内容
第一部分:基础入门
- 第1章:介绍了无服务器架构的背景、发展历程以及与传统架构的对比。详细阐述了无服务器架构的五大核心原则,包括使用计算服务按需执行代码、编写单一职责的无状态函数、设计基于事件驱动的管道、创建更强大的前端以及利用第三方服务。
- 第2章:探讨了无服务器架构的常见用例,如应用程序后端、数据处理、实时分析等,并介绍了相关的架构模式,如计算作为后端、计算作为胶水、GraphQL等。
- 第3章:通过构建一个视频分享网站“24-Hour Video”,详细介绍了如何使用AWS Lambda、S3、Elastic Transcoder等服务实现无服务器架构的事件驱动管道。本章还涵盖了如何测试和部署Lambda函数、配置SNS通知等实用内容。
第二部分:核心概念
- 第4章:深入探讨了AWS的安全模型、身份管理和访问控制。介绍了IAM用户、组、角色、策略等关键概念,并提供了如何配置和管理这些资源的实用指南。
- 第5章:专注于无服务器架构中的认证和授权问题,介绍了AWS Cognito和Auth0等服务,并展示了如何在24-Hour Video中实现用户认证、授权和用户信息管理。
- 第6章:深入剖析了AWS Lambda的内部机制,包括事件模型、编程模型、版本控制、别名、环境变量等。此外,还介绍了如何使用AWS CLI管理和部署Lambda函数,以及如何通过设计模式优化Lambda函数的开发。
第三部分:架构扩展
- 第7章:详细介绍了API Gateway的功能和使用方法,包括如何创建和管理API资源、方法,以及如何通过Lambda代理集成简化开发流程。本章还探讨了API Gateway的缓存、限流、日志记录等优化功能。
- 第8章:探讨了存储在无服务器架构中的重要性,包括S3的高级功能,如版本控制、静态网站托管、存储类别、生命周期管理和传输加速。此外,还介绍了如何实现安全的文件上传和生成预签名URL。
- 第9章:介绍了如何使用Firebase等第三方服务增强无服务器架构的功能,包括数据存储、安全规则、用户认证等。
- 第10章:总结了无服务器架构的发展趋势,探讨了如何通过部署框架、微服务改进、错误处理和Step Functions等技术进一步扩展无服务器应用。
适用读者
本书适合对无服务器架构感兴趣的开发者、架构师和系统管理员。无论是刚刚接触AWS和无服务器概念的初学者,还是希望深入了解高级实践和优化技巧的资深专业人士,都能从本书中获得宝贵的指导和启发。
特色与亮点
- 实战性强:通过构建24-Hour Video项目,读者可以逐步学习如何实现一个完整的无服务器应用。
- 涵盖广泛:从基础概念到高级实践,从AWS服务到第三方集成,内容全面且深入。
- 实用指南:提供了大量实用的代码示例、配置指南和最佳实践,帮助读者快速上手并解决实际问题。
总之,《Serverless Architectures on AWS》是一本全面、深入且实用的无服务器架构指南,是希望在AWS平台上构建高效、可扩展应用的开发者的必备书籍。