【问题标题】:Run application on multiple locations and Pay as You Go [closed]在多个位置运行应用程序并随用随付[关闭]
【发布时间】:2020-10-10 13:12:42
【问题描述】:
大家好,我需要建议才能做出正确的架构决策。
我需要能够在不同的位置(国家/城市)上运行控制台应用程序(或未来的 docker 容器),而无需为数百个始终运行的虚拟机付费。
换句话说,我需要按下按钮并在纽约的服务器上运行应用程序几个小时,再按下一次,相同的应用程序将在 Stambul 中运行。
直接的方法是购买数百台虚拟机,但有两个问题:
- 太贵了。
- 可能只会使用其中的几个,但我必须为所有这些付费。
你有什么推荐的?
Azure 支持吗?或者也许是 AWS?
【问题讨论】:
标签:
amazon-web-services
azure
docker
kubernetes
cloud
【解决方案1】:
首先,云服务提供商的工作基于地区而不是像您提到的纽约等城市,但您可以始终选择 nearest region 到您想要运行应用程序的国家/城市。您也可以尝试cloudping 或aws cloudping 获取最近的地区。
换句话说,我需要按下按钮并运行应用程序
在纽约的服务器上几个小时,下一次新闻,同样的
应用程序将在 Stambul 中运行。
所以我会推荐 docker 容器,因为您想在不同的区域运行相同的应用程序,因此最好使用容器而不是 mainain AMI。
AWS fargate 旨在实现按需付费以及零服务器维护,这意味着您只需要指定 docker 映像并运行您的应用程序,其余的 AWS 将处理资源。
AWS Fargate 是适用于容器的无服务器计算引擎
同时使用 Amazon Elastic Container Service (ECS) 和 Amazon Elastic
Kubernetes 服务 (EKS)。 Fargate 让您轻松专注于
构建您的应用程序。 Fargate 消除了配置和
管理服务器,让您指定资源并为每个资源付费
应用程序,并通过应用程序隔离提高安全性
设计。
就像你提到的
无需为数百个始终运行的虚拟机付费。
因此您不需要付费,您只需为启动/运行容器时应用程序使用的计算时间付费。
使用 AWS Fargate,无需预付款,您只需支付
您使用的资源。您为 vCPU 和内存的数量付费
容器化应用程序消耗的资源。
AWS Fargate pricing
出于部署目的,我会推荐terraform,因此您只需为区域创建资源,而对于区域的其余部分,您可以将其参数化。