與經典的基于硬件的設置相比,云計算架構提供了更多的靈活性、設計選擇和節省成本的機會。然而,這些好處是有代價的,因為云平臺通常比普通的本地物理基礎設施更難理解,并且具有更多的移動部件。本文介紹了云計算架構和在云環境中運行的組件。繼續閱讀以了解不同系統如何協同工作以創建功能性云并為最終用戶提供按需 IT 資源(服務器、應用程序、數據庫、網絡等)。
云計算架構解釋
云計算架構是指系統和技術的組合,這些系統和技術在集成時會創建一個 IT 基礎架構,該基礎架構可以跨網絡抽象、匯集和共享按需資源。每個云架構都有兩個主要組件:
- 前端(對最終用戶可見的元素,例如 Web 應用程序和瀏覽器、移動設備、用戶界面等)。
- 后端(系統的“云”部分,具有數據存儲、專用服務器、操作系統、安全措施等)。
云計算架構還需要一個網絡,前端和后端通過該網絡進行通信。這兩個組件通常通過 Internet 共享數據,除非架構師更喜歡使用私有網絡(私有云和混合云架構中的首選選項)。
無論是哪種網絡,前后端之間的通信層都必須有:
- 高帶寬。
- 沒有延遲。
- 高可用性
- 頂級網絡安全。
云計算架構的設計核心是:
- 事件驅動架構 (EDA):一種軟件設計,其中解耦的服務產生、檢測和響應系統事件。
- 面向服務的體系結構 (SOA):其中一組組件通過通信協議向其他元素提供服務的系統。
盡管這些系統比本地設置更復雜,但公司有很多理由部署云計算架構。一些主要原因是:
- 更快的上市時間。
- 更快地提供資源。
- 實時可擴展性(向上和向下)。
- 使用云原生解決方案(例如Kubernetes)的能力。
- 由于更好的數據可見性,更可靠的合規性。
- 節省成本(無需本地硬件和對資源使用的嚴格控制)。
云計算架構前端
前端作為架構中的客戶端,可以通過 Internet 或專用網絡與后端進行通信。前端組件對最終用戶可見,并允許訪問云平臺。
前端的兩個主要元素是:
- 客戶端用于訪問云平臺并與之交互的應用程序或軟件(通常是 Web 瀏覽器或本機應用程序)。應用程序或瀏覽器有一個專用的 UI,一些云架構師認為這是一個單獨的前端組件。
- 用戶通過它連接到瀏覽器或應用程序(手機、平板電腦、PC、筆記本電腦等)并與之交互的客戶端設備。
前端的元素負責:
- 使用戶能夠與云進行交互。
- 通過中間件向后端發送查詢。
- 從后端請求服務。
- 呈現所有與云相關的信息(資源利用、安全問題、監控警報、使用模式等)。
云處理比客戶端設備更多的處理,這是云計算的另一個顯著優勢,對于遠程優先團隊和具有BYOD 策略的公司特別有用。
云計算架構后端
在云計算架構中,后端是指云本身。該組件包含具有多個關鍵角色的各種系統、服務器和存儲單元:
- 運行與云相關的程序和應用程序。
- 為前端提供功能并響應用戶發送的任何查詢。
- 部署和擴展資源。
- 監控所有操作和活動。
- 保持云數據和流程的安全。
- 連接所有服務和應用程序。
- 運行流量控制機制。
- 管理云協議。
云提供商是管理后端組件的人。但是,一些公司選擇開發和維護他們的云,在這種情況下,內部團隊負責后端運營。公司還可以在內部團隊和提供商團隊之間分擔后端任務(這是必須遵守HIPAA或PCI的高度監管公司的常見選擇)。
前端只是一個帶有連接的 UI,而后端是云的主要原則:
- 用戶無需服務提供商幫助即可配置的按需資源。
- 客戶端連接的能力,無論位置如何。
- 資源池,使提供商能夠在動態多租戶環境中匯集資源并為多個用戶提供服務。
- 快速響應消費者需求的快速彈性。
- 允許最終用戶詳細監控云使用情況的測量服務。
后端有更多的組件,并且比它的前端大得多。下面是對云計算架構中可能存在的每個后端組件的詳細介紹。
應用層
當最終用戶與前端交互時,后端的應用層接收查詢并處理客戶端的請求。這一層有幾個重要的作用:
- 為用戶提供訪問云服務的權限。
- 連接后端和前端。
- 響應前端查詢。
- 協調消費者的需求與后端的資源。
服務層
服務層將實用程序添加到云計算架構的后端。該組件通過數據存儲、應用程序開發環境、Web 服務等服務處理每個任務和請求。
服務可以在云運行時執行各種任務和功能。客戶可以使用的服務類型取決于交付模型。基于云的交付方式主要有以下三種:
- 基礎設施即服務 (IaaS):?IaaS 提供對云計算架構資源(數據存儲、服務器、網絡基礎設施、VM 等)的訪問和控制。
- 軟件即服務 (SaaS):?SaaS 使客戶端能夠在云中托管應用軟件。在 SaaS 模型中,供應商處理所有升級和開發,供應商維護底層基礎設施。
- 平臺即服務 (PaaS):?PaaS 模型為用戶提供了一個按需開發的軟件開發平臺。提供商托管完整的技術堆棧和工具集,但用戶負責軟件開發、應用程序管理和更新。
交付模型不是云部署模型(例如混合、社區或多云)。交付模型決定了用戶可以訪問的服務類型,而部署模型則定義了相關云的類型。
中間件
中間件是指使聯網設備和應用程序能夠進行通信的軟件組件。該組件負責以下之間的連接:
- 應用。
- 服務。
- 運行時云。
- 存儲單元。
- 基礎設施設備。
- 安全解決方案。
- 前端。
與傳統數據中心一樣,中間件依賴于數據庫和通信應用程序來建立不同系統之間的協調。
云儲存
存儲是保留所有云數據的后端部分。云存儲的類型和容量因云提供商和客戶的要求而異。這種云計算服務使用戶能夠將數據存儲在云端而不是現場數據存儲,這是一種更安全、更方便的選擇。
云基礎設施
盡管最終用戶從未看到云基礎設施或與云基礎設施進行交互,但云也需要硬件。云基礎設施包括數據中心標準服務器機房的所有功能,包括:
- 服務器。
- 中央處理單元 (CPU)。
- 圖形處理單元 (GPU)。
- 主板。
- 存儲單元(硬盤驅動器和 SSD)。
- 帶有路由器和交換機的網絡設備。
- 網絡和加速卡。
- 冷卻和電力基礎設施。
基礎設施層還包括運行和管理所有硬件所需的軟件。
管理程序
管理程序是一種創建和運行虛擬機的軟件。管理程序分配單個設備的資源(CPU、內存、存儲等),并使具有不同操作系統的多個虛擬機在同一設備上運行。
管理程序提供的虛擬化提高了多租戶云中服務器、存儲和網絡的效率。但是,如果主機設備有太多 VM,則此組件可能會影響整體性能。
管理軟件
云計算架構的管理軟件可確保所有操作和程序運行順暢高效。這些系統執行的一些任務是:
- 安全性和合規性審計。
- 性能和容量監控。
- 使用情況跟蹤。
- 部署新應用程序。
- 數據整合。
- 災難恢復管理。
管理軟件還包括自動化程序和工具。自動化是云的核心價值,也是該技術的主要賣點之一。在云計算架構中,自動化工具具有三個重要任務:
- 向上或向下擴展以滿足使用或流量需求。
- 確保跨云環境的治理。
- 按照預定義閾值或云策略的指示對事件做出反應。
安全層
安全層是云架構的一個重要方面。由于大多數提供商級云是高風險的多租戶環境,供應商通常依賴各種技術來確保云計算安全,例如:
- 不可變的定期數據備份。
- 數據加密(靜態、動態和使用中)
- 高端調試工具。
- 虛擬防火墻(用于整個設置和租戶之間)。
- 零信任安全原則。
- 多因素身份驗證和強密碼。
- 入侵檢測系統(IDS)。
- 反惡意軟件和病毒軟件。
- 勒索軟件預防。
云計算架構最佳實踐
沒有單一的方法可以構建高效的云計算架構,但有一些指導原則適用于每個設計。以下是您在設計新架構或調整現有架構時應考慮的最佳實踐:
- 采取安全第一的方法:在創建架構時,您的安全或SecOps團隊應該從一開始就將保護嵌入到設計中。一開始的安全系統越強大,隨著環境的發展,數據泄露和破壞的風險就越小。
- 計劃使用高峰:嘗試預測并了解設置在常規和高峰工作負載期間的行為方式。確保架構在任何情況下都表現良好,并為擴展準備最佳機制。
- 網絡安全不要冒險:除了從一開始就計劃安全之外,您還應該使用所有可用的網絡安全措施來保護您的架構。尋找提供數據加密、定期補丁管理、端點保護、云災難恢復和強大策略的提供商。
- 設置持續監控:使用Nagios等工具持續監控環境以解決性能和使用問題,創建有助于優化設置的富有洞察力的模式。
- 優化和削減成本:利用自動化流程和利用率跟蹤來消除不必要的開支,并確保您不會在資源上超支。