生产网络 api 托管、容器网络应用程序或 Azure 容器实例?

Production web api hosting, web app for containers or azure container instances?

我有一个 ASP.NET 基于核心 3.1 的 Web api 准备部署到 Azure 以供生产使用。对于测试/开发,我一直在将它部署到 Azure 上的传统应用程序服务,我认为这是一个共享的 Windows 虚拟机。我一直在F1级别,它适合我的测试和开发需求。

但对于生产,即使是最便宜的计划每月也要花费我 93.44 美元,如果可以的话我想避免。

为了降低成本,我决定将我的应用程序容器化并使用"web app for containers" 或"azure container instances" 进行部署。我的问题是,根据您的经验,哪种方法可以提供合理的生产规模性能,同时最大限度地降低每月成本?或者将我的应用程序容器化会帮我省钱吗?

请注意,我已经评估了 Azure Functions 并确定它不是我想要使用的。

对于您的要求,首先,您需要了解Azure容器实例的优势在于其快速启动和运行。看到这个:

Azure Container Instances is a great solution for any scenario that can operate in isolated containers, including simple applications, task automation, and build jobs.

适用于简单的应用程序,但不适用于需要全容器编排的场景,包括跨多个容器的服务发现、自动伸缩和协调应用程序升级。而且我觉得生产用也不稳定,测试用比较合适

而Azure App Service是根据服务计划收费的,服务计划按秒计费。您可以根据需要规划使用时间,App Service 比 Container Instance 具有更多的功能。或者,如果您对 App Service 不满意,也许您可​​以看看 Azure Kubernetes Service,它比 Container Instance 具有更多的控制和功能。

从 2022 年初开始,容器实例和容器 Web 应用程序看起来将相同 ~32eur,比应用服务 ~50eur 好一点。