https://www.infoq.com/articles/understanding-serverless-servicefull-applications
关键贴士
- serverless 不仅仅是 函数服务
- 不要害怕供应商锁定,通过事件集成来拥抱供应商的能力
- 开源工具能简化构建复杂应用
- 使用基础设施即代码(Infrastructure as Code,IaC)的解决方案(如 CloudFormation)来定义 Serverless 应用程序并简化 DevOps。
- 强大的监控解决方案可以通过精确的成本管理和评估工具提供函数和集成性能的可视化
对 Serverless 技术的误解
其中一个主要的误解是,Serverless 等同于功能即服务( Functions as a Service ,FaaS),因此不值得为此作出特别激进的改变。虽然 AWS Lambda 无疑是 Serverless 崛起的明星之一,并且可以说是 Serverless 架构越来越受欢迎的因素之一,但与 FaaS 相比,Serverless 还有更多功能。
Serverless 的核心原则是:我们不必担心如何管理基础设施或者扩容缩容,只需为使用的内容付费既可。如果考虑这些因素,那么就有许多可用的服务了,比如 AWS DynamoDB、S3、SNS 或 SQS、Graphcooll、Auth0、Now、Netlify 或 Firebase(还有很多很多)。最终,Serverless 提供了强大的云计算功能,而无需承担管理基础设施或优化容量可伸缩性的负担和责任。这种抽象还意味着基础设施层的安全不再是我们需要关心的问题了,考虑到维护安全标准的难度和复杂性,这是一个非常大的利好。最后但也很重要的是,如果我们不使用它所提供的基础设施,那么就不必为此付费。
总体讲 serverless 是未来开发的趋势