如何贏回開發者:GitHub的計劃
由於AI程式碼生成帶來的前所未有的增長,GitHub遭遇頻繁宕機。該公司正在擴充套件基礎設施,遷移至Azure,並重建核心系統以恢復可靠性。
在過去一年的大部分時間裡,GitHub不再像開發者們長期習慣的那樣穩定。從搜尋到GitHub Actions及其依賴的CI/CD管道,宕機事件變得過於頻繁。該公司在過去12個月裡記錄了數百起事件,並不得不公開道歉。
The New Stack與GitHub營運長Kyle Daigle(現兼任微軟開發者首席營銷官)探討了這一切發生的原因以及GitHub的修復計劃。Daigle表示,在這個AI編碼時代,GitHub正面臨前所未有的增長,甚至遠超超增長雲公司的通常水平。為了應對這種超增長,GitHub現在處於“全員出動”狀態。
“這不僅僅是雲時代常規的擴充套件解決方案——換更大的機器或增加更多機器,”Daigle說,“而是確保我們能在未來一年內擴充套件到30到40倍,而不是歷史上令人印象深刻的每年100%增長。”GitHub的工程團隊正在努力使系統能夠處理當前30倍的提交、拉取請求和問題。
具有諷刺意味的是,GitHub本身在2021年推出Copilot,幫助開啟了AI程式碼生成時代,但現在卻不堪重負。2025年全年,該平臺處理了10億次提交,而現在每月處理14億次。Daigle表示,僅AI代理每月就建立超過1700萬個拉取請求。
GitHub正在將其資料中心遷移到微軟Azure雲以滿足需求,但這不僅僅是增加容量。“我們一直關注的不僅是常規的擴充套件——繼續獲取更多CPU並進行水平和垂直擴充套件,更重要的是深入底層系統,更新、重建或改進那些執行核心工作的隱藏系統,”Daigle說。早期工作集中在減輕資料庫壓力上,包括解決MySQL爭用、將Webhook完全移出MySQL,以及重新設計會話快取和身份驗證流程。對於GitHub Actions,任務分發方式被重寫。更廣泛的架構目標是隔離Actions和Git等關鍵服務,防止一個子系統崩潰拖垮其他系統。GitHub還將效能敏感程式碼從Ruby單體架構遷移到Go。
“大部分低垂的果實我們已經摘取,”Daigle承認,但改進難以量化。“提高可用性是一個兩難問題,”他說,“當系統正常執行時,很難說‘看,我們做了這個改進’。”GitHub也在藉助微軟的力量。“GitHub現在是全員出動,”Daigle說,“我們得到了比以往更多的支援,有經驗豐富的工程師來幫助我們快速擴充套件。”這些增援大多來自微軟,包括曾大規模擴充套件系統的工程師。
儘管如此,GitHub仍在推出新功能,如新的Copilot應用。Daigle認為這些功能在低風險表面迭代,不會影響正在修復的系統。“如果我釋出一個CLI功能,它不會具有與github.com相同的穩定性和彈性。”Daigle似乎對這段動盪期即將結束抱有希望:“希望每個月都比前一個月好一點,我們將全力以赴。”