Microsoft Azure 架構(gòu)良好的框架

來源: Microsoft Azure
作者:Microsoft Azure
時(shí)間:2020-12-08
17691
Azure架構(gòu)良好的框架是一組指導(dǎo)原則,可用于提高工作負(fù)荷的質(zhì)量。該框架包含卓越體系結(jié)構(gòu)的五個(gè)要素:成本優(yōu)化、卓越運(yùn)營(yíng)、性能效率、可靠性和安全性。

Azure架構(gòu)良好的框架是一組指導(dǎo)原則,可用于提高工作負(fù)荷的質(zhì)量。該框架包含卓越體系結(jié)構(gòu)的五個(gè)要素:成本優(yōu)化、卓越運(yùn)營(yíng)、性能效率、可靠性和安全性。

若要使用在Microsoft Azure架構(gòu)良好的框架中找到的原則來評(píng)估工作負(fù)載,請(qǐng)參閱Microsoft Azure架構(gòu)良好的框架回顧。

微信圖片_20201208102931.png

成本優(yōu)化

設(shè)計(jì)云解決方案時(shí),請(qǐng)重點(diǎn)關(guān)注如何及早產(chǎn)生增值。運(yùn)用生成-度量-學(xué)習(xí)的原則,在加快上市時(shí)間的同時(shí)避免資本密集型解決方案。將即用即付策略用于你的體系結(jié)構(gòu),并且投資于橫向擴(kuò)展,而不是交付大型投資第一版??紤]你的體系結(jié)構(gòu)中的機(jī)會(huì)成本,以及在先發(fā)優(yōu)勢(shì)與“快速跟進(jìn)”之間的平衡。使用成本計(jì)算器來估計(jì)初始成本和運(yùn)營(yíng)成本。最后,建立策略、預(yù)算和控制,以便為解決方案設(shè)置成本限制。

成本指南

·查看成本原則

·開發(fā)成本模型

·創(chuàng)建預(yù)算和警報(bào)

·查看成本優(yōu)化清單

卓越運(yùn)營(yíng)

此構(gòu)成要素涵蓋讓應(yīng)用程序在生產(chǎn)環(huán)境中持續(xù)運(yùn)行的操作過程。部署必須可靠且可預(yù)測(cè)。它們應(yīng)實(shí)現(xiàn)自動(dòng)化,以減少人為失誤的可能性。它們應(yīng)當(dāng)是一個(gè)快速、例行的過程,這樣就不會(huì)拖慢新功能或bug修復(fù)的發(fā)布。如果更新出現(xiàn)問題,你必須能夠快速回滾或前滾,這一點(diǎn)也同樣重要。

監(jiān)視和診斷至關(guān)重要。云應(yīng)用程序在遠(yuǎn)程數(shù)據(jù)中心內(nèi)運(yùn)行,你在此中心內(nèi)無法完全控制基礎(chǔ)結(jié)構(gòu),或者在某些情況下無法控制操作系統(tǒng)。在大型應(yīng)用程序中,不可能登錄到VM來解決問題或仔細(xì)查看日志文件。使用PaaS服務(wù)時(shí),可能根本就沒有可登錄的專用VM。通過監(jiān)視和診斷,你可以深入了解系統(tǒng),以便知道故障在何時(shí)及何處出現(xiàn)。所有系統(tǒng)都必須可觀測(cè)??墒褂贸R姷囊恢氯罩居涗浖軜?gòu),以便跨系統(tǒng)關(guān)聯(lián)事件。

監(jiān)視和診斷過程包含多個(gè)不同的階段:

·檢測(cè)。根據(jù)應(yīng)用程序日志、Web服務(wù)器日志、Azure平臺(tái)內(nèi)置的診斷以及其他來源生成原始數(shù)據(jù)。

·收集和存儲(chǔ)。將數(shù)據(jù)整合到一個(gè)位置。

·分析和診斷。用于解決問題,查看總體運(yùn)行狀況。

·可視化和警報(bào)。使用遙測(cè)數(shù)據(jù)發(fā)現(xiàn)趨勢(shì)或向運(yùn)營(yíng)團(tuán)隊(duì)發(fā)出警報(bào)。

使用DevOps清單從管理和DevOps角度審查你的設(shè)計(jì)。

卓越運(yùn)營(yíng)指南

·管理和監(jiān)視的設(shè)計(jì)模式

·最佳做法:監(jiān)視和診斷

性能效率

性能效率是指工作負(fù)載能夠以高效的方式擴(kuò)展以滿足用戶對(duì)它的需求。實(shí)現(xiàn)這一點(diǎn)的主要方法是適當(dāng)?shù)厥褂每缮炜s性并實(shí)現(xiàn)內(nèi)置可伸縮性的PaaS產(chǎn)品/服務(wù)。

應(yīng)用程序可通過兩種主要方式進(jìn)行擴(kuò)展。垂直擴(kuò)展(縱向擴(kuò)展)指增加資源的容量,例如通過使用更大的VM。水平擴(kuò)展(橫向擴(kuò)展)指添加資源的新實(shí)例,比如VM或數(shù)據(jù)庫副本。

水平擴(kuò)展相較垂直擴(kuò)展具有明顯優(yōu)勢(shì):

·真正的云規(guī)模。可將應(yīng)用程序設(shè)計(jì)為在數(shù)百個(gè)甚至數(shù)千個(gè)節(jié)點(diǎn)上運(yùn)行,其規(guī)模是在單個(gè)節(jié)點(diǎn)上無法達(dá)到的。

·水平擴(kuò)展具有彈性。如果負(fù)載增加,可以添加更多實(shí)例;在較安靜的時(shí)間段,則可以刪除實(shí)例。

·可以按計(jì)劃或?yàn)轫憫?yīng)負(fù)載變化,自動(dòng)觸發(fā)橫向擴(kuò)展。

·橫向擴(kuò)展可能比縱向擴(kuò)展更便宜。運(yùn)行多個(gè)小型VM比運(yùn)行單個(gè)大型VM的成本更低。

·水平擴(kuò)展還可通過添加冗余提高復(fù)原能力。如果某個(gè)實(shí)例出現(xiàn)故障,應(yīng)用程序?qū)⒗^續(xù)運(yùn)行。

垂直擴(kuò)展的一個(gè)優(yōu)點(diǎn)是,擴(kuò)展時(shí)不必對(duì)應(yīng)用程序進(jìn)行任何更改。但會(huì)在某個(gè)時(shí)候達(dá)到極限,即,再也無法縱向擴(kuò)展。這時(shí),任何進(jìn)一步的擴(kuò)展都只能是水平擴(kuò)展。

必須將水平擴(kuò)展設(shè)計(jì)到系統(tǒng)中。例如,可通過將VM放在負(fù)載均衡器后面來橫向擴(kuò)展VM。但池中的每個(gè)VM都必須能夠處理任何客戶端請(qǐng)求,因此應(yīng)用程序必須無狀態(tài)或?qū)顟B(tài)存儲(chǔ)在外部(例如,在分布式緩存中)。托管PaaS服務(wù)通常內(nèi)置水平擴(kuò)展和自動(dòng)擴(kuò)展。能輕松擴(kuò)展這些服務(wù)是使用PaaS服務(wù)的主要優(yōu)點(diǎn)。

不過,只添加更多實(shí)例并不意味著就擴(kuò)展了應(yīng)用程序。它可能只是將瓶頸推到了其他地方。例如,如果擴(kuò)展Web前端以處理更多客戶端請(qǐng)求,則可能在數(shù)據(jù)庫中觸發(fā)鎖爭(zhēng)用。然后,你就得考慮其他對(duì)策,比如樂觀并發(fā)或數(shù)據(jù)分區(qū),以提高數(shù)據(jù)庫的吞吐量。

始終執(zhí)行性能和負(fù)載測(cè)試以發(fā)現(xiàn)這些潛在瓶頸。系統(tǒng)的有狀態(tài)部分(如數(shù)據(jù)庫)是導(dǎo)致瓶頸最常見的原因,因此在設(shè)計(jì)水平擴(kuò)展時(shí)需謹(jǐn)慎。解決一個(gè)瓶頸可能會(huì)暴露其他位置的其他瓶頸。

使用性能效率檢查表從可伸縮性的角度審查你的設(shè)計(jì)。

性能效率指南

·可伸縮性和性能的設(shè)計(jì)模式

·最佳做法:自動(dòng)縮放、后臺(tái)作業(yè)、緩存、CDN、數(shù)據(jù)分區(qū)

可靠性

可靠的工作負(fù)載是可復(fù)原且可用的工作負(fù)載。復(fù)原能力是指系統(tǒng)從故障中恢復(fù)并繼續(xù)正常運(yùn)行的能力。復(fù)原能力的目標(biāo)是在故障發(fā)生后將應(yīng)用程序恢復(fù)到可完全正常運(yùn)行的狀態(tài)。可用性是指用戶在需要時(shí)能否訪問你的工作負(fù)載。

傳統(tǒng)應(yīng)用程序開發(fā)一直將焦點(diǎn)放在如何延長(zhǎng)平均故障間隔時(shí)間(MTBF)上,并嘗試各種辦法防止系統(tǒng)出現(xiàn)故障。在云計(jì)算中,必須采用不同的思維方式,原因如下:

·分布式系統(tǒng)很復(fù)雜,一個(gè)點(diǎn)的故障可能在整個(gè)系統(tǒng)中級(jí)聯(lián)。

·云環(huán)境通過使用商用硬件保持低成本,因此必須預(yù)料到偶爾的硬件故障。

·應(yīng)用程序通常依賴于外部服務(wù),這些服務(wù)可能會(huì)變得暫時(shí)不可用或限制大量用戶。

·現(xiàn)在的用戶都希望應(yīng)用程序能夠全天候可用,永不下線。

所有這些因素都意味著設(shè)計(jì)云應(yīng)用程序時(shí)必須預(yù)料到偶發(fā)故障并從中恢復(fù)。Azure已向平臺(tái)內(nèi)置許多復(fù)原功能。例如:

·Azure存儲(chǔ)、SQL數(shù)據(jù)庫和Cosmos DB都在區(qū)域內(nèi)以及跨區(qū)域提供內(nèi)置數(shù)據(jù)復(fù)制。

·Azure托管磁盤自動(dòng)放置在不同的存儲(chǔ)縮放單元,以限制硬件故障的影響。

·可用性集中的VM分布在多個(gè)容錯(cuò)域。容錯(cuò)域是指一組共享公共電源和網(wǎng)絡(luò)交換機(jī)的VM。跨容錯(cuò)域分布VM可限制物理硬件故障、網(wǎng)絡(luò)中斷或斷電的影響。

話雖如此,你仍需構(gòu)建應(yīng)用程序的復(fù)原能力。復(fù)原策略可應(yīng)用于體系結(jié)構(gòu)的所有級(jí)別。有些緩解措施本質(zhì)上更具戰(zhàn)術(shù)意義—例如,在暫時(shí)性網(wǎng)絡(luò)故障后重試遠(yuǎn)程調(diào)用。其他緩解措施則更具戰(zhàn)略意義,比如將整個(gè)應(yīng)用程序故障轉(zhuǎn)移到次要區(qū)域。戰(zhàn)術(shù)性緩解措施可以帶來很大變化。整個(gè)區(qū)域都發(fā)生中斷的情況很少見,像網(wǎng)絡(luò)擁塞這樣的暫時(shí)性問題則更常見—因此先鎖定這些問題。正確的監(jiān)視和診斷也很重要,它們都能檢測(cè)到正在發(fā)生的故障并找到根本原因。

設(shè)計(jì)可復(fù)原的應(yīng)用程序時(shí),必須了解可用性要求。可以接受多長(zhǎng)的故障時(shí)間?這在一定程度上取決于成本。潛在的停機(jī)會(huì)給業(yè)務(wù)造成多大的損失?使應(yīng)用程序保持高可用性需要投入多少資金?

可靠性指南

·設(shè)計(jì)可靠的Azure應(yīng)用程序

·復(fù)原能力的設(shè)計(jì)模式

·最佳做法:暫時(shí)性錯(cuò)誤處理、特定服務(wù)重試指南

安全性

考慮從設(shè)計(jì)和實(shí)現(xiàn)到部署和運(yùn)行的整個(gè)應(yīng)用程序生命周期的安全性。Azure平臺(tái)會(huì)提供保護(hù)以應(yīng)對(duì)各種威脅,如網(wǎng)絡(luò)入侵和DDoS攻擊。但你仍需在應(yīng)用程序和DevOps過程中構(gòu)建安全性。

下面是一些需要考慮的較廣泛的安全領(lǐng)域。

身份管理

請(qǐng)考慮使用Azure Active Directory(Azure AD)對(duì)用戶進(jìn)行身份驗(yàn)證和授權(quán)。Azure AD是一項(xiàng)完全托管的標(biāo)識(shí)和訪問管理服務(wù)。該服務(wù)可用于創(chuàng)建僅存在于Azure的域,或與本地Active Directory標(biāo)識(shí)集成。Azure AD還與Office365、Dynamics CRM Online和許多第三方SaaS應(yīng)用程序集成。對(duì)于面向使用者的應(yīng)用程序,Azure Active Directory B2C允許用戶使用其現(xiàn)有社交帳戶(如Facebook、Google或LinkedIn)進(jìn)行身份驗(yàn)證,或者創(chuàng)建由Azure AD管理的新用戶帳戶。

若要將本地Active Directory環(huán)境與Azure網(wǎng)絡(luò)集成,可通過多種方法實(shí)現(xiàn),具體視你的要求而定。有關(guān)詳細(xì)信息,請(qǐng)參閱我們的標(biāo)識(shí)管理參考體系結(jié)構(gòu)。

保護(hù)基礎(chǔ)結(jié)構(gòu)

控制對(duì)已部署的Azure資源的訪問。每個(gè)Azure訂閱都與某個(gè)Azure AD租戶存在信任關(guān)系??墒褂没诮巧脑L問控制(RBAC)向組織內(nèi)的用戶授予對(duì)Azure資源的正確權(quán)限。通過向用戶或組分配RBAC角色,授予對(duì)特定范圍的訪問權(quán)限。該范圍可以是訂閱、資源組或單個(gè)資源。審核對(duì)基礎(chǔ)結(jié)構(gòu)的所有更改。

應(yīng)用程序安全性

一般來說,應(yīng)用程序開發(fā)的安全性最佳做法在云端仍然適用。其中包括隨處使用SSL、防止CSRF和XSS攻擊、阻止SQL注入攻擊等等。

云應(yīng)用程序通常使用具有訪問密鑰的托管服務(wù)。絕不要將這些服務(wù)簽入源控件中。請(qǐng)考慮將應(yīng)用程序密碼存儲(chǔ)到Azure Key Vault中。

數(shù)據(jù)自主性和加密

使用Azure的高可用性時(shí),確保數(shù)據(jù)一直位于正確的地緣政治區(qū)域中。Azure的異地復(fù)制存儲(chǔ)采用了同一地緣政治區(qū)域中的配對(duì)區(qū)域這一概念。

使用Key Vault保護(hù)加密密鑰和密碼。通過使用Key Vault,可以利用受硬件安全模塊(HSM)保護(hù)的密鑰來加密密鑰和密碼。許多Azure存儲(chǔ)和DB服務(wù)支持靜態(tài)數(shù)據(jù)加密,包括Azure存儲(chǔ)、Azure SQL數(shù)據(jù)庫、Azure Synapse Analytics和Cosmos DB。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于Microsoft Azure,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
Azure Arc為企業(yè)構(gòu)建安全的云基礎(chǔ)
Azure Arc為企業(yè)構(gòu)建安全的云基礎(chǔ)
隨著人工智能技術(shù)持續(xù)重塑企業(yè)運(yùn)營(yíng)方式,企業(yè)需要能夠處理海量數(shù)據(jù)的系統(tǒng),以支持實(shí)時(shí)洞察,同時(shí)幫助他們應(yīng)對(duì)跨IT和OT環(huán)境(包括云端、邊緣和本地)中運(yùn)營(yíng)、應(yīng)用、數(shù)據(jù)和基礎(chǔ)設(shè)施的協(xié)作難題。
Azure
微軟云
云服務(wù)
2024-12-172024-12-17
釋放.NET 9和Azure的AI技術(shù)與云計(jì)算潛力:更快、更智能、面向未來
釋放.NET 9和Azure的AI技術(shù)與云計(jì)算潛力:更快、更智能、面向未來
.NET 9現(xiàn)已正式發(fā)布,它為.NET平臺(tái)的發(fā)展掀開了嶄新的一頁,突破了性能、云原生開發(fā)和AI技術(shù)集成的邊界。
Azure
微軟云
云服務(wù)
2024-12-162024-12-16
Azure網(wǎng)絡(luò)管理現(xiàn)已具備智能Microsoft Copilot副駕駛能力
Azure網(wǎng)絡(luò)管理現(xiàn)已具備智能Microsoft Copilot副駕駛能力
智能Microsoft Copilot副駕駛for Azure網(wǎng)絡(luò)服務(wù)現(xiàn)已推出公共預(yù)覽版。
Azure
微軟云
云服務(wù)
2024-12-102024-12-10
Microsoft Fabric功能更新,借助AI驅(qū)動(dòng)的數(shù)據(jù)平臺(tái)加速應(yīng)用創(chuàng)新
Microsoft Fabric功能更新,借助AI驅(qū)動(dòng)的數(shù)據(jù)平臺(tái)加速應(yīng)用創(chuàng)新
一年前,我們正式推出了一款端到端數(shù)據(jù)平臺(tái),旨在幫助組織推動(dòng)人工智能轉(zhuǎn)型,并重新定義數(shù)據(jù)的連接、管理和分析方式。
Azure
微軟云
云服務(wù)
2024-12-092024-12-09
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家