Amazon web services 我应该使用无服务器计算吗

Amazon web services 我应该使用无服务器计算吗,amazon-web-services,aws-lambda,serverless-framework,Amazon Web Services,Aws Lambda,Serverless Framework,我正在创建一个MVP(最小可行产品),它有一个nodejs服务器,使用express作为RESTAPI,使用socket.io连接作为聊天功能 我关心的不是成本或可扩展性,而是安装时间/维护,因为这是一个MVP。在AWS上设置/维护serverless或非serverless需要更少的时间吗?如果您想设置一个简单的REST API应用程序,serverless是一个不错的选择。使用Express也是一个不错的选择 API网关和Serverless现在也支持websocket,所以创建websoc

我正在创建一个MVP(最小可行产品),它有一个nodejs服务器,使用express作为RESTAPI,使用socket.io连接作为聊天功能


我关心的不是成本或可扩展性,而是安装时间/维护,因为这是一个MVP。在AWS上设置/维护serverless或非serverless需要更少的时间吗?

如果您想设置一个简单的REST API应用程序,serverless是一个不错的选择。使用Express也是一个不错的选择

API网关和Serverless现在也支持websocket,所以创建websocket应用程序应该很容易。然而,对于socket.io,您需要在深入研究之前做一些研究。 API网关上的Websocket支持是一个相对较新的概念,并且它没有太多的在线资源。与Lambda的结合起初可能有点难以掌握。至于socket.io,则更少


我个人建议为您的MVP运行一个运行socket.io的EC2实例。我想这会容易些

Serverless是一个很好的选择,因为您希望设置一个简单的RESTAPI应用程序。使用Express也是一个不错的选择

API网关和Serverless现在也支持websocket,所以创建websocket应用程序应该很容易。然而,对于socket.io,您需要在深入研究之前做一些研究。 API网关上的Websocket支持是一个相对较新的概念,并且它没有太多的在线资源。与Lambda的结合起初可能有点难以掌握。至于socket.io,则更少


我个人建议为您的MVP运行一个运行socket.io的EC2实例。我想这会容易些

选择无服务器基础架构而不是非无服务器基础架构有几个原因。在许多情况下,这些与AWS良好架构框架的5个支柱非常紧密地对齐。无服务器体系结构提供了出色的:

  • 可靠性-无需猜测容量,可根据需求轻松横向扩展
  • 效率-大幅降低间歇性和不频繁工作负载的成本
  • 维护-不存在
  • 可用性-高可用性和容错性
虽然您提议的项目似乎很适合FaaS框架(工作负载不频繁且不可预测,资源需求较低),但serverless的缺点,尤其是更复杂且更难测试的体系结构和供应商锁定,可能会使快速原型化和部署MVP变得很有挑战性


由于您的产品倾向于在上市时间上进行工程权衡,因此非无服务器方法最有可能使您能够以最小的麻烦快速发布MVP

选择无服务器基础架构而不是非无服务器基础架构有几个原因。在许多情况下,这些与AWS良好架构框架的5个支柱非常紧密地对齐。无服务器体系结构提供了出色的:

  • 可靠性-无需猜测容量,可根据需求轻松横向扩展
  • 效率-大幅降低间歇性和不频繁工作负载的成本
  • 维护-不存在
  • 可用性-高可用性和容错性
虽然您提议的项目似乎很适合FaaS框架(工作负载不频繁且不可预测,资源需求较低),但serverless的缺点,尤其是更复杂且更难测试的体系结构和供应商锁定,可能会使快速原型化和部署MVP变得很有挑战性


由于您的产品倾向于对上市时间进行工程权衡,因此非无服务器方法最有可能使您能够以最小的麻烦快速发布MVP

有些无服务器框架可用于AWS lambda功能。根据我在现实世界中的经验,每一个都有一些注意事项:

  • AWS Amplify()是面向开发人员的全堆栈无服务器解决方案。它一开始就很容易使用。欺骗。随着时间的推移,部署部分的维护成本会更高。当您只需要更改一段代码时,在AWS上部署堆栈的速度非常慢。它会将所有堆栈文件下载到本地,然后再次上载

  • 无服务器框架()不那么复杂,插件丰富,面向纳米函数。这个框架的缺点是每个代码函数在lambda中的使用都是相同的。项目越大,代码越大,因此lambda的冷启动速度越慢

  • Simplify framework()听起来是一个轻量级但功能丰富的框架。它允许您在项目中构建CI/CD。这个概念与AWS CDK在5月份刚刚发布的两天类似。您使用OpenAPI规范(招摇过市规范)设计API,这些规范将跨工具和流程重用和标准化API。没有仔细设计过供应商锁定。今天您在AWS中,但明天它将在您的本地服务器上


  • 您可以选择适合您的解决方案的方案。没有一个适合所有人。

    有些无服务器框架可以在AWS lambda函数上工作。根据我在现实世界中的经验,每一个都有一些注意事项:

  • AWS Amplify()是面向开发人员的全堆栈无服务器解决方案。它一开始就很容易使用。欺骗。随着时间的推移,部署部分的维护成本会更高。当您只需要更改一段代码时,在AWS上部署堆栈的速度非常慢。它会将所有堆栈文件下载到本地,然后再次上载

  • 无服务器框架()不那么复杂,插件丰富,面向纳米函数。这个框架的缺点是每个代码函数在lambda中的使用都是相同的。项目越大,代码越大,因此lambda的冷启动速度越慢

  • Simplify framework()听起来是一个轻量级但功能丰富的框架。它允许你