Azure 为了降低成本,有哪些可能的Web应用程序(AWS)无服务器系统架构

Azure 为了降低成本,有哪些可能的Web应用程序(AWS)无服务器系统架构,azure,amazon-ec2,aws-lambda,cloud,serverless-framework,Azure,Amazon Ec2,Aws Lambda,Cloud,Serverless Framework,*为发布的图片道歉* 我正在为AWS上托管的具有以下配置/设置的应用程序寻找潜在的成本削减措施 EC2实例 Java动态Web应用程序与Web服务器、应用程序服务器 RDS-MySQL 应用程序在一个月的1周内使用了95%的时间,剩余的5%时间分布在剩余的3周内 为了降低成本,不必为EC2实例付费,我们正在寻求无服务器 我的背景w.r.t.云/AWS: 除了EC2之外,我以前在任何基于云的系统中都没有专业的工作经验,在EC2中,我使用与上面类似的设置管理Java Web应用程序 我只是在网

*为发布的图片道歉*

我正在为AWS上托管的具有以下配置/设置的应用程序寻找潜在的成本削减措施

  • EC2实例
  • Java动态Web应用程序与Web服务器、应用程序服务器
  • RDS-MySQL
应用程序在一个月的1周内使用了95%的时间,剩余的5%时间分布在剩余的3周内

为了降低成本,不必为EC2实例付费,我们正在寻求无服务器

我的背景w.r.t.云/AWS:

  • 除了EC2之外,我以前在任何基于云的系统中都没有专业的工作经验,在EC2中,我使用与上面类似的设置管理Java Web应用程序
  • 我只是在网上搜索和阅读了很多网站/博客
我根据网上阅读的材料准备了一份报告。但我需要专家意见/确认演示文稿中的解决方案选项是否正确

  • 可能实施
  • 与EC2实现相比,实现起来不太复杂
  • 与租用EC2实例相比,作为一般情况,可能节省资金
  • 演示幻灯片如下所示:









    我并不局限于AWS,但由于当前应用程序托管在AWS上,所以我希望使用相同的平台。 但如果类似的实现可以使用Azure或其他平台,我们是开放的

    我们所寻求的只是削减成本

    我可能会错过一些重要的信息,为您提供帮助建议我。请告诉我你需要什么,我会帮你拿的

    谢谢


    关于

    以下是我对这个广泛问题的看法,我的答案是面向AWS的,但所有云供应商都提供类似的服务:

    在大多数情况下,从Monolith到无服务器,您绝对可以节省大笔资金。

    • 您不需要为空闲的计算时间付费,只需要为您的系统正在做一些有价值的事情的毫秒付费
    • 您的服务可以扩展到每小时数百万个请求,而无需事先警告
    • 无需维护服务器、负载平衡器或数据库实例
    迁移到无服务器确实意味着重新构建事件驱动的应用程序。这可能是一个极具挑战性的范式转变,但你不会回头看。您可以选择从完全重写开始,也可以使用以更渐进地移动

    我建议对大多数无服务器系统提供以下AWS服务:

    • S3静态网站,承载单页应用程序(Angular、React、Vue)
    • API网关,坐在那里等待来自web应用程序或API的传入HTTPS请求。还可以使用自定义授权程序来控制访问
    • Lambda,用于响应事件(来自API网关、S3文件上载、数据更改)
    • DynamoDB,用于结构化数据存储(S3用于二进制人工制品)
    • 步骤函数,用于编排更复杂的Lambda事件链
    根据您的具体用例,您还可以使用SNS、SES、Kinesis等

    作为代码风格的方法,它非常适合在基础架构中协调所有这些服务。大大简化了所有依赖项的部署。他们也有很多这样的例子

    无服务器功能的扩展非常平滑。。。但是,要注意强调不需要的服务,例如关系数据库或第三方API


    如果您拥有24/7的一致负载(高利用率EC2)或运行长处理批处理作业(在SQS上扩展EC2更合适),您将不会节省资金的场景是。

    在“重”周需要多少实例和什么类型,在“轻”周需要多少/类型?DB层也一样?是的,它们是可以实现的,但它们是否“太复杂”或是否可能节省资金则更不确定。我的想法是,这个问题太广泛了,没有一个“正确”的答案,这正是我们在这里努力的目标。