App Service 概觀

Azure App Service 是 HTTP 型服務,用來裝載 Web 應用程式、REST API 和行動後端。 您可以使用慣用的語言進行開發,可以使用 .NET、.NET Core、Java、Node.js、PHP 和 Python。 應用程式在 Windows 和 Linux 型環境中都可輕易執行及調整。

App Service 會將 Microsoft Azure 的功能新增到您的應用程式,例如安全性、負載平衡、自動調整和自動化管理。 此外,您也可以利用其 DevOps 功能,例如從 Azure DevOps、GitHub、Docker Hub 和其他來源進行持續部署、套件管理、預備環境、自訂網域和 TLS/SSL 憑證。

使用 App Service 時,您必須為使用的 Azure 計算資源付費。 您所使用的計算資源取決於您用來執行應用程式的 App Service 方案。 如需詳細資訊,請參閱 Azure App Service 方案概觀

為何選擇 App Service?

Azure App Service 是完全受控的平台即服務 (PaaS) 供應項目,適用於開發人員。 以下是 App Service 的一些主要功能:

  • 多種語言和架構 - App Service 具有 ASP.NET、ASP.NET Core、Java、Node.js、PHP 或 Python 的第一級支援。 您也可以將 PowerShell 和其他指令碼或可執行檔 做為背景服務來執行。
  • 受控的實際執行環境 - App Service 會自動為您修補及維護 OS 和語言架構。 將時間利用在撰寫出色的應用程式,把平台留給 Azure 來操心。
  • 容器化和 Docker - 將您的應用程式 Docker 化,並在 App Service 中裝載自訂的 Windows 或 Linux 容器。 執行您選擇的 Sidecar 容器。 將您的 Docker 技能直接移轉到 App Service。
  • DevOps 最佳化 - 使用 Azure DevOps、GitHub、BitBucket、Docker Hub 或 Azure Container Registry 設定持續整合和部署。 透過 測試和預備環境升級更新。 使用 Azure PowerShell跨平台命令列介面 (CLI),在 App Service 中管理您的應用程式。
  • 具高可用性的全域調整 - 以手動或自動方式相應增加放大。 在 Microsoft 的通用資料中心基礎結構中隨處裝載您的應用程式,而 App Service SLA 會承諾高可用性。
  • SaaS 平台和內部部署資料的連線 - 有數百種適用於企業系統 (例如 SAP)、SaaS 服務 (例如 Salesforce) 和網際網路服務 (例如 Facebook) 的連接器可供選擇。 使用混合式連線Azure 虛擬網路存取內部部署資料。
  • 安全性和法規遵循 - App Service 為 ISO、SOC 和 PCI 相容。 建立 IP 位址限制受管理的服務身分識別防止子網域接管
  • 驗證 - 使用內建驗證元件驗證使用者。 使用 Microsoft Entra IDGoogleFacebookTwitterMicrosoft 帳戶來驗證使用者。
  • 應用程式範本 - 從 Azure Marketplace 中的廣泛應用程式範本清單中進行選擇,例如 WordPress、Joomla 和 Drupal。
  • Visual Studio 和 Visual Studio Code 整合 - Visual Studio 和 Visual Studio Code 中的專用工具可簡化建立、部署和偵錯的工作。
  • Java 工具整合 - 開發和部署至 Azure,而不需要離開您最愛的開發工具,例如 Maven、Gradle、Visual Studio Code、IntelliJ 和 Eclipse。
  • API 和行動功能 - App Service 可提供適用於 RESTful API 案例的現成 CORS 支援,並可藉由啟用驗證、離線資料同步和推播通知等功能,簡化行動應用程式案例。
  • 無伺服器程式碼 - 可隨需執行程式碼片段或指令碼,而不必明確佈建或管理基礎結構,而且只須就程式碼實際使用的計算時間支付費用 (請參閱 Azure Functions)。

除了 App Service 之外,Azure 還提供可用於裝載網站和 Web 應用程式的其他服務。 對於大多數案例,App Service 都是最佳選擇。 對於微服務架構,請考慮使用 Azure Spring AppsService Fabric。 如果您需要能更加充分地掌控執行程式碼的 VM,則請考慮使用 Azure 虛擬機器。 如需如何在這些 Azure 服務之間做選擇的詳細資訊,請參閱 Azure App Service、虛擬機器、Service Fabric 及雲端服務的比較

Linux 上的 App Service

針對支援的應用程式堆疊,App Service 也可在 Linux 上原生裝載 Web 應用程式。 該服務也可執行自訂 Linux 容器 (又稱為用於容器的 Web App)。

內建語言和架構

Linux 上的 Azure App Service 支援幾種語言特定的內建映像。 您可直接部署程式碼。 支援的語言包括:Node.js、Java (Tomcat、JBoss 或使用內嵌網頁伺服器)、PHP、Python 和 .NET Core。 執行 az webapp list-runtimes --os linux 以檢視最新的語言和支援的版本。 若內建映像不支援應用程式所需的執行階段,則可使用自訂容器來部署。

已過期的執行階段會從入口網站中的 Web 應用程式 [建立] 和 [設定] 刀鋒視窗定期移除。 這些執行階段在維護組織淘汰或發現有重大弱點時,會從入口網站中隱藏。 這些選項都是隱藏的,以將客戶引導至最成功的最新執行階段。

從入口網站中隱藏過期的執行階段時,使用該版本的任何現有網站都會繼續執行。 如果執行階段已從 App Service 平台完全移除,您的 Azure 訂用帳戶擁有者將會在移除之前收到電子郵件通知。

如果您需要使用已過期的執行階段版本 (不再顯示在入口網站上) 來建立另一個 Web 應用程式,請參閱語言設定指南,以取得如何取得網站執行階段版本的指示。 您可以使用 Azure CLI,以相同的執行階段建立另一個網站。 或者,您可以使用入口網站中 Web 應用程式刀鋒視窗上的 [匯出範本] 按鈕,匯出網站的 ARM 範本。 您可以重複使用此範本來部署具有相同執行階段和設定的新網站。

限制

  • 共用定價層不支援 Linux 上的 App Service。
  • Azure 入口網站只會顯示目前適用於 Linux 應用程式的功能。 啟用功能後,隨即在入口網站上啟用。
  • 部署至內建映像時,您的程式碼和內容會針對 Azure 儲存體支援的 Web 內容配置儲存體磁碟區。 此磁碟區的磁碟延遲比容器檔案系統的延遲更高且變數更多。 需要大量唯讀存取內容檔案的應用程式,可能會受益於自訂容器選項,其會將檔案放在容器檔案系統中,而不是放在內容磁碟區上。

下一步

建立您的第一個 Web 應用程式。