近年來開髮圈中流行的流行語之一是“大規模部署”。現在,雖然有一個普遍認可的術語很好,但關於大規模部署的實際含義的觀點往往會有所不同。
那麼“大規模”在開發社區中到底意味著什麼,公司如何定義他們的自己的做法?我們與 Armory.io 的產品和營銷副總裁 Adam Frank 進行了交談,以找出答案。
BN:讓我們從回到基礎開始,什麼是“部署”?
AF:持續部署和技術上下文中的部署是指自動提交或“部署”代碼或配置更改’投入生產。持續部署通過編排測試和環境推廣生命週期,同時使用金絲雀和藍/綠等漸進策略以及自動影響分析和無縫回滾,確保部署不會對用戶體驗產生負面影響。
BN:部署如何受企業環境的影響?
AF:企業環境以其規模、不一致性和無數活動部件創造了複雜性。在企業環境中大規模部署軟件可能極具挑戰性、繁瑣、緩慢且成本高昂。我們不能忘記規模的其他方面也是人員和流程方面。整個企業的團隊將擁有不同的流程、目標、優先級和任務。企業規模的人員、流程和技術通常會導致複雜性。
BN:部署和維護之間的界限在哪裡?這如何符合持續部署的概念?
AF:部署和維護之間沒有明確的界線,也不應該有。一些代碼可能會提供新功能,而另一些代碼可能會提供錯誤修復或清理現有代碼和技術債務。無論哪種方式,他們都應該經歷部署過程以確保功能並減少更改失敗。
BN:那麼如何才能擴大部署?
AF:兩個詞:編排。自動化。平台工程師和 DevOps 從業者花費大量時間構建和維護部署管道和流程,其複雜性增加了發布之間的時間並降低了成功部署的可能性。本土工具在所有三個方面都缺乏可擴展性:人員、流程、技術。您希望您的員工專注於您的競爭優勢;專注於您的差異化價值。不建設和維護基礎設施。您希望流程自動化、端到端。為了有效地擴展部署,團隊需要使整個過程簡單、可靠和可重複。持續部署在每個集群和環境中協調測試、安全掃描和促銷生命週期,無論一個人可能擁有多少集群和環境,最重要的是降低對客戶體驗產生負面影響的風險。無論您的開發人員人數是從 10 人增加到 1000 人,還是 1000 人或 10,000 人甚至更多,良好的持續部署工作流程仍然易於維護、高效且有效。
BN:像容器化這樣的技術有哪些部分玩?
AF:容器虛擬化操作系統級別之上的軟件層,使它們成為輕量級軟件包,其中包含執行所包含軟件所需的所有依賴項。因為它們是輕量級的,所以它們可以非常快速地修改和迭代。這使它們非常適合持續部署。一旦持續集成過程成功完成並且有一個新的工件;一個新的容器鏡像,持續部署工作流接管並協調跨環境的部署。這可確保工件安全可靠地投入生產。
圖片來源:Elnur_/depositphotos.com