云計算架構設計六大原則你遵循了嗎?

2022-10-07    分類: 網站建設

我們不一定能直接感受到云計算對日常生活、工作、學習的影響,但作為IT基礎設施,它卻悄然支撐著我們正在使用的各個應用。

云計算架構設計六大原則你遵循了嗎?

在很多書和云服務商的官方文檔中都介紹過云計算的概念、發(fā)展歷史、產品體系,我們不再贅述。我們可以從另一個角度去認識云計算的整體架構和服務能力,也就是云計算架構體系,如圖1所示,其中概括了云計算從下到上的組成結構,包括基礎設施、云計算操作系統(tǒng)、產品體系(包含安全與合規(guī)、監(jiān)控與管理)、解決方案體系、服務體系。

云計算架構設計六大原則你遵循了嗎?

圖1

完整的技術架構設計也是有步驟可循的,先是收集需求分析,根據需求分析進行架構設計,再進行評估改進及交付實施,然后持續(xù)運營,如圖2所示。

云計算架構設計六大原則你遵循了嗎?

圖2

在架構設計的各個階段中,每個階段均導入前一個階段的結果,經過當前階段處理后輸出設計方案或搭建環(huán)境,漸進式地推進完整解決方案的設計。

(1)需求分析階段由用戶輸入需求痛點,經過分析后輸出需求分析表。

(2)在架構設計階段中,根據需求分析表來匹配合適的設計模式,形成完整的架構設計方案。

(3)在評估改進階段,對已完成的架構設計方案進行評估,輸出經過評估和參考良好架構設計原則改進過的架構設計方案。

(4)在交付實施階段,根據經過評估改進的架構設計方案在云平臺中搭建環(huán)境、部署業(yè)務,提供符合架構設計的云端環(huán)境。

(5)在架構的持續(xù)運營中,輸入解決方案和當前業(yè)務運行狀況,持續(xù)巡檢、分析、評估(參見《云端架構》一書的第11章),輸出改進措施,進行重構改進,并周而復始地根據新需求提供方案。

基于云計算進行架構設計,所有的技術解決方案都應遵循一定的原則,這也是架構設計中要追求的目標。

圖3所示為架構設計的6大原則,包括合理部署、業(yè)務持續(xù)、彈性擴展、性能效率、安全合規(guī)、持續(xù)運營。

云計算架構設計六大原則你遵循了嗎?

圖3

這6大原則代表了架構設計中需要考慮的不同角度,只有同時遵循這些原則才能設計出完善的架構方案,但在實際情況中,并不需要在所有架構設計中把所有設計模式都融入進去,構建繁雜的架構方案。后面會對這6大原則逐一展開介紹,從各個原則的子項中進行設計。

1.合理部署

業(yè)務系統(tǒng)在公有云上的部署包括使用虛擬機形式的云主機,還包括性能更強的物理云主機形式,托管服務包括托管應用、托管物理服務器。

基于IT歷史資源狀況、合規(guī)性要求等,很多企業(yè)還沒有上云,針對這種情況,將云計算操作系統(tǒng)抽取出來打包為獨立的軟件和服務,在用戶的私有化環(huán)境中進行部署。區(qū)別于公有云面向“任何”用戶開放使用,私有化部署僅面向少數指定的用戶使用。

混合架構能夠對公有云和私有化部署的平臺、傳統(tǒng)的VMware、OpenStack虛擬化平臺或物理服務器等資源進行統(tǒng)一管理和調度,混合架構既享受了不變更本地環(huán)境、滿足合規(guī)要求的好處,又享受了云平臺資源豐富、服務能力充足等優(yōu)勢?;旌霞軜嬕彩钱斍捌髽I(yè)轉型上云的一種中間狀態(tài),會長期存在。

在跨境電商、游戲出海等場景下會使用到全球范圍內的多個地域,將業(yè)務和數據靠近用戶來部署可以減少網絡延遲、提升訪問體驗。因此,納入了全球部署,來重點解決如何在全球范圍內盡可能靠近用戶部署的問題,也能實現數據同步存儲和處理的方案。

不能相信任何一塊硬盤、任何一臺云主機、任何一個可用區(qū)、任何一個地域,也不能完全相信任何一個云服務商,進行業(yè)務部署時應選擇多個公有云平臺,提升業(yè)務持續(xù)性,彌補單個云服務商在資源和服務上的短板,屏蔽云服務商的一些技術鎖定和商業(yè)綁定。

2.業(yè)務持續(xù)

業(yè)務持續(xù)性主要是指高可用、高可靠、災難恢復三方面,在設計模式中也是按照這個邏輯展開的。

高可用(High Availability),是指當業(yè)務運行的資源出現故障時,通過冗余等設計來避免業(yè)務中斷。 高可靠(Continuous Operations),是指業(yè)務運行的資源無故障,業(yè)務可持續(xù)提供服務。 災難恢復(Disaster Recovery),是指當業(yè)務運行環(huán)境遭到破壞時,在不同環(huán)境中恢復應用和數據的能力。

在架構設計的每一層中都應實現冗余和業(yè)務持續(xù)性,沒有冗余就意味著會出現單點,而單點一旦出現故障,就會造成局部服務終止。

存儲產品:塊存儲通過三個副本實現冗余,當一個副本出現錯誤時,通過其他副本來校驗和恢復數據;對象存儲中通過糾刪碼來實現數據冗余校驗,提供可恢復能力;對象存儲提供跨區(qū)域復制功能,避免單個地域成為對象存儲的單點。 備份方案:在云端通過跨可用區(qū)、跨地域的數據備份提升可靠性,避免只存儲一份數據;在混合架構中將數據備份到云端,在本地環(huán)境數據損壞時,可通過云端備份文件進行恢復。 容災方案:對業(yè)務系統(tǒng)實現容災,避免當前業(yè)務環(huán)境成為單點,提升整體業(yè)務的可用性和抗風險能力。 高可用:通過跨可用區(qū)的負載均衡部署實現云主機和可用區(qū)的冗余;通過全局負載均衡實現跨地域、跨云平臺的高可用。 3.彈性擴展

緊耦合的系統(tǒng)不容易擴展,在出現軟件Bug和系統(tǒng)故障時難以排查問題,調用每個系統(tǒng)組件的壓力各不相同,小問題逐級放大,容易造成整個業(yè)務中斷。要保持系統(tǒng)彈性擴展,首先要進行系統(tǒng)組件的解耦,包含動態(tài)數據和靜態(tài)數據解耦,解耦后的組件可實現功能單元化,各司其職。

解耦之后再對組件和服務進行擴展,即計算資源的縱向擴展、橫向擴展和自動伸縮,包括數據庫層的擴展,還有通過混合架構延展本地環(huán)境的計算、存儲備份、安全防護、產品服務能力。對應用和數據的遷移也算作整個系統(tǒng)的擴展,從一個環(huán)境遷移到另外一個環(huán)境,系統(tǒng)應保持彈性擴展,在需要遷移時能夠快速實施遷移。最后還要進行均衡,組件解耦、資源和服務擴展之后需要統(tǒng)一的接入入口,以屏蔽底層解耦與擴展帶來的接口不統(tǒng)一等問題,將這些都納入均衡和全局負載均衡中來介紹。

在各個層面實現解耦,通過消息隊列來解耦組件之間的通信,并解耦事件;通過Redis等共享存儲實現狀態(tài)數據與計算資源的解耦;采用云主機部署業(yè)務應該面向服務而非資源,將資源與業(yè)務解耦;存儲實現彈性可掛載和可卸載的云硬盤,采用可綁定和解綁定的EIP;通過DDoS防護、WAF防護等解耦安全防護與計算資源;使用原生的計算能力、存儲能力將業(yè)務與云平臺的特性解耦,實現業(yè)務在多個云平臺中的可擴展。

組件解耦是實現可擴展的前提,可通過以下方式進行解耦。

保持無狀態(tài),將狀態(tài)數據存儲到Redis中。 放到負載均衡中,擴容、縮容不影響整體業(yè)務。 通過消息隊列、API Gateway解耦,生產者、消費者可擴展且互不影響。 實現業(yè)務的全局負載均衡,后端業(yè)務能夠在混合架構、多云環(huán)境中進行擴展 4.性能效率

非常多的解決方案和案例中都涉及高并發(fā)、流量激增帶來的對性能的挑戰(zhàn),在性能效率中,主要目標是發(fā)現和提升應用的性能,提高資源和組件的效率。

首先是計算性能,通過采用高配置的云主機或物理云主機來提升單機性能,通過集群形式擴展整體服務性能。

其次是存儲和緩存,通過Redis來緩存熱點數據、存儲臨時狀態(tài)數據,在內存中進行計算能夠提升業(yè)務性能。在每一層使用緩存,通過CDN緩存靜態(tài)文件,對沒有命中的文件進行回源;通過Redis緩存數據庫,加速數據庫的訪問;通過Redis緩存熱點配置文件、熱點數據,提前加載,減少訪問時間。

再次是對網絡性能的優(yōu)化,在業(yè)務實現全球部署時選擇最優(yōu)數據中心,并且基于全球基礎網絡、CDN及全球應用加速來提升網絡性能,獲得請求加速效果。

最后介紹應用性能監(jiān)測和壓力測試,從應用的角度上來評測當前的性能狀況、發(fā)現問題瓶頸,并針對性地解決問題。

5.安全合規(guī)

安全合規(guī)一方面是為了滿足業(yè)務安全防護的自身需求,另一方面是滿足安全監(jiān)管的合規(guī)要求,在具體實施時會將這兩方面交叉在一起。

首先,從用戶賬號和權限管理切入,為合適的人員分配恰當的賬號、角色,授予最低權限,對于通過API或CLI來訪問的程序或人員分配恰當的公鑰、私鑰和權限,對于臨時訪問的對象存儲文件Token等也進行嚴格管理。其次,還有在整個安全體系中的終端安全、數據安全、網絡安全、應用安全,以及對日志、行為、數據庫操作的審計。最后,還有等保2.0的要求、網站備案要求、滿足GDPR等各地區(qū)對業(yè)務和數據隱私要求的制度等。

在賬號體系中設置主賬號、子賬號,并對公鑰、密鑰進行管理;設置合適的角色,為賬號、角色分配所需要的最低權限。 通過ACL控制網絡訪問;通過安全組限制云主機開放的端口等;通過子網和路由控制跨子網的通信。將數據庫及只需要內部訪問的云主機配置到內網VPC中,設置允許訪問的VPC,設置為不連通外網。 防止DDoS、cc、SQL注入、XSS等攻擊。 安全審計,保留訪問日志、操作日志,逐步實現低頻存儲、歸檔存儲等。 6.持續(xù)運營

云平臺提供的資源與服務均有SLA,云主機的SLA通常為99.95%,用戶構建的業(yè)務系統(tǒng)都是基于云資源和云服務的SLA,在此之上構建可用性、可靠性更高的業(yè)務系統(tǒng)。對于自身業(yè)務系統(tǒng),也需要制定SLA來表明服務可用性或其他指標,制定了用戶業(yè)務的SLA后,就可以按照SLA閾值來設置高可用限流值,綜合評估整體業(yè)務的服務可用性和數據可靠性,并指定故障應急措施。

在持續(xù)運營中會對云資源、云服務、事件及用戶的應用進行監(jiān)控,并設置告警,在達到告警條件時,通過電話、短信、郵件、釘釘、微信等方式通知相關人員,將告警交給回調函數,可實現自動化故障處理或相應的應急預案,減少人工介入。

應該在架構設計的每一層進行監(jiān)控與告警,包括對云資源、事件、應用運行狀況的全方位監(jiān)控。對于用戶自定義的需要監(jiān)測的資源與服務,需要配置合理有效的告警策略來及時發(fā)現異常情況。通過Advisor實現云平臺巡檢,持續(xù)監(jiān)測資源的變化,持續(xù)定期評估業(yè)務架構,及時發(fā)現業(yè)務架構是否還匹配業(yè)務需求。

此外,還需要具備自動化響應及處理功能,自動伸縮能夠通過監(jiān)控CPU等指標自動擴容或縮容云主機數量;通過定時器固定周期擴容或縮容云主機數量。實現事件驅動響應,由事件消息觸發(fā)執(zhí)行腳本、回調函數等操作,實現智能運維,根據事件和告警自動觸發(fā)運維操作,編排運維腳本,通過智能運維的方式來減少人工運維。

及時發(fā)現消費及業(yè)務成本的變化,并對成本進行優(yōu)化。設置賬戶余額告警值,避免快速消費,實現成本控制。評估資源使用時長,將按時計費的資源轉變?yōu)榘丛?、按年計費,優(yōu)化資源的使用。通過Advisor中建議的成本優(yōu)化釋放沒有使用的EIP,根據CPU等指標來減少云主機數量或降低云主機配置,云主機處理對象存儲時通過內網進行訪問,減少外網訪問的流量費用。通過多云部署實現成本優(yōu)化,綜合多個云平臺的資源價格選擇資源,選用較優(yōu)的組合方案,通過其他云平臺更低單價的競價實例云主機來處理OLAP的業(yè)務。

標題名稱:云計算架構設計六大原則你遵循了嗎?
分享路徑:http://www.muchs.cn/news25/203075.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供自適應網站、建站公司、動態(tài)網站云服務器、網站維護、外貿建站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

外貿網站制作