Serverless Framework:本地开发、测试与监控全指南
1. Serverless离线开发(本地运行)
部分开发者倾向于在本地开展工作,在将应用部署到特定环境之前,确保一切在自己的机器上正常运行。然而,对于云原生应用而言,这颇具挑战,因为通常所使用的服务多为托管服务,无法在云提供商之外的服务器上自行运行。例如,无法在自己的数据中心或虚拟机中完整运行亚马逊S3服务。
本地开发具有以下显著优势:
- 快速验证与测试 :能够迅速对新代码或代码更改进行验证和测试,并非每次代码更改都需要部署到云服务。
- 成本把控 :若云服务定价模式难以理解,本地开发有助于更好地掌控成本。
- 高效调试 :支持本地调试,可缩短迭代周期。
随着技术的发展,本地开发取得了显著进展,出现了新的选择。借助AWS,现在可以在本地运行DynamoDB,使用无服务器应用模型在本地运行API网关,本地调用Lambda函数,并启动一些本地端点,以便在将应用部署到ECS之前进行测试。
下面介绍使用Serverless Framework在本地运行服务和进行开发的具体方法。
首先,可以使用现成的命令在本地调用函数。函数本质上就是代码,模拟起来并不复杂。以下命令展示了如何使用已在本地开发好的代码在本地调用函数:
sls invoke local -f <function-name>
该命令会向上下文对象注入一