作者 | Rafal Gancarz
譯者 | 平川
策劃 | 丁曉昀
eBay 整合了負責提供「查看商品」頁面的服務——該頁面每天加載超過 2.5 億次——去除了重複代碼,提高了開發人員的工作效率。結果,他們的團隊速度翻了一番,現在甚至可以每天將變更部署到該頁面,並且變更失敗率降低了許多。
在經歷了十年的自然增長之後,eBay 用於支撐「查看商品」頁面的代碼庫已經變得相當難以維護,因為需要將更改複製到 4 個支撐平台(桌面、移動 Web、iOS 和 Android)上。這導致一次頁面更改需要花費數周的時間,而部署最多一個月才能進行一次。
圖片來源:https://tech.ebayinc.com/engineering/how-ebay-modernized-the-most-important-page-on-our-platform/
團隊決定解決這個問題,並一致同意改進關鍵的 DevOps 指標(參見 Nicole Forsgren、Jez Humble 和 Gene Kim 在 Accelerate 一書中的定義)。新架構需要將現有的 3 個服務整合到一個 View Item Experience Service 中,以支持不同的平台,增強所有平台的用戶體驗,消除重複代碼,提高開發體驗和生產力。
為了實現增量遷移,在替換現有架構時需要引入一個新的服務。該服務開始時只負責代理數據,然後逐漸遷移併合並所有平台的業務邏輯。最後,升級客戶端使其使用新服務,並停用遺留服務。
為了做好變更準備,團隊一開始時曾試圖分析遺留代碼並編寫文檔。事實證明,這個過程非常緩慢而有挑戰性。因此,他們改變了策略,集中精力快速了解了遺留模塊,獲得了一個高級視圖,然後基於此對現有的功能進行了逆向,並編寫了描述新實現的文檔。為了進一步簡化流程,他們將後端更改與面向用戶的更改解耦,使得後端團隊可以加速後續的遷移。
eBay(買家體驗工程)副總裁 Lakshimi Duraivenkatesh 及其協同開發者描述了這項現代化工作的成果:
這些改進最終將速度提高了 200%。更好的是,我們立馬在項目的模塊遷移階段看到了這種提升。從第一個模塊到最後一個模塊,每個模塊的遷移都會帶來相應的速度提升。隨著項目接近完成,我們在新產品改進方面的的工作量已經減少了 50%(以天為單位)。
這些改進最終將速度提高了 200%。更好的是,我們立馬在項目的模塊遷移階段看到了這種提升。從第一個模塊到最後一個模塊,每個模塊的遷移都會帶來相應的速度提升。隨著項目接近完成,我們在新產品改進方面的的工作量已經減少了 50%(以天為單位)。
團隊超額完成了所有初始目標,變更失敗率變得非常低(即使部署更頻繁)。與此同時,變更的交付時間和平均恢復時間(MTTR) 也大大減少了。
圖片來源:https://tech.ebayinc.com/engineering/how-ebay-modernized-the-most-important-page-on-our-platform/
新的業務邏輯實現使用了新的現代化技術棧和更快的自動化管道。更好的文檔、更乾淨的代碼則改善了開發體驗,降低了團隊新成員的上手難度。
原文連結:
https://www.infoq.com/news/2023/06/ebay-view-item-page-rework/
相關閱讀:
eBay 平台自動升級解決方案 (https://www.infoq.cn/article/oSZ2iBOpLuxapQeZtmH0)
eBay 和 Lastminute 採用契約測試來驅動架構演進 (https://www.infoq.cn/article/U8walzaYhwOZQzsVypVj)
聲明:本文為 InfoQ 翻譯,未經許可禁止轉載。
點擊底部閱讀原文訪問 InfoQ 官網,獲取更多精彩內容!
今日好文推薦
IPv4 開始收費!新的 IT 災難?
愛奇藝VR公司業務停滯,員工或被欠薪;阿里雲開源通義千問 70 億參數模型,免費可商用;華為正式發布鴻蒙 4,接入大模型|Q資訊
年薪超 600 萬,比技術總監還高:電影行業 AI 產品經理的崛起
都在追「新潮」技術,但你有大廠們的動作快嗎?