Azure 應用程式架構基礎

本內容會告訴您在 Azure 上設定可擴充、保護、可復原和高可用性應用程式的結構化方法。 本指南基於我們與客戶合作後了解到的實證做法撰寫而成。

簡介

雲端正在改變應用程式的設計和保護方式。 不同於龐大且單一的體系,應用程式會分解成較小型的非集中式服務。 這些服務會透過 API 或使用非同步傳訊進行通訊。 應用程式可水平調整,以依據需求要求新增執行個體。

這些趨勢將帶來新的挑戰。 應用程式狀態為分散式。 作業會平行且非同步地完成。 發生失敗時,應用程式必須具有復原功能。 惡意執行者會持續以應用程式為目標。 部署必須自動化且要可預測。 監視和遙測是取得系統深入解析的關鍵。 本指南旨在協助您瀏覽這些變更。

傳統內部部署現代化雲端
整合型
為可預測延展性而設計
關聯式資料庫
同步處理程序
為避免失敗而設計 (MTBF)
偶爾的大型更新
手動管理
雪花式伺服器
分解的
為彈性延展而設計
Polyglot 持續性 (混合儲存體技術)
非同步處理程序
為失敗而設計 (MTTR)
頻繁的小型更新
自動化自我管理
不可變的基礎結構

本指南結構

Azure 應用程式架構基礎指南從架構與設計到實作,由一系列的步驟整理而成。 針對每個步驟,都有可協助您設計應用程式架構的支援指引。

此圖顯示本指南的結構,並在流程圖中表示本文的各節。

架構樣式

第一個決策點是最基本的。 您正在建置何種架構? 架構可能是微服務架構、更傳統的多層式架構 (N-tier) 應用程式或巨量資料解決方案。 我們識別出數個不同的架構樣式。 每個都有優點和挑戰。

深入了解:架構樣式

技術選擇

了解所要建立的架構類型之後,您現在可以開始選擇該架構的主要技術部分。 下列技術選擇很重要:

  • 計算指的是運算資源的裝載模型,您的應用程式會在運算資源上執行。 如需詳細資訊,請參閱選擇計算服務

  • 資料存放區包含資料庫,但也包含其他儲存體,這些儲存體會用於訊息佇列、快取、記錄,以及其他應用程式可能會保存到儲存體的項目。 如需詳細資訊,請參閱選擇資料存放區

  • 傳訊技術可在系統元件之間啟用非同步訊息。 如需詳細資訊,請參閱選擇傳訊服務

您可能會在過程中進行其他技術選擇,但這三個元素 (計算、資料和傳訊) 是大多數雲端應用程式的核心,並會決定設計的許多層面。

設計架構

一旦您選擇了架構樣式和主要的技術元件之後,就可以開始著手應用程式的特定設計。 每個應用程式都不同,但下列資源可以協助您:

參考架構

根據您的案例而定,我們的其中一個參考架構可能是很好的起點。 每個參考架構都包含建議的做法,以及延展性、可用性、安全性、復原性和其他設計方面的考量。 大部分也包括可部署的解決方案或參考實作。

設計原則

我們已識別 10 個高階的設計原則,讓您的應用程式更有擴充空間、可容易復原且更方便管理。 這些設計原則適用于任何架構樣式。 在整個設計程序中,請記住這 10 個高階設計原則。 如需詳細資訊,請參閱設計原則

設計模式

軟體設計模式是可重複的模式,其經過證明可以解決特定問題。 我們的雲端設計模式目錄能解決分散式系統中的特定挑戰。 這些模式可處理可用性、高可用性、卓越營運、復原、效能和安全性等層面。 您可以在這裡找到我們的設計模式目錄。

最佳作法

我們的 最佳做法文章涵蓋各種設計考量,包括 API 設計、自動調整、資料分割、快取等等。 請檢查這些原則,並套用適合您應用程式的最佳做法。

安全性最佳做法

我們的安全性最佳做法會說明如何確保應用程式的機密性、完整性和可用性不會受到惡意執行者的危害。

品質要素

成功的雲端應用程式將著重于軟體品質的五大要素:可靠性、安全性、成本優化、營運卓越和效能效率。

利用 Microsoft Azure Well-Architected Framework 評估這五個支柱的架構。

後續步驟