云計算架構(gòu)設(shè)計六大原則,你遵循了嗎?

2022-10-03    分類: 網(wǎng)站建設(shè)

我們不一定能直接感受到云計算對日常生活、工作、學(xué)習(xí)的影響,但作為IT基礎(chǔ)設(shè)施,它卻悄然支撐著我們正在使用的各個應(yīng)用。

云計算架構(gòu)設(shè)計六大原則,你遵循了嗎?

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

云計算架構(gòu)設(shè)計六大原則,你遵循了嗎?

圖1

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

云計算架構(gòu)設(shè)計六大原則,你遵循了嗎?

圖2

在架構(gòu)設(shè)計的各個階段中,每個階段均導(dǎo)入前一個階段的結(jié)果,經(jīng)過當(dāng)前階段處理后輸出設(shè)計方案或搭建環(huán)境,漸進式地推進完整解決方案的設(shè)計。

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

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

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

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

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

基于云計算進行架構(gòu)設(shè)計,所有的技術(shù)解決方案都應(yīng)遵循一定的原則,這也是架構(gòu)設(shè)計中要追求的目標(biāo)。

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

云計算架構(gòu)設(shè)計六大原則,你遵循了嗎?

圖3

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

1.合理部署

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

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

混合架構(gòu)能夠?qū)性坪退接谢渴鸬钠脚_、傳統(tǒng)的VMware、OpenStack虛擬化平臺或物理服務(wù)器等資源進行統(tǒng)一管理和調(diào)度,混合架構(gòu)既享受了不變更本地環(huán)境、滿足合規(guī)要求的好處,又享受了云平臺資源豐富、服務(wù)能力充足等優(yōu)勢。混合架構(gòu)也是當(dāng)前企業(yè)轉(zhuǎn)型上云的一種中間狀態(tài),會長期存在。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5.安全合規(guī)

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

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

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

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

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

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

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

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

網(wǎng)頁名稱:云計算架構(gòu)設(shè)計六大原則,你遵循了嗎?
當(dāng)前路徑:http://www.muchs.cn/news6/200856.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、響應(yīng)式網(wǎng)站品牌網(wǎng)站制作、做網(wǎng)站、網(wǎng)站設(shè)計、軟件開發(fā)

廣告

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

搜索引擎優(yōu)化