消除云实例的启动时间

消除云实例的启动时间

我正在从事一个自动化项目,需要不定期的高计算能力。

我最初的想法是以经济有效的方式解决这个问题,即创建几个google cloud compute实例,并在需要执行计算时启动它们,然后在完成计算时停止它们。

我的问题是,booting一个实例takes almost a minute,然后another minutestart我的过程。Calculation通常只需要60s

我浪费了总计算时间的 2/3 来启动实例和启动进程。然后关闭实例也需要 1 分钟。这段时间也需要付费。在这种情况下,只有 1/4 的成本用于计算。

有人遇到过类似的问题吗?您采取了什么方法消除这种时间(和金钱)浪费?如果我可以让一个实例“休眠”(并且不收取休眠时间的费用),然后以最小的延迟恢复它,那就太好了。

答案1

如果你可以从你的应用程序中创建 Docker 容器,并且你不受 GCP 的约束,可以使用 AWS,那么你可以在AWS Fargate- 它是一个用于运行 Docker 容器的无服务器平台。

AWS Fargate您只需为容器运行的时间付费(从存储库下载容器的开销很小,但只有一两秒钟),并且无需启动/关闭任何底层基础设施。价钱是每秒,最低 1 分钟,每分钟的价格取决于您选择的中央处理器内存配置。

或者你可以运行你的二进制文件AWS Lambda- 它不仅支持运行源代码,还支持运行任何 Linux 可执行文件。请参阅在 AWS Lambda 中运行任意可执行文件

更新:正如您在评论中提到的,您的工作负载在 Windows 上运行,需要大量 CPU - 在这种情况下,您可能仍需要在标准 AWS EC2 Windows 实例上运行它。看看AWS Spot 定价以节省高达 90% 的运行成本。

GCP 可能有一些类似的服务,不确定。

希望有帮助:)

答案2

或者,您可以使用停止/启动接近您的实例。这将减少启动时间。此外,当您的实例停止时,您不会产生费用,但请记住,附加到您的实例的其他资源将需要付费。例如,持久磁盘和外部 IP 地址。

现在关于 @MLu 对 Docker 容器的回应,吉科仅支持容器优化操作系统 (cos) 和 Ubuntu,因此 GKE 不支持 Windows 操作系统。从这个角度来看,如果您想走容器路线,您可能需要看看 Azure。

Google 云功能是在云中运行代码的最简单方法,但您确实需要拥有该代码。

相关内容