你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
应用服务概述
Azure 应用服务是一项基于 HTTP 的服务,用于托管 Web 应用程序、REST API 和移动后端 。 可以使用 .NET、NET Core、Java、Ruby、Node.js、PHP 或 Python 等偏好的语言进行开发。 在基于 Windows 和 Linux 的环境中,应用程序都可以轻松地运行和缩放。
应用服务可将 Microsoft Azure 的强大功能(例如安全性、负载均衡、自动缩放和自动管理)添加到应用程序。 此外,可以利用其 DevOps 功能,例如,从 Azure DevOps、GitHub、Docker Hub 和其他源进行持续部署,包管理,过渡环境,自定义域和 TLS/SSL 证书。
使用应用服务时,需要支付 Azure 计算资源的使用费。 使用的计算资源量由运行应用的应用服务计划确定。 有关详细信息,请参阅 Azure 应用服务计划概述。
为何使用应用服务?
Azure 应用服务是为开发人员提供的完全托管的平台即服务 (PaaS) 产品。 下面是应用服务的一些主要功能:
- 多个语言和框架 - 应用服务针对 ASP.NET、ASP.NET Core、Java、Ruby、Node.js、PHP 或 Python 提供一流支持。 我们还能以后台服务的形式运行 PowerShell 和其他脚本或可执行文件。
- 托管生产环境 - 应用服务会自动修补并维护 OS 和语言框架。 将时间花在编写优秀应用上,让 Azure 来考虑平台问题。
- 容器化和 Docker - 将应用 Docker 化并在应用服务中托管自定义 Windows 或 Linux 容器。 将多容器应用与 Docker Compose 一起运行。 直接将 Docker 技能迁移到应用服务。
- DevOps 优化 - 使用 Azure DevOps、GitHub、BitBucket、Docker 中心或 Azure 容器注册表设置持续集成和部署。 通过 测试和过渡环境提升更新。 在应用服务中,利用 Azure PowerShell 或跨平台命令行接口 (CLI) 来管理应用。
- 具有高可用性的全局缩放 - 以手动或自动方式进行增大或扩大。 在 Microsoft 全球数据中心基础结构中的任意位置托管应用,并且应用服务 SLA 承诺高可用性。
- 与 SaaS 平台和本地数据建立连接 - 从适用于企业系统(例如 SAP)的数百个连接器、SaaS 服务(例如 Salesforce)以及 Internet 服务(例如 Facebook)中进行选择。 使用混合连接和 Azure 虚拟网络访问本地数据。
- 安全性和合规性 - 应用服务符合 ISO、SOC 和 PCI的要求。 使用 Azure Active Directory、Google、Facebook、Twitter 或 Microsoft 帐户对用户进行身份验证。 创建 IP 地址限制和管理服务标识。 防止子域接管。
- 应用程序模板 - 从 Azure 市场的大量应用程序模板列表中进行选择,例如 WordPress、Joomla 和 Drupal。
- Visual Studio 与 Visual Studio Code 集成 - Visual Studio 和 Visual Studio Code 中的专用工具可简化创建、部署和调试工作。
- API 和移动功能 - 应用服务针对 RESTful API 方案提供统包式 CORS 支持,通过启用身份验证、脱机数据同步、推送通知等功能简化移动应用方案。
- 无服务器代码 - 按需运行代码片段或脚本,无需显式预配或管理基础结构,并且只需为代码实际使用的计算时间付费(请参阅 Azure Functions)。
除了应用服务,Azure 还提供可用来托管网站和 Web 应用程序的其他服务。 大多数情况下,应用服务是最佳选择。 对于微服务体系结构,请考虑使用 Azure Spring Apps 或 Service Fabric。 如果需要更好地控制运行代码的 VM,请考虑使用 Azure 虚拟机。 有关如何在这些 Azure 服务之间做出选择的详细信息,请参阅 Azure 应用服务、虚拟机、Service Fabric 和云服务的比较。
Linux 上的应用服务
应用服务也可以在 Linux 上为支持的应用堆栈本地托管 Web 应用。 它还可以运行自定义 Linux 容器(也称为用于容器的 Web 应用)。
内置语言和框架
Linux 上的应用服务支持许多特定于语言的内置映像。 只需部署代码。 支持的语言包括:Node.js、Java(8、11 和 17)、Tomcat、PHP、Python、.NET Core 和 Ruby。 运行 az webapp list-runtimes --os linux
查看最新语言和支持的版本。 如果内置映像中不支持应用程序所需的运行时,则可以使用自定义容器部署运行时。
过期运行时会定期从门户的“Web 应用创建和配置”边栏选项卡中删除。 当维护组织弃用这些运行时,或发现存在重大漏洞时,这些运行时将在门户中隐藏。 隐藏这些选项可指引客户使用最新的运行时,这样他们才最能成功。
在门户中隐藏过期运行时后,任何使用该版本的现有站点都将继续运行。 如果从应用服务平台完全删除了运行时,在删除前,Azure 订阅所有者将收到电子邮件通知。
如果需要使用门户上不再显示的过期运行时版本创建另一款 Web 应用,请参阅语言配置指南,获取有关如何获取站点运行时版本的说明。 可以使用 Azure CLI 创建另一个具有相同运行时的站点。 此外,还可以使用门户中的“Web 应用”边栏选项卡上的“导出模板”按钮,导出站点的 ARM 模板。 可重复使用此模板,向新站点部署相同的运行时和配置。
限制
注意
Linux 和 Windows 应用服务计划现在可以共享资源组。 此限制已从平台中解除,现有资源组已更新以支持这一点。
- 共享定价层不支持 Linux 上的应用服务。
- Azure 门户仅显示当前可用于 Linux 应用的功能。 功能启用后,它们在门户上被激活。
- 部署到内置映像时,代码和内容将被分配一个 Web 内容存储卷,由 Azure 存储提供支持。 与容器文件系统的延迟相比,此卷的磁盘延迟更高,并且变化更大。 自定义容器选项将文件放在容器文件系统而非内容卷中,因此可能更适用于需要频繁以只读方式访问内容文件的应用。
后续步骤
创建第一个 Web 应用。