在 azure 上运行 dotnetcore 应用程序的最有效方法是什么?
目前我托管两台服务器(1db 和 1 server201x)并通过 IIS 运行它,并且运行顺利,但我想探索在 Azure 上运行的选项。
我看到有一个 DBaaS,并且想知道是否有一种简单的方法来托管 web 应用程序,而无需运行 Windows 服务器。
为了跟进这一点,我想进一步澄清一下该产品。
我们有一个 API、连接到 API 的 Web 应用程序和一个 DB。
Azure 是否有无服务器解决方案来托管这 3 种服务?我需要先创建网络吗?
答案1
你可以使用Azure 应用服务托管您的应用。通过这项服务,如果您使用其子域名和很少的资源,您可以免费获得一个应用。每个应用支付 10 美元如果您想要自定义域但仍使用少量资源。如果您的应用使用合理数量的资源(CPU、RAM 等),那么您至少应该使用基本版,费用为每月 55.80 美元,您可以托管任意数量的应用程序随你便(你的限制在于 CPU/RAM)
最后一种选择可能听起来很昂贵,但我们有优势。使用应用服务你不必管理诸如 Windows 服务器更新、安全等事情。你还可以使用 git 进行部署,从而节省大量时间(时间就是金钱)。此外,在投入生产之前,您还可以利用开发时间来测试网站的不同版本。
至于 DBaaS,他们Azure SQL 数据库其 API 与 SQL Server 兼容。就大多数使用 SQL Server 的应用程序而言,直接替换。您只需更改连接字符串即可。我们在这里还有一个优势,即无需安装更新或保护 SQL Server。您甚至可以将备份工作留给 Azure(尽管您也可以自己管理)。您得到时间点恢复这意味着您可以恢复到任何时间点(根据服务层级,最高可达某个限制)。这可用于解决人为和软件错误,或只需单击几下即可解决黑客问题,而不必处理备份文件和远程服务器。
DBaaS 定价Azure SQL 数据库按性能计算并使用一种叫做丹麦电信公司(数据库事务单元)。您可以使用 Azure SQL Database Query Performance Insight 来测量所需的 DTU 数量,但基本服务层仅需 5 美元。
我们必须记住,使用云计算我们是按小时付费的,如果我们需要节省更多钱或获得更高的性能,我们可以增加或减少资源。
价格适用于美国中部数据中心。其他数据中心的价格可能有所不同。此外,如果您有 Visual Studio 订阅(以前称为 MSDN)或 Bizpark 或 Action Pack,您可以获得一些折扣。
为了了解如何更好地利用 Azure Cloud 中的资金,我可以向您推荐本文作者:Scott Hanselman。总体而言吝啬鬼系列他提供了大量的资源来学习和了解更多这方面的知识。
答案2
对于数据库即服务,只要它满足您的性能要求,SQL Azure 就是最佳选择。
Alex 已经介绍过如何使用 App Service 进行托管,但是由于您使用 .net core,因此您很幸运,还可以查看其他选项,例如容器或 Service Fabric。
您没有提到最有效的托管方式是什么意思,如果您正在寻找最便宜、最不复杂的方式,那么应用服务和 Azure SQL 将是最好的途径,但如果您运行的是复杂的应用程序,并且对容器化或微服务等有吸引力,那么您就可以选择这种方式。