挑戰
近年來,阿迪達斯團隊對其軟體選擇從技術角度來看感到滿意,但訪問所有工具卻是個問題。例如,“僅僅是獲取一個開發者虛擬機器,你就必須傳送請求表單,說明目的,說明專案名稱,負責人,並致電內部成本中心,以便他們進行費用分攤,”平臺工程高階總監 Daniel Eichten 說。“最好的情況是你在半小時內拿到機器。最壞的情況是半周,有時甚至一週。”
解決方案
為了改進這個過程,“我們從開發者的角度出發”,尋找縮短專案啟動並投入阿迪達斯基礎設施所需時間的方法,平臺工程高階總監 Fernando Cornago 說。他們透過容器化、敏捷開發、持續交付以及包括 Kubernetes 和 Prometheus 在內的雲原生平臺找到了解決方案。
影響
專案啟動僅六個月後,阿迪達斯電子商務網站100%執行在Kubernetes上。電子商務網站的載入時間縮短了一半。釋出頻率從每4-6週一次提高到每天3-4次。擁有4000個Pod、200個節點和每月80000次構建,阿迪達斯現在將其40%最關鍵、最具影響力的系統執行在其雲原生平臺上。
對於阿迪達斯的工程師們來說,平臺工程高階總監 Daniel Eichten 說,“感覺就像一位藝術家,雙手被綁在背後,卻被要求創作一幅畫。”
例如,“僅僅是獲取一個開發者虛擬機器,你就必須傳送請求表單,說明目的,說明專案名稱,負責人,並致電內部成本中心,以便他們進行費用分攤,”Eichten 說。“最終,經過大量批准後,機器的配置在幾分鐘內完成,最好的情況是你在半小時內拿到機器。最壞的情況是半周,有時甚至一週。”
為了改進這個過程,“我們從開發者的角度出發”,尋找縮短專案啟動並投入阿迪達斯基礎設施所需時間的方法,平臺工程高階總監 Fernando Cornago 說。
Eichten 補充道:“我們以前就是工程師。我們知道一個典型的工程師需要什麼、渴望什麼、不想處理什麼。對我們來說,這非常清楚。我們填補了沒有人想處理的空白,並使通常痛苦的事情儘可能地無痛。”目標:提高速度、可操作性和可觀察性。
Cornago 和 Eichten 透過容器化、敏捷開發、持續交付以及包括 Kubernetes 和 Prometheus 在內的雲原生平臺找到了解決方案。“選擇 Kubernetes 是非常明確的,”Eichten 說。“零日,決定,容易。第一天,安裝、配置,容易。第二天,即使是小規模工作負載,如果出現問題,你不知道這些東西是如何工作的,你會迷失方向。對於第二天的問題,我們需要一個合作伙伴來幫助我們。”
2017年初,阿迪達斯選擇 Giant Swarm 負責諮詢、安裝、配置和執行其在 AWS 和本地的所有 Kubernetes 叢集。“在執行和操作 Kubernetes 叢集方面,我們與 Puma 或 Nike 等競爭對手沒有任何競爭優勢,”Eichten 說。“我們的競爭優勢在於我們教導內部工程師如何構建快速、有彈性、執行完美的炫酷電商商店。”
Cornago 補充道:“對我來說,我們的 Kubernetes 平臺是由工程師為工程師打造的。它將開發團隊從他們不想做的任務中解脫出來,同時又提供了幕後情況的可見性,這樣他們也能控制它。”
例如:在網路週期間,團隊必須建立大量自定義指標。2017年11月,“因為我們使用了用於監控叢集的同一個 Prometheus,所以 Prometheus 資料庫被填滿了,我們無法(充分)縮短保留期,”Cornago 說。因此,在購物高峰周前的凍結期,平臺團隊的五名工程師與電子商務團隊的五名工程師合作,在兩天內找出並實施了一個聯邦解決方案。
除了為“網購星期一”做好準備(專案啟動僅六個月後,阿迪達斯電子商務網站100%執行在Kubernetes上),雲原生堆疊還取得了其他令人印象深刻的成果。電子商務網站的載入時間縮短了一半。釋出頻率從每4-6週一次提高到每天3-4次。憑藉4,000個Pod、200個節點和每月80,000次構建,阿迪達斯現在將其40%最關鍵、最具影響力的系統執行在其雲原生平臺上。
在阿迪達斯三百多名工程師隊伍中,採用速度也很快。Eichten 說:“我把我們的雲原生平臺稱為夢想之地。我們建造了它,從沒預料到人們會來並愛上它。”
Cornago 說,一方面,“每個能碰程式碼的人”都花了一整週的時間與35人的平臺工程團隊成員一起進行平臺入門和學習。“我們嘗試花50%的時間與團隊坐在一起,因為這是瞭解我們平臺如何被使用的唯一方式。這也是團隊感到安全,因為牆的另一邊有人,也在感受痛苦。”
此外,康納戈和艾希滕利用了阿迪達斯作為一個時尚運動服品牌,其DNA中包含體育和競爭的特點。康納戈說:“自上而下的命令在阿迪達斯行不通,但遊戲化卻很有效。所以今年我們舉辦了DevOps杯比賽。每個團隊都建立了新的技術能力,並提出了這些能力如何影響商業價值的假設。我們在一個有600多人參加的大型內部技術峰會上公佈了獲勝者。這對團隊來說真的非常有用。”
因此,如果他們要給其他希望開啟雲原生之旅的公司任何建議,那便是:“沒有一種萬能的解決方案適用於所有公司,”Cornago 說。“將你公司的文化應用到你所做的一切中。”