自動擴展監聽器 (Automated Scaling Listener)
????????自動擴展監聽器是一種特定類型的服務代理。它運行在云提供商的網絡中,監控云消費者和云服務之間的網絡流量。通過分析消費者和服務之間的消息量和類型,它可以測量云服務的負載。
????????????????自動擴展監聽器對變化的負載有兩種一般響應:
- 自動調整資源(縮小或擴大)以滿足負載。擴展的參數通常是預定義的,并依賴于客戶的約定定價模型。
- 通知客戶,例如通過客戶的遠程控制臺。客戶隨后做出資源分配決策。
記住,我們可以考慮兩種類型的擴展,通過移動資源到更高或更低容量的設備進行垂直擴展,或通過添加或刪除相同的IT服務進行水平擴展。
活動10
????????自動擴展監聽器根據收集的信息進行擴展和收縮。
????????它多長時間擴展一次資源? 自動擴展監聽器通常根據實時監控的數據來決定是否擴展資源。這意味著擴展的頻率取決于監控到的負載變化情況。具體的時間間隔可能會根據配置和服務需求而有所不同,一些系統可能是每幾分鐘檢查一次,而其他系統可能會更加頻繁或不那么頻繁。
????????它是如何做到的? 自動擴展監聽器通過分析消費者與云服務之間的網絡流量,確定當前的負載情況。根據預先設定的擴展策略和參數,它可以自動觸發擴展或收縮操作。這些操作可以包括增加或減少虛擬機實例的數量,調整資源的分配,如CPU、內存或存儲等。
????????擴展和收縮是否有極限? 是的,擴展和收縮通常都有一定的限制。這些限制可能包括:
- 硬件資源限制:物理服務器的容量是有限的,不能無限擴展。
- 預定義的配置參數:根據客戶的定價模型和合同約定,擴展和收縮的范圍會受到限制。
- 服務質量要求:為了保持服務質量,可能會設定一個最小和最大的資源限制,以避免過度擴展或過度收縮影響服務穩定性。
負載均衡器 (Load Balancer)
????????負載均衡器是一種有助于水平擴展(橫向擴展)的機制。如前所述,物理設備的擴展容量存在物理限制。一旦達到這個限制,我們只能通過添加更多的物理設備來擴展(水平擴展)。負載均衡器攔截服務流量,并根據預定策略將請求分配給多個相同的服務,并根據流量調整響應服務的數量。
????????重定向請求到可用服務的策略有幾種:
- 非對稱策略——請求被分配給最有能力處理它的服務。這可能基于服務當前處理能力的反饋,或者不同服務的處理能力不同,導致請求可以定向。
- 優先級策略——不同請求可能有不同的優先級,因此可以根據請求的優先級做出重定向決策。
- 內容感知策略——負載均衡器檢查請求類型,并將其重定向到適當的服務。
????????負載均衡器可以在多種設備中實現。網絡交換機可以配置為平衡負載。還有專門用于負載均衡的硬件設備和安裝在普通操作系統(如Unix)中的專用軟件負載均衡器。最后,還有專門為云提供商設計的服務代理,這些代理接口到云管理軟件,允許動態重新配置云服務流量。
????????負載均衡器的重要特征之一是對云服務用戶是不可見的。這意味著云消費者不會意識到有多個服務在響應他們的請求。這也意味著數據同步會被徹底考慮。從用戶的角度來看,無論哪個服務響應,數據都必須保持一致。
活動11
????????服務如何能夠通知負載均衡器其當前負載狀態? 服務可以通過以下幾種方式通知負載均衡器其當前負載狀態:
- 健康檢查:負載均衡器定期對服務進行健康檢查,獲取服務的當前負載和運行狀態。這些檢查可以包括HTTP請求、TCP連接或其他協議。
- 負載報告:服務可以主動發送負載報告給負載均衡器,報告當前的CPU使用率、內存使用率、請求數等關鍵指標。
- 反饋機制:服務可以通過反饋機制向負載均衡器發送當前的處理能力和負載信息。例如,服務在響應負載均衡器的請求時附加負載信息。
- API接口:負載均衡器提供API接口,服務可以通過調用這些API接口報告其負載狀態。
????????在案例研究中,負載均衡器如何確定將傳入請求發送到哪個服務? 在案例研究中,負載均衡器可以通過以下幾種策略來確定將傳入請求發送到哪個服務:
- 非對稱策略(Asymmetric):負載均衡器根據服務當前的處理能力分配請求。它可能基于服務反饋的當前處理能力信息,將請求發送給最有能力處理該請求的服務。
- 優先級策略(Priorities):負載均衡器根據請求的優先級來分配請求。優先級較高的請求可能會被分配給響應速度較快或處理能力較強的服務。
- 內容感知策略(Content-aware):負載均衡器檢查請求的類型,并將其重定向到適當的服務。比如,根據請求的內容類型,將視頻請求分配給專門處理視頻的服務。
- 輪詢策略(Round-robin):負載均衡器以輪詢的方式將請求依次分配給各個服務,確保負載均勻分布。
????????通過以上這些策略,負載均衡器能夠智能地分配請求,優化服務性能并確保高可用性。
SLA監控器 (SLA Monitor)
????????SLA監控器顧名思義是用于監控云服務性能以確保其滿足客戶的SLA要求。SLA監控器向SLA管理系統報告統計數據(在前一主題中討論過)。它們還可以動態接口到資源管理系統(在前一主題中討論過),以調整當前的云配置。
????????對于SLA的監控,可以考慮兩種類型:
- 運行系統的服務級別。這包括響應時間和吞吐量的數據。這可以通過作為監控代理來實現,查看用戶和服務之間的流量而不改變它。
- 正常運行時間。這包括系統是否可用的數據。這可以通過輪詢數據來實現。
活動12
????????閱讀文章(https://obkio.com/blog/sla-monitoring-and-reporting/),然后回答以下問題:
????????在SLA中考慮哪些因素?
????????可用性:服務的正常運行時間和停機時間,即服務在多大程度上可以被客戶訪問。
????????性能:包括響應時間、處理速度和吞吐量等服務質量指標。
????????可靠性:服務的穩定性和錯誤率,以及在出現問題時的恢復能力。
????????支持和維護:包括技術支持的響應時間、解決問題的時間,以及維護窗口和計劃停機時間。
????????安全性:服務的安全措施,包括數據保護、訪問控制和合規性要求。
????????計費和費用:明確服務費用、計費模式和任何可能的額外費用。
????????服務范圍:定義服務的具體功能和能力,明確服務的邊界。
????????可擴展性:服務在需求變化時能夠擴展或收縮的能力。
????????數據管理:包括數據備份、恢復和數據存儲的位置等方面。
????????監控和報告:服務提供商如何監控服務并向客戶報告服務狀態和性能。
????????SLA的好處
????????明確期望:SLA明確了服務提供商和客戶之間的期望,減少了誤解和沖突。
????????質量保證:通過定義服務標準和性能指標,確保服務質量。
????????問題解決:SLA包含問題處理和解決的時間框架,確保問題得到及時處理。
????????成本管理:明確的計費模式和費用結構幫助客戶更好地管理成本。
????????客戶滿意度:通過提供一致和可靠的服務,提高客戶滿意度和信任度。
????????風險管理:通過定義服務的可靠性和安全性措施,降低運營風險。
????????合規性:確保服務符合相關法律和行業標準,保護客戶和服務提供商的權益。
????????持續改進:通過監控和報告服務績效,服務提供商可以識別改進機會,提升服務質量。
????????競爭優勢:提供高質量的SLA可以成為服務提供商的競爭優勢,吸引更多客戶。
????????契約保障:作為合同的一部分,SLA為客戶提供法律保障,確保服務提供商履行承諾。
按使用付費監控器 (Pay-Per-Use Monitor)
????????按使用付費監控器對云提供商至關重要,以便向客戶收費。按使用付費監控器收集與客戶財務合同直接相關的統計數據。這意味著如果提供商改變定價安排,按使用付費監控器必須進行修改或配置,以保存正確的信息。
????????有多種方式來定價云服務:
- 請求和后續響應消息的數量,
- 數據量(消息大小),
- 帶寬消耗(例如,每天的兆字節),
- IT資源消耗,例如占用的存儲空間。
????????按使用付費監控器收集的信息被保存到日志文件中,并由計費管理系統處理(見前一主題)。
活動13
????????閱讀這些文章(CloudWatch usage metrics - Amazon CloudWatch, https://www.togai.com/blog/pay-per-usage-and-benefits/),然后回答以下問題:
????????什么是 "CallCount",它與云計算支付和成本系統有什么關系?
????????"CallCount" 是指在一定時間段內發出的請求數量。在云計算中,"CallCount" 通常用來衡量和記錄用戶對某一特定服務或API的調用次數。這一指標在云計算支付和成本系統中具有重要作用,因為它可以直接反映出服務的使用頻率和負載情況。
????????在基于 "CallCount" 的計費模型中,云服務提供商會根據客戶發送的請求次數進行計費。這種計費方式的優點是透明且容易理解,客戶可以清楚地知道自己使用了多少次服務,每次調用的成本是多少。這種方式特別適用于以下情況:
- 服務調用頻率較高且難以預估。
- 需要按需擴展和縮減資源。
- 需要根據實際使用量進行精確計費,避免資源浪費。
????????如果你擁有一家軟件公司并正在尋找租賃云平臺供你的開發人員使用,PAYG(按使用付費)是否是合適的定價模型,為什么?
????????PAYG(按使用付費) 是一種按實際使用量進行計費的定價模型。對于一家軟件公司來說,使用PAYG模型租賃云平臺具有以下優點:
- 成本控制:按使用付費意味著公司只需為實際使用的資源付費,這可以避免不必要的資源浪費和高昂的固定成本。
- 靈活性:PAYG模型提供了極大的靈活性,能夠根據需求動態調整資源分配。這對于開發和測試階段的資源需求波動特別有利。
- 可擴展性:隨著項目的進展和用戶需求的變化,公司可以方便地擴展或縮減資源,而無需提前購買或租賃大量的硬件設備。
- 預算管理:PAYG模型使公司能夠更好地預測和管理IT預算,因為成本是基于實際使用量計算的,透明且可預測。
- 初期投資低:對于初創公司或小型企業,PAYG模型無需大量前期投資,可以降低進入門檻,快速啟動項目。
????????綜上所述,如果你的軟件公司需要靈活、可擴展的云服務,同時希望嚴格控制成本和預算,那么PAYG模型是一個非常合適的定價模型。它不僅能夠提供按需擴展的能力,還能確保你只為實際使用的資源付費,從而優化成本效益。
審計監控器 (Audit Monitor)
????????審計監控器是一種收集合同或政府法規所需信息的代理。此類信息可能因合同和客戶及提供商的各種監管環境而異。
????????例如,某些部署到云提供商虛擬機的軟件可能有許可限制。例如,云用戶可能只被授權將軟件提供給澳大利亞用戶。審計監控器可以配置為記錄傳入的IP地址,以便提供一份傳入請求的位置報告給云用戶。
????????還有關于訪問健康、兒童和財務數據的法律,可能要求記錄對標識數據或存儲在云資源中的應用程序的訪問日志。當懷疑存在違規行為時,這些日志可能需要提供給執法機構。
參考:
- https://cloud.google.com/monitoring/audit-logging
- https://cloud.google.com/logging/docs/audit
- Cloud Audits - AWS Audit Manager - AWS
故障轉移系統 (Failover System)
????????故障轉移系統機制用于在不影響系統操作的情況下(通常用戶不會察覺到)自動從IT資源故障中恢復。它們依賴于存在備份的重復系統,并能夠檢測主系統的故障,并在必要時切換到備份。這需要備份系統具有與運行系統相同的數據和軟件。
????????顯然,故障轉移系統更昂貴,因為資源在某種程度上是重復的。維護備份系統的相同狀態也存在開銷。這意味著故障轉移系統通常應用于關鍵任務應用程序。能夠承受偶爾延遲的系統不需要實現故障轉移系統。
????????教科書識別了兩種類型的故障轉移:
- 主動-主動故障轉移。這是指相關的IT資源是活動的,并通過某種負載均衡機制共享負載。當其中一個資源失敗時,剩余的重復資源接管負載,因為負載均衡器僅將流量定向到它們。
- 主動-被動故障轉移。這是指一個非活動的備用系統接管失敗的IT資源。這需要將所有請求重定向到備用系統。
活動14
????????主動-主動故障轉移和主動-被動故障轉移的區別
????????主動-主動故障轉移: 在主動-主動故障轉移(Active-Active Failover)中,所有的IT資源都是同時在線并處理請求的。負載均衡器將流量分配給多個活動節點,從而確保每個節點都在分享負載。如果一個節點發生故障,其他節點會自動接管其負載,繼續提供服務。這種方式的優點是資源利用率高,故障轉移無縫,用戶通常不會察覺到服務中斷。
????????主動-被動故障轉移: 在主動-被動故障轉移(Active-Passive Failover)中,只有一個IT資源節點是活動的,處理所有請求,而其他節點處于待機狀態,不處理請求。當活動節點發生故障時,待機節點會被激活并接管工作。這種方式的優點是實現簡單,但資源利用率低,因為待機節點在正常情況下不處理任何請求。
????????案例研究中的主動-被動故障轉移
????????當SLA監控器檢測到不同數據中心之間的虛擬服務器發生故障時,以下步驟會發生:
- 檢測故障:SLA監控器持續監控虛擬服務器的狀態。當檢測到某個虛擬服務器發生故障時,立即觸發故障轉移機制。
- 通知負載均衡器:SLA監控器通知負載均衡器,將流量從發生故障的虛擬服務器重定向到備用的虛擬服務器。
- 激活備用服務器:位于另一個數據中心的備用虛擬服務器被激活,開始接收和處理所有新的請求。
- 恢復服務:用戶請求被無縫地轉移到備用服務器,確保服務的連續性和可用性。
- 修復故障服務器:
- 診斷問題:技術團隊或自動化系統開始診斷故障虛擬服務器的問題,找出故障原因。
- 修復問題:根據診斷結果,修復硬件或軟件問題。這可能包括更換硬件組件、修復軟件錯誤或重新啟動服務器。
- 驗證修復:修復完成后,對虛擬服務器進行全面測試,確保其恢復正常并且穩定運行。
- 重新加入集群:修復后的虛擬服務器重新加入到集群中,作為新的備用節點,準備在下一次故障時接管工作。
????????通過這些步驟,主動-被動故障轉移機制確保在一個虛擬服務器發生故障時,能夠迅速恢復服務,同時保持數據完整性和系統穩定性。
管理程序 (Hypervisor)
????????管理程序機制是啟動虛擬服務器實例的組件,這些實例在軟件上看起來像物理服務器。我們在討論虛擬服務器(VM)時討論了管理程序的作用。管理程序在云提供商的網絡中至關重要,因為它提供了可以由其他組件管理的虛擬服務器。它為其管理的虛擬服務器提供了一個看起來像真實硬件的接口,并確保虛擬機之間不會相互干擾。
????????云提供商通常有許多實際的物理服務器。這意味著VIM(虛擬基礎設施管理器)管理許多運行在每個可共享物理服務器上的管理程序。VIM將虛擬服務器分配給消費者,并在必要時在管理程序之間移動虛擬服務器。當自動擴展監聽器指示時,VIM還可以指示管理程序擴展或縮減虛擬服務器,以便它們可以訪問更多的物理服務器資源。
資源集群 (Resource Cluster)
????????資源集群是一組通常相同的IT資源,旨在使其看起來比任何單個組件更強大。資源集群需要同步和負載均衡機制,以便多個資源看起來像一個資源。資源集群通常具有更好的可用性統計數據,因為它可以實現故障轉移機制來檢測和恢復單個組件故障。
????????資源集群的屬性包括:
- 資源之間的高速數據連接。這可以使用高速LAN技術,但也可以是更高速度的專用集群通信,如光纖通道(FC)和其他短距離/高速通道,例如SCSI。
- 管理軟件通常分布在集群資源之間,但也可能有單獨的管理資源組件。管理軟件使集群看起來像一個設備。
- 數據同步使用高速數據連接來維護集群資源之間的一致狀態。請注意,此活動對用戶是不可見的,并形成集群中的單獨內部通信層。
- 集群的組件通常具有相同的容量,以便更容易管理集群。
????????資源集群的三個示例:
- 服務器集群。這可以在物理或虛擬級別實現。管理程序可以配置為自動執行我們在上一節中討論的虛擬服務器管理操作,而無需外部組件(如VIM)的參與(因為集群看起來像一個設備對VIM)。
- 數據庫集群。數據庫集群用于提高數據的可用性。數據在多個存儲設備上同步。當設備故障時,它將包括一個故障轉移系統,切換到運行設備上的重復數據。
- 大數據集集群。這是一個允許數據分布在多個設備上的數據集群,通常是由于數據量大。
????????你可以將常見的RAID技術視為早期的集群技術。
???????兩種類型的資源集群:
- 負載均衡集群——工作在節點之間分配,使集群看起來比單個組件具有更高的容量。
- 高可用性(HA)集群——此集群維護多個相同的資源,并實現故障轉移機制以從集群節點故障中恢復。這種類型的集群提供了與其每個組件類似的資源容量。
????????這兩種類型的集群比具有類似容量的未集群資源更昂貴。它們的優勢在于不限于物理資源容量和/或為關鍵任務應用程序提供更高的可用性。
參考:
- Resource Cluster in Cloud Computing - GeeksforGeeks
- IBM Documentation
- https://outtechno.com/resource-cluster-cloud-computing/
活動15
????????管理程序集群技術與云提供商的VIM(虛擬基礎設施管理器)之間的關系
????????管理程序(Hypervisor)負責創建和運行虛擬機(VM),它在物理服務器上提供了一個虛擬化層,使多個虛擬機可以共享同一個物理硬件資源。管理程序集群技術涉及多個管理程序的協調工作,使虛擬機可以在集群中的不同物理服務器之間遷移和擴展,從而提高資源利用率和系統的可用性。
????????**虛擬基礎設施管理器(VIM)**是云提供商用來管理整個虛擬化環境的工具。它與管理程序集群技術緊密相關,主要負責以下幾個方面:
- 資源分配:VIM負責在不同的管理程序之間分配虛擬機資源,確保每個虛擬機都能獲得所需的計算、存儲和網絡資源。
- 監控與管理:VIM監控管理程序集群的健康狀態和性能,能夠實時檢測和處理故障,確保集群的高可用性。
- 自動擴展:VIM可以根據負載情況自動指示管理程序擴展或縮減虛擬機實例,實現資源的動態調整。
- 負載均衡:VIM通過在集群中的多個管理程序之間平衡負載,優化資源使用并提高系統性能。
- 遷移管理:VIM支持虛擬機的實時遷移(如vMotion),使虛擬機可以在不同的物理服務器之間無縫移動,維護系統的連續性和可靠性。
????????簡而言之,管理程序集群技術為虛擬化提供了基礎設施,而VIM則通過集中管理和協調這些管理程序,實現云環境的高效運作。
????????數據庫集群和大數據集集群之間的區別
????????數據庫集群和大數據集集群是兩種不同類型的集群,盡管它們都有助于提高數據處理和存儲的能力,但它們的設計目標和實現方式有所不同。
????????數據庫集群:
- 目的:主要用于提高數據庫系統的可用性、性能和可靠性。它通過將數據復制到多個數據庫實例中,實現負載均衡和故障轉移。
- 數據同步:數據庫集群要求高精度的數據同步,確保所有數據庫實例中的數據保持一致。這通常通過實時復制(如主從復制、雙活復制)實現。
- 故障轉移:在一個數據庫實例發生故障時,集群中的其他實例可以立即接管,保證服務的連續性。
- 應用場景:適用于需要高可用性和高一致性的事務處理系統,如金融交易系統、在線業務系統等。
????????大數據集集群:
- 目的:主要用于處理和存儲大規模數據集,適用于大數據分析和處理任務。它通過將數據分布在多個節點上,提高數據處理能力和存儲容量。
- 數據分布:大數據集集群通過將大數據集切分成小塊,并分布在不同的節點上來實現并行處理。這種方式不需要嚴格的數據同步,而是關注數據的分布和并行計算。
- 容錯性:大數據集集群通常實現數據冗余和容錯能力,即使某個節點失敗,數據也不會丟失,集群可以繼續運行。
- 應用場景:適用于大規模數據分析、機器學習、數據挖掘等任務,如Hadoop集群、Spark集群等。
????????總結來說,數據庫集群注重數據的一致性和高可用性,適用于需要頻繁事務處理的應用;而大數據集集群則注重數據的分布式處理和存儲,適用于大規模數據分析和處理的應用。
多設備代理 (Multi-Device Broker)
????????多設備代理位于云服務和其用戶之間。它將云服務的響應轉換為與用戶使用的設備兼容的格式。這對于具有不同設備或不同操作系統的用戶訪問服務是必要的,例如Windows 10、Windows 7、MacOS、Android、iOS等。對于在瀏覽器中運行的應用程序,它可能還需要對不同的瀏覽器提供不同的響應,例如Chrome、Safari、Internet Explorer、Firefox等。還可能需要在更高級別上轉換響應。
????????多設備代理通常實現為獨立的網關或并入網關組件。教科書中有三個示例:
- XML網關——驗證XML數據
- 云存儲網關——將云存儲API(例如REST或SOAP)轉換為塊存儲協議(例如光纖通道、NFS、SMB)。
- 移動設備網關——將移動設備協議轉換為與云服務兼容的協議。
????????這些網關可以在任何協議級別上操作。