Azure 應用程式架構基本概念
此內容庫提供結構化的方法,可在 Azure 上設計可調整、安全、復原且高可用性的應用程式。 本指南是以我們從客戶參與中學到的經過實證做法為基礎。
簡介
雲端正在變更應用程式的設計與保護方式。 應用程式會分解成較小的分散式服務,而不是整合型應用程式。 這些服務會透過 API 或使用異步傳訊或事件進行通訊。 應用程式會依需求水平調整,並視需要新增實例。
這些趨勢帶來新的挑戰。 應用程式狀態是分散式的。 作業會以平行和異步方式完成。 發生失敗時,應用程式必須具有復原性。 惡意執行者會持續以應用程式為目標。 部署必須自動化且可預測。 監視和遙測對於深入了解系統而言非常重要。 本指南旨在協助您瀏覽這些變更。
傳統內部部署 | 新式雲端 |
---|---|
整體 專為可預測的延展性而設計 關聯式資料庫 同步處理 避免失敗的設計 (MTBF) 偶爾會有大型更新 手動管理 Snowflake 伺服器 |
分解 專為彈性調整而設計 Polyglot 持續性 (儲存技術混合) 異步處理 失敗的設計 (MTTR) 頻繁的小更新 自動化自我管理 不可變的基礎結構 |
本指引的結構
Azure 應用程式架構基本概念指引會組織成一系列步驟,從架構和設計到實作。 針對每個步驟,都有可協助您設計應用程式架構的支援指引。
架構樣式
第一個決策點是最基本的。 您要建置哪種架構? 這可能是微服務架構、較傳統的多層式應用程式或巨量數據解決方案。 我們已識別出數個不同的架構樣式。 每個都有優點和挑戰。
深入瞭解: 架構樣式
技術選擇
瞭解您要建置的架構類型,現在您可以開始選擇架構的主要技術部分。 下列技術選擇至關重要:
「計算」指的是應用程式執行所在計算資源的裝載模型。 如需詳細資訊,請參閱 選擇計算服務。
數據存放區 包含資料庫,但也包含訊息佇列、快取、記錄,以及應用程式可能保存至記憶體的任何其他專案。 如需詳細資訊,請參閱 選擇數據存放區。
傳訊技術可讓系統元件之間的異步訊息。 如需詳細資訊,請參閱 選擇傳訊服務。
您可能必須進行其他技術選擇,但這三個元素(計算、數據和傳訊)是大部分雲端應用程式的核心,而且會決定設計的許多層面。
設計架構
選擇架構樣式和主要技術元件之後,即可處理應用程式的特定設計。 每個應用程式都不同,但下列資源可協助您進行:
參考架構
根據您的案例,我們的 其中一個參考架構 可能是不錯的起點。 每個參考架構都包含建議的做法,以及設計延展性、可用性、安全性、復原和其他層面的考慮。 大部分也包含可部署的解決方案或參考實作。
設計原則
我們已找出10個高階設計原則,讓您的應用程式更具延展性、彈性且可管理。 這些設計原則適用於任何架構樣式。 在整個設計過程中,請記住這 10 個高階設計原則。 如需詳細資訊,請參閱 設計原則。
設計模式
軟體設計模式是可重複的模式,經證實可解決特定問題。 我們的雲端設計模式目錄可解決分散式系統中的特定挑戰。 它們可解決可用性、高可用性、營運卓越、復原能力、效能和安全性等層面。 您可以在這裡找到我們的設計模式目錄。
最佳作法
我們的 最佳做法 文章涵蓋各種設計考慮,包括 API 設計、自動調整、數據分割、快取等等。 請檢閱這些專案,並套用適合您應用程式的最佳做法。
安全性最佳做法
我們的 安全性最佳做法 說明如何確保應用程式的機密性、完整性和可用性不會受到惡意執行者入侵。
品質支柱
成功的雲端應用程式將著重於軟體品質的五大要素:可靠性、安全性、成本優化、卓越營運和效能效率。
利用Microsoft Azure 架構完善的架構,評估這五個要素的架構。