Azure 網頁應用程式:使用部署插槽實現無縫部署

假設您在一家通過網絡平台提供服務的醫療保健公司工作。該平台的用戶界面設置為在Azure應用服務中托管的PHP Web應用程序。經常會將應用程序源代碼的更新推出到生產環境,以增強功能或解決問題。然而,這些更新有時會引入問題:

  • 未檢測到的錯誤盡管經過嚴格測試,測試人員偶爾會錯過關鍵錯誤,導致生產環境中出現問題。
  • 停機時間: 當發現錯誤時,回滾更改會導致服務中斷,這會讓最終用戶感到沮喪。
  • 部署速度慢部署和編譯過程影響應用程序的響應速度,尤其在高峰使用時段,導致用戶不滿。

有沒有更好的解決方案來確保無縫更新而不中斷服務?是的!Microsoft Azure提供了一個強大的功能,稱為部署槽

Azure部署槽

Microsoft Azure 的部署 槽提供了一种高效可靠的方式来管理应用程序更新。有了部署槽,您可以同时维护新旧版本的应用程序。在这两个版本之间进行切换就像点击几下鼠标那样简单,消除了耗时的代码回滚的需要。

什么是部署槽,它们是如何工作的?

Azure 部署槽是 Azure 应用服务 中的一个功能,允许您在向所有最终用户提供之前创建用于部署和测试您的 Web 应用程序的独立环境。每个部署槽都作为您的应用程序的独立实例运行,可以根据特定目的进行定制,例如:

  • 暂存 用于在进入生产环境之前测试和验证更改。
  • 生产 为最终用户提供稳定版本的应用程序。
  • 额外槽位 根据您的定价计划,您可以为 QA、测试或其他环境创建槽位。

部署槽的关键特性

预热实例

部署到暫存槽時,該槽會預熱。這意味著應用已完全初始化,並準備好處理用戶請求,延遲最小化。

將暫存槽切換到生產中確保沒有停機時間或冷啟動延遲。

無縫流量重定向

在切換過程中,槽之間的流量重定向是無縫的,確保沒有用戶請求丟失。

回滾功能

如果在將新版本切換到生產後出現意外問題,可以立即切換回“上次已知良好”的配置。

部署槽如何解決問題

生產之前的錯誤檢測

通過將新代碼部署到暫存槽,測試人員可以在模擬生產環境的環境中驗證應用程序,從而減少未檢測到的錯誤的風險。 

無服務中斷

由於應用在暫存槽中預熱,切換到生產中發生時無需停機,為最終用戶提供不間斷的服務。

更快的部署

與傳統部署方法相比,槽的切換是瞬時的,大大減少了部署所需的時間,提高了響應速度。

設置和配置 Azure Web 應用程式

1. 創建網頁應用程式

使用您的帳戶登入 Azure 入口網站。搜尋 應用服務 並點擊它。


點擊 網頁應用程式

根據您的應用程式需求選擇 1 到 7 個值,然後點擊 檢閱 + 創建,接著點擊 創建。本示範的網頁應用程式名稱為 webappdemotosrs。

Click on Go to resource.

webappdemotosrs (網頁應用程式) 可透過預設域名 URL 訪問。

2. 部署插槽創建

點擊 部署插槽 面板。

點擊 新增插槽

為插槽命名 名稱


選擇是否從另一個插槽克隆設置。如果選擇克隆,則會從您指定的插槽將設置複製到新的插槽。

點擊 新增


使用提供的名稱創建插槽。

配置 Web 應用部署設置

在此任務中,您將配置 Web 應用部署設置。部署設置允許連續部署。這確保應用服務具有應用程序的最新版本。在暫存插槽中,選擇部署中心,然後選擇設置。在來源下拉列表中,選擇外部 Git。注意其他選擇。

  • 在存儲庫字段中輸入:https://github.com/Azure-Samples/php-docs-hello-world
  • 在分支字段中輸入 master。選擇保存。
  • 從暫存插槽中選擇概述。
  • 選擇默認域連結,並在新標籤中打開該URL。
  • 驗證暫存槽顯示Hello World。

3. 部署插槽交換

點擊 交換

點擊 開始交換

一旦交換完成,將彈出通知顯示其狀態。

4. 在 部署插槽交換

生產默認域URL輸出:

暫存 默認域URL輸出將如下所示


這證明了在部署插槽交換後,生產插槽開始運行新代碼,而暫存插槽則恢復為舊代碼。

摘要

在本文中,我們學習了如何在Azure應用服務中創建和使用部署插槽。我們使用插槽來測試和部署我們應用的新版本,並且交換這些部署插槽。我們可以交換插槽來將經過測試的應用部署到生產環境,並在出現意外問題時回滾已部署的應用。在使用部署插槽時,請記住Azure在交換之前會預熱應用,並且流量重定向是瞬時的。結果是您的應用在部署時不會有服務中斷或性能下降。

Source:
https://dzone.com/articles/azure-web-apps-deployment-slots