Airbnb改進部署管道安全性,規範部署順序

2021-09-17 08:04:30 字數 1104 閱讀 7985

airbnb軟體工程實習生alexander katz最近撰寫了一篇文章,介紹了他們的團隊在airbnb部署系統中所做的改進。airbnb的內部部署服務deployboard每天為成千上萬個服務進行數千個部署。但是,這個工具沒有強制部署順序,導致工程師在某些情況下可以將**直接推送到生產環境中。

katz表示,deployboard負責部署構成airbnb基礎設施和產品的服務。這些服務中的每乙個都有自己的一系列環境,允許分階段將變更推到生產環境。katz還指出,「在airbnb,我們為工程師提供了極大的自由和靈活性,我們為此感到自豪。也就是說,任何乙個工程師都可以輕鬆地進行任意環境的部署」。這種策略越來越多地被大型組織所採用,例如,netflix工程團隊提供了「混合容器」平台和部署系統,鼓勵採用最佳實踐,但不阻止必要的改變。

katz解釋說,他們的部署工具缺少一種保證機制,無法阻止工程師以錯誤的順序部署變更。此外,服務部署流程相關的文件大都過時了。在最近的qcon演講中,如何持續更新文件被認為是一項艱鉅的挑戰,比如來自linkedin的michael kehoe做了「構建生產就緒的應用程式」的演講。由於airbnb的工程師可以自由地部署服務,而且不保證它們一定會正常執行,所以katz表示,解決這個問題將成為高度優先事項。

deployboard最新的管道檢視(感謝airbnb提供)

airbnb將配置視為**,這意味著katz和他的團隊要邁出的第一步是為定義部署管道的配置檔案定義規範。katz指出,部署本身是由管道處理的,這意味著可以使用管道來更新自己的配置。katz說,「如果乙個管道以某種方式獲得了損壞的配置,就無法通過直接的方法來修復」。因此,如果發生這種情況,他們必須開發工具來拯救管道。

通過這些變更,可以由服務團隊來定義和管理管道。由於管道定義本身就是**,所以可以將管道變更的驗證作為管道自身生命週期的一部分。katz指出,團隊評估了針對這個問題的外部解決方案,並可能在不久的將來採用其中的乙個。對於感興趣的讀者,infoq之前已經介紹了很多潛在的解決方案,如jenkins x、spring cloud pipelines和spinnaker以及azure pipelines。

檢視英文原文

Airbnb改進部署管道安全性,規範部署順序

airbnb軟體工程實習生alexander katz最近撰寫了一篇文章,介紹了他們的團隊在airbnb部署系統中所做的改進。airbnb的內部部署服務deployboard每天為成千上萬個服務進行數千個部署。但是,這個工具沒有強制部署順序,導致工程師在某些情況下可以將 直接推送到生產環境中。kat...

Airbnb改進部署管道安全性,規範部署順序

airbnb軟體工程實習生alexander katz最近撰寫了一篇文章,介紹了他們的團隊在airbnb部署系統中所做的改進。airbnb的內部部署服務deployboard每天為成千上萬個服務進行數千個部署。但是,這個工具沒有強制部署順序,導致工程師在某些情況下可以將 直接推送到生產環境中。kat...

Airbnb改進部署管道安全性,規範部署順序

airbnb軟體工程實習生alexander katz最近撰寫了一篇文章,介紹了他們的團隊在airbnb部署系統中所做的改進。airbnb的內部部署服務deployboard每天為成千上萬個服務進行數千個部署。但是,這個工具沒有強制部署順序,導致工程師在某些情況下可以將 直接推送到生產環境中。kat...