应用服务概述
注意
从 2024 年 6 月 1 日开始,所有新创建的应用服务应用都可以选择生成唯一的默认主机名,命名约定为 <app-name>-<random-hash>.<region>.chinacloudsites.cn
。 现有应用名称将保持不变。
示例: myapp-ds27dh7271aah175.westus-01.chinacloudsites.cn
Azure 应用服务是一项基于 HTTP 的服务,用于托管 Web 应用程序、REST API 和移动后端 。 可以使用 .NET、NET Core、Java、Node.js、PHP 和 Python 等偏好的语言进行开发。 在基于 Windows 和 Linux 的环境中,应用程序都可以轻松地运行和缩放。
应用服务可将 Azure 的强大功能(例如安全性、负载均衡、自动缩放和自动管理)添加到应用程序。 此外,可以利用其 DevOps 功能,例如,从 Azure DevOps、GitHub、Docker Hub 和其他源进行持续部署,包管理,过渡环境,自定义域和 TLS/SSL 证书。
使用应用服务时,需要支付 Azure 计算资源的使用费。 使用的计算资源量由运行应用的应用服务计划确定。 有关详细信息,请参阅 Azure 应用服务计划概述。
为何使用应用服务?
Azure 应用服务是为开发人员提供的完全托管的平台即服务 (PaaS) 产品。 下面是应用服务的一些主要功能:
- 多个语言和框架 - Azure 应用服务针对 ASP.NET、ASP.NET Core、Java、Node.js、PHP 或 Python 提供一流支持。 我们还能以后台服务的形式运行 PowerShell 和其他脚本或可执行文件。
- 托管生产环境 - 应用服务会自动修补并维护 OS 和语言框架。 将时间花在编写优秀应用上,让 Azure 来考虑平台问题。
- 容器化和 Docker - 将应用 Docker 化并在应用服务中托管自定义 Windows 或 Linux 容器。 运行所选的挎斗容器。 直接将 Docker 技能迁移到应用服务。
- DevOps 优化 - 使用 Azure DevOps、GitHub、BitBucket、Docker 中心或 Azure 容器注册表设置持续集成和部署。 通过 测试和过渡环境提升更新。 在应用服务中,利用 Azure PowerShell 或跨平台命令行接口 (CLI) 来管理应用。
- 具有高可用性的全局缩放 - 以手动或自动方式进行增大或扩大。 在 Microsoft 全球数据中心基础结构中的任意位置托管应用,并且应用服务 SLA 承诺高可用性。
- 与 SaaS 平台和本地数据建立连接 - 从适用于企业系统(例如 SAP)的数百个连接器、SaaS 服务(例如 Salesforce)以及 Internet 服务中进行选择。 使用混合连接和 Azure 虚拟网络访问本地数据。
- 安全性和合规性 - 应用服务符合 ISO、SOC 和 PCI 的要求。 创建 IP 地址限制和托管服务标识。 防止子域接管。
- 身份验证 - 使用内置身份验证组件对用户进行身份验证。 通过 Microsoft Entra ID 或 Microsoft 帐户对用户进行身份验证。
- 应用程序模板 - 从 Azure 市场的大量应用程序模板列表中进行选择,例如 WordPress、Joomla 和 Drupal。
- Visual Studio 与 Visual Studio Code 集成 - Visual Studio 和 Visual Studio Code 中的专用工具可简化创建、部署和调试工作。
- Java 工具集成–无需离开你最爱的开发工具(如 Maven、Gradle、Visual Studio Code、IntelliJ、Eclipse)即可开发和部署到 Azure。
- 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(Tomcat、JBoss 或采用嵌入式 Web 服务器)、PHP、Python 和 .NET Core。 运行 az webapp list-runtimes --os linux
查看最新语言和支持的版本。 如果内置映像中不支持应用程序所需的运行时,则可以使用自定义容器部署运行时。
过期运行时会定期从门户的“Web 应用创建和配置”边栏选项卡中删除。 当维护组织弃用这些运行时,或发现存在重大漏洞时,这些运行时将在门户中隐藏。 隐藏这些选项可指引客户使用最新的运行时,这样他们才最能成功。
在门户中隐藏过期运行时后,任何使用该版本的现有站点都将继续运行。 如果从应用服务平台完全删除了运行时,在删除前,Azure 订阅所有者将收到电子邮件通知。
如果需要使用门户上不再显示的过期运行时版本创建另一款 Web 应用,请参阅语言配置指南,获取有关如何获取站点运行时版本的说明。 可以使用 Azure CLI 创建另一个具有相同运行时的站点。 此外,还可以使用门户中的“Web 应用”边栏选项卡上的“导出模板”按钮,导出站点的 ARM 模板。 可重复使用此模板,向新站点部署相同的运行时和配置。
限制
- 共享定价层不支持 Linux 上的应用服务。
- Azure 门户仅显示当前可用于 Linux 应用的功能。 功能启用后,它们在门户上被激活。
- 部署到内置映像时,代码和内容将被分配一个 Web 内容存储卷,由 Azure 存储提供支持。 与容器文件系统的延迟相比,此卷的磁盘延迟更高,并且变化更大。 自定义容器选项将文件放在容器文件系统而非内容卷中,因此可能更适用于需要频繁以只读方式访问内容文件的应用。
应用服务环境
应用服务环境是一项 Azure 应用服务功能,可提供完全隔离和专用的环境,以便高度安全地运行应用服务应用。 与可共享支持基础结构的应用服务产品/服务不同,计算专用于应用服务环境中的单个客户。 有关应用服务环境和应用服务之间的差异的详细信息,请参阅比较。
后续步骤
创建第一个 Web 应用。