Outfit7 案例研究
![]()
"社群支援真的太棒了。使用 Knative 的實務經驗令人印象深刻。在 Slack 頻道上,我們有真正的工程師回答我們的問題"
-- Tilen Kavčič,Outfit7 的軟體工程師 |
遊戲開發商 Outfit7 使用 Knative Serving 自動化高效能廣告競價自 2009 年成立以來,行動遊戲公司 Outfit7 見證了驚人的成長,去年獲得超過 170 億次下載和超過 850 億次影片觀看次數。Outfit7 連續 6 年(2015 年至 2020 年)在 iOS 和 Google Play 全球遊戲下載量方面名列前 5 大遊戲發行商。隨著他們最新推出的《My Talking Angela 2》,他們在 7 月、8 月和 9 月的全球遊戲下載量排名第一(超過 1.2 億次下載)。這個廣受歡迎的遊戲開發商成功推出《會說話的湯姆貓與朋友們》系列和獨立遊戲《Mythic Legends》等熱門遊戲,造成了大規模的挑戰。每月活躍使用者高達 4.7 億,每秒 2 萬個伺服器請求,每天產生 TB 級的資料,他們需要一個穩定、高效能的解決方案。他們轉向 Knative 和 Kubernetes 解決方案,以最佳化即時競價廣告銷售,使其能夠根據需要自動擴增和縮減。他們能夠開發出一個易於維護的系統,釋放了兩位軟體工程師,讓他們現在能夠處理更重要的任務,例如最佳化後端成本和新增遊戲功能。高效能應用程式內競價廣告銷售是 Outfit7 的重要收入來源。團隊需要謹慎地取得平衡:以最高價出售空間、有效利用技術資源,並確保廣告快速提供給玩家。為了實現這一目標,他們決定採用應用程式內競價方法。Outfit7 使用者群每秒產生約 8,000 個與廣告相關的請求。由於如此多的使用者遍佈全球,這些請求的數量可能會根據各種因素而下降或激增。不僅僅是白天等可預測的事情,目前的事件也可能會突然產生流量。例如,疫情期間他們的用量激增。為了在內部管理這個流程,團隊需要能夠非常有效率地測試和部署。「我們想要涵蓋兩個具體的使用案例,」Outfit7 廣告技術部門的後端工程師 Luka Draksler 解釋說。「其中一個是能夠使用自動逐步推出流程來執行零停機 Canary 部署。這種方式是透過連續部署管線部署新版本的軟體,首先只會有少量流量。如果一切順利,所有生產流量都會移轉到新版本。在最壞的情況下(如果請求開始失敗),流量可以快速移轉到舊版本。第二個使用案例是讓開發人員能夠將版本部署到特定使用者群,以進行 A/B 測試和其他使用案例。」團隊決定採用 Knative Serving 作為其解決方案的骨幹。Knative 讓 Outfit7 能夠簡化部署並縮短開發時間。在驚訝於他們如何輕鬆產生內部概念驗證後,團隊發現它可以打造針對其內部工作流程調整的自訂解決方案,而不會耗費寶貴的開發人員時間。此外,他們可以快速配置 A/B 測試並同時部署多個程式碼版本。無伺服器解決方案Knative Serving 讓 Outfit7 能夠存取一套強大的工具和功能,使其團隊能夠自動化和監控應用程式的部署,以處理廣告請求。當有更多請求傳入時,他們的系統會自動啟動更多容器,其中包含工作人員和工具。當這些請求下降時,不需要的容器就會關閉。Outfit7 只需為目前負載所需的資源付費。Knative 作為安裝在 Kubernetes 之上的層運作。它將無伺服器工作負載的功能帶入 Kubernetes 的可擴充能力中。團隊可以快速啟動基於容器的應用程式,而無需考慮 Kubernetes 的細節。Knative 也簡化了 Kubernetes 的專案部署。Outfit7 後端團隊的首席開發人員 Mitja Bezenšek 估計,Knative 取代的傳統開發將需要三名全職工程師來維護。他們的新平台以最少的工作量運作,並允許開發人員隨時部署更新。開源社群Outfit7 的團隊對 Knative 周圍的支援和樂於助人的社群感到非常驚訝。在發現網路擴充問題後,團隊對找到答案和解決方案的容易程度感到驚訝。「社群支援真的太棒了。使用 Knative 的實務經驗令人印象深刻。在 Slack 頻道上,我們有真正的工程師回答我們的問題」 -- Tilen Kavčič,Outfit7 的軟體工程師分享他們的故事使用 Knative 的美好經驗鼓勵他們的團隊在當地的聚會中與其他公司和工程師分享他們的經驗。包含多個現場示範的簡報獲得了成功,促成了另一個以該技術為重點的聚會。「Tilen 向他們展示了示範以及它的所有內容,」Bezenšek 說。「我希望我們能夠讓他們繼續參與。」展望未來Outfit7 沒有放慢腳步的跡象。「由於我們希望支持我們擴展遊戲組合的願景,我們一直在尋找可以陪伴我們走這條道路的新策略合作夥伴,」賽普勒斯總部的研發主管 Helder Lopes 補充道。該公司計劃將 Knative 納入其他後端系統並採用它,充分利用 Knative 提供的更簡單的工作流程。了解更多資訊 |