探索 Azure 应用服务
你已新建站点,下一步是将它部署到 Azure。 需要考虑要利用哪些 Azure 服务。 Azure 应用服务为应用程序提供高度可缩放、自修补的 Web 托管服务。
本单元将介绍如何使用 Visual Studio 将 ASP.NET Core Web 应用发布到 Azure 应用服务计划。
什么是 Azure 应用服务?
Azure 应用服务是用于托管 Web 应用、REST API 和后端服务的服务。 应用服务支持使用 .NET Core、.NET Framework、Java、Ruby、Node.js、PHP 和 Python 编写的代码。 应用服务是大多数网站的理想之选,特别是在不需要严格控制托管基础结构的情况下。
什么是应用服务计划?
应用服务计划定义了应用将使用的计算资源、这些资源的位置、计划可使用的附加资源数以及定价层。 这些计算资源类似于传统 Web 托管方案中的服务器场。 可以将一个或多个应用配置为在相同的应用服务计划中运行。
部署应用时,你可以创建应用服务计划,也可以继续向现有计划添加应用。 不过,只有同一应用服务计划中的应用,才能共享相同的计算资源。 若要确定新应用是否拥有必要资源,必须了解现有应用服务计划的容量,以及新应用的预期负载。 重载应用服务计划可能会导致新应用和现有应用的性能降低或有故障时间。
可以使用 PowerShell 或 Azure CLI 在 Azure 门户中提前定义应用服务计划,也可以在 Visual Studio 中发布应用时设置应用服务计划。
每个应用服务计划均定义:
- 区域(美国西部、美国东部,等等)。
- VM(虚拟机)实例数。
- VM 实例大小(小型、中型、大型)。
- 定价层(免费、共享、基本、标准、高级、高级 V2、独立)。
选择区域
创建应用服务计划时,必须定义将在其中托管此计划的区域或位置。 通常,你将选择地理位置靠近预期客户的区域。
定价和可靠性级别
共享计算:“免费”和“共享”(两个基础层)与其他应用服务应用在同一 Azure VM 上运行应用。 这包括其他客户的应用。 这些层为共享资源中运行的每个应用分配 CPU 配额,且资源不可横向扩展。
“免费”和“共享”计划最适用于流量需求有限(设定限制为每 24 小时 165 MB(兆字节)的出站数据)的小型个人项目。
专用计算:“基本、标准、高级和高级 V2”层在专用的 Azure VM 上运行应用。 只有同一应用服务计划中的应用可以共享相同的计算资源。 层越高,可用于横向扩展的 VM 实例就越多。
标准服务计划最适用于向客户发布商业应用程序的实时生产工作负荷。
高级服务计划支持无需额外花钱购买专用(隔离)计划的高容量 Web 应用。
隔离:此层在专用的 Azure 虚拟网络中运行专用 Azure VM,从而在计算隔离的基础上,为应用提供网络隔离。 此层提供最大的横向扩展能力。 只有对最高级别的安全性和性能有特定需求时,才选择隔离服务计划。
在以下情况下,请将应用隔离到新应用服务计划中:
- 该应用占用大量资源。
- 想要独立于现有计划中的其他应用缩放该应用。
- 应用需要其他地理区域中的资源。
可随时纵向扩展和缩减应用服务计划。 可以先选择较低的定价层,以后再在需要更多应用服务功能时纵向扩展它。
指定资源组
资源组是一个逻辑容器,你在其中部署和管理 Azure 资源,例如 Web 应用、数据库和存储帐户。 它是针对管理、监视和计费目的而对资源进行组织的一种机制。 可以使用现有资源组,也可以直接在 Visual Studio 中创建一个。