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