AWS Lambda Docs

Preface

AWS Lambda 是我个人认为对于不限定特定领域的开发者而言, 最值得学习的技术之一. 想象一下, 你在笔记本电脑上写了一个应用, 你无需部署服务器, 无需构建容器镜像, 无需考虑高并发, 就能将你的 App 部署成一个云上应用. 你可以同步调用, 异步调用, 可以用消息队列, 可以用事件驱动. 是业内大火的微服务架构的最佳实践. 它支持按需付费模式, 你的程序跑了几毫秒 (精确到毫秒) 就按照实际使用量收费. 既能满足微小项目的需求, 也能满足企业级海量并发项目的需求. 可以做 API 服务器的后端, 也可以做 Web 服务器的后端, 还能做各种运维定时项目, 机器人项目, 数据分析和处理, 机器学习运算. 是从时间投资回报率的角度来看, 最高的技术之一, 同时也是适用性最广的技术之一.

AWS Lambda 是业内的函数即服务的最佳实践之一, 它容易上手, 但难于精通. 本文档将会从最基础的部分开始, 循序渐进, 将我 10 年多的 AWS Lambda 经验梳理一遍, 以供我自己查找以及他人学习. 这篇文档将会分为 3 个部分:

  1. Lambda 的基础知识. 主要说的是 Lambda 是什么, 有哪些概念, 有哪些功能, 这些功能都能怎么用. 在这一部分我们主要了解 Lambda 能做到什么, 不会涉及实际工程项目来讲解.

  2. 基于前面的基础知识, 按照工程项目中常常面临的问题来讲解. 如何使用 Lambda 的这些功能来解决实际问题. 主要是各种问题的最佳实践.

  3. 最后是一些成熟的基于 Lambda 的 Solution.

Monitoring and Troubleshooting Lambda Applications

  • Using Amazon CloudWatch

  • Using AWS X-Ray: 相当于一个 Lambda 的 profiler, debug 日志

  • Logging AWS Lambda API Calls with AWS CloudTrail