日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
藍綠部署、A/B 測試和云雀發(fā)布

藍綠部署、A/B 測試和云雀發(fā)布

作者:云和安全管理服務 2023-06-29 08:00:40

云計算

云原生 無論您是否使用特定的云技術,都可以實施所有這些策略。但正如您想象的那樣,docker和Kubernetes等技術對實施這些策略非常有幫助(如果甚至沒有內(nèi)置規(guī)定)。

近些年,“DevOps”非常熱門,最近,我們團隊討論了部署最佳實踐、熱部署、回滾等,當提到藍綠部署時,大家表現(xiàn)出濃烈的興趣。

藍綠部署已經(jīng)在像亞馬遜這樣的地方實踐了 10 多年。它們是一種安全、經(jīng)過驗證的方法。現(xiàn)在,藍綠部署不是靈丹妙藥,但它們有一定的用處。

其實還有A/B 測試,甚至 Canary 測試,在所有微服務、DevOps和云原生交流中,有很多關于它們的討論,因此,我簡單歸納了它們的區(qū)別。

藍綠部署

Blue Green Deployments的詳細介紹請參閱Martin Fowler 關于藍綠部署的鏈接(http://martinfowler.com/bliki/BlueGreenDeployment.html)。它給出了總體要點。

它基本上是一種以可預測的方式發(fā)布應用程序的技術,目的是減少與發(fā)布相關的任何停機時間。這是在發(fā)布前為您的應用做好準備的一種快速方式,如果您發(fā)現(xiàn)問題,也可以快速回滾。

簡單地說,您有兩個相同的環(huán)境(基礎架構),其中“綠色”環(huán)境托管當前的生產(chǎn)應用程序(例如 app1 version1、app2 version1、app3 version1):

圖片

現(xiàn)在,當您準備對 app2 進行更改并將其升級到 v2 時,您將在“藍色環(huán)境”中進行。在該環(huán)境中,您部署應用程序的新版本、運行冒煙測試和任何其他測試(包括那些用于運行/啟動操作系統(tǒng)、緩存、CPU 等的測試)。當事情看起來不錯時,您將負載均衡器/反向代理/路由器更改為指向藍色環(huán)境:

圖片

您監(jiān)視由于發(fā)布而導致的任何故障或異常。如果一切看起來不錯,您最終可以關閉綠色環(huán)境并使用它來發(fā)布任何新版本。如果沒有,您可以通過將負載均衡器指向回快速回滾到綠色環(huán)境。

理論上聽起來不錯。但是有一些事情需要注意。

? 在綠色環(huán)境中長期運行的交易。當您切換到藍色時,您必須優(yōu)雅地處理那些未完成的交易以及新的交易。如果您的數(shù)據(jù)庫后端無法處理此問題,這也會變得很麻煩(見下文);

? 企業(yè)部署通常不適合“微服務”風格的部署——也就是說,你可能有微服務風格的應用程序和一些傳統(tǒng)的、難以更改的應用程序一起工作的混合體。為藍綠部署在兩者之間進行協(xié)調(diào)仍然可能導致停機;

? 數(shù)據(jù)庫遷移可能會變得非常棘手,并且必須與應用程序部署一起遷移/回滾。有很好的工具和技術可以做到這一點,但在傳統(tǒng) RDBMS、NoSQL 和文件系統(tǒng)支持的數(shù)據(jù)庫的環(huán)境中,這些事情確實需要提前考慮;盲目地說你在做藍綠部署沒有任何幫助——實際上可能會造成傷害。

? 你需要有基礎設施來做到這一點;

? 如果您嘗試在非隔離的基礎架構(VM、Docker 等)上執(zhí)行此操作,您將面臨破壞藍色和綠色環(huán)境的風險;

正如我所說,有一些很好的技術可以克服這些挑戰(zhàn)并使這種部署方式非常有效,包括插入到持續(xù)部署管道中,但不要輕易跳入其中。

A/B測試

A/B 測試不是藍綠部署,有些人會混淆這一點。A/B 測試是一種出于各種原因(例如可用性、流行度、引人注目度等)以及這些因素如何影響底線而測試應用程序功能的方法。它通常與應用程序的 UI 部分相關聯(lián),但當然需要后端服務才能執(zhí)行此操作。您可以使用應用程序級開關(即知道何時顯示某些 UI 控件的智能邏輯)、靜態(tài)開關(在應用程序中)以及使用 Canary 版本(如下所述)來實現(xiàn)這一點。

圖片

藍綠部署和 A/B 測試之間的區(qū)別在于 A/B 測試用于測量應用程序中的功能。藍綠部署是關于安全地發(fā)布新軟件并按預期回滾。您顯然可以將它們結合起來:使用藍綠部署在可用于 A/B 測試的應用程序中部署新功能。

云雀發(fā)布

最后,Canary發(fā)布是一種將您的應用程序的新版本發(fā)送到生產(chǎn)環(huán)境的方式,它扮演“云雀”的角色,以了解它將如何執(zhí)行(與其他應用程序、CPU、內(nèi)存、磁盤使用情況等集成) )。這是另一種發(fā)布策略,可以緩解以下事實:無論您在較低環(huán)境中進行的測試級別如何,您仍然會在生產(chǎn)中遇到一些錯誤。云雀版本讓您在完全釋放扳機之前先試水。

圖片

您獲得的反饋越快,部署失敗或謹慎進行的速度就越快。出于與藍綠部署相同的一些原因,請注意上述事項;即,數(shù)據(jù)庫更改仍然會絆倒您。

概括

無論您是否使用特定的云技術,都可以實施所有這些策略。但正如您想象的那樣,Docker和Kubernetes等技術對實施這些策略非常有幫助(如果甚至沒有內(nèi)置規(guī)定)。例如,OpenShift和Fabric8通過提供使用這些技術所需的工具而無需擔心底層細節(jié),從而大大簡化了使用 Docker 和 Kubernetes。


分享題目:藍綠部署、A/B 測試和云雀發(fā)布
分享網(wǎng)址:http://www.5511xx.com/article/cdjhssc.html