【问题标题】:How to calculate costs on AWS?如何计算 AWS 上的成本?
【发布时间】:2018-04-16 11:52:08
【问题描述】:

我们目前正在构建一个应用程序,需要计算/估算我们的服务器成本。我们正在 AWS EC2 实例上构建我们的服务。目前,我们正在使用免费套餐。不幸的是,我们无法使用亚马逊简单的月度计算器估算我们未来的成本,因为我们不知道哪些实例适合我们的项目。 我们有两个实例。一个运行一个 API,它为 iOS、Android 和一个 Web 应用程序提供端点。另一个运行 Web 应用程序。该应用程序可与区域社交网络相媲美。这两个应用程序都建立在 NODEJS 之上。此外,我们在 RDS 上使用 Postgres 安装。是否有任何基于用户数量的工具或任何经验报告?有没有人做过类似的事情?谢谢!

【问题讨论】:

  • 如果您想预测成本,您需要使用一些非免费的 EC2 实例类型并执行一些基准测试以确定您认为需要什么。然后是项目成本。如果不对您的应用程序进行基准测试,没有人可以告诉您您需要什么。数据库中缺少一个索引,或者一个非常复杂的查询,或者代码中一个非常低效的部分可能会对性能产生巨大影响,因此仅列出您正在使用的技术并不能深入了解运行它需要哪些云计算资源.
  • 感谢您的回答@MarkB 这是我们第一个使用 AWS 的项目。请原谅我们缺乏知识。有没有关于执行基准测试的好资源?或者该主题的任何介绍/初学者指南?

标签: node.js postgresql amazon-web-services amazon-ec2 amazon-rds


【解决方案1】:

了解您需要多少资源的唯一方法是根据模拟(或真实!)使用情况实际配置和运行应用程序,并测量 CPU、内存和磁盘等因素。永远不会有一个神奇的公式可以告诉您您需要什么...除非您根据自己的应用程序的实际测试和测量自己编写公式

因此,您有两种通用方法:

  • 模拟它,或者
  • 在生产环境中运行

在这两种情况下,您都需要部署完全配置的应用,对其运行负载(真实或模拟),然后测量您认为重要的所有部分。

鉴于云是按需付费的,因此在生产环境中进行测试可能是一种非常有效的方法。您应该过度配置资源以确保您的客户不受影响,然后在一段时间内运行和衡量您的应用。一旦你确认它被过度配置,减少资源以节省成本。与购买实际硬件的历史需求相比,此测试期间的额外成本是微不足道的,因为出错代价高昂。

有了良好的测量数据,您还可以配置 Auto Scaling,这样您的应用程序会在繁忙时配置更多实例,而在安静期间配置较少实例。这使您可以在需要时支持更多用户,但在不需要时节省资金。

最后,您始终可以考虑使用可根据使用情况自动扩展的无服务器架构(例如 AWS Lambda 函数),因此您只需为使用量付费。

【讨论】:

  • 嗨@john 感谢您的详细回答。我想我们会尝试 AWS Lambda 或类似的。
猜你喜欢
  • 2020-07-06
  • 1970-01-01
  • 2020-08-17
  • 1970-01-01
  • 2016-11-29
  • 1970-01-01
  • 2016-10-11
  • 1970-01-01
  • 2020-11-30
相关资源
最近更新 更多