Azure 应用服务是一项基于 HTTP 的服务,用于托管 Web 应用程序、REST API 和移动后端 。 可以使用 .NET、NET Core、Java、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 上的应用服务。
  • Azure 门户仅显示当前可用于 Linux 应用的功能。 功能启用后,它们在门户上被激活。
  • 部署到内置映像时,代码和内容将被分配一个 Web 内容存储卷,由 Azure 存储提供支持。 与容器文件系统的延迟相比,此卷的磁盘延迟更高,并且变化更大。 自定义容器选项将文件放在容器文件系统而非内容卷中,因此可能更适用于需要频繁以只读方式访问内容文件的应用。
  • 创建第一个 Web 应用。

    ASP.NET Core(在 Windows 或 Linux 上)

    ASP.NET(在 Windows 上)

    PHP(在 Windows 或 Linux 上)

    Ruby(Linux 上)

    Node.js(在 Windows 或 Linux 上)

    Java(在 Windows 或 Linux 上)

    Python(在 Linux 上)

    自定义容器(Windows 或 Linux)