從混亂到有序 ——AppsFlyer如何透過唯一可信源改進製品管理

JFrog傑蛙科技發表於2020-08-03

一、背景

AppsFlyer 創立於2011年,是全球移動歸因與營銷分析領域的領導者,是移動監測行業的標準。AppsFlyer建立的移動歸因與 分析平臺,透過一系列全面的衡量和分析解決方案,使營銷人員能夠發展自己的業務並進行創新。 AppsFlyer透過設計圍繞隱私進行構建,採用以客戶為中心的方法,每天可幫助12,000多個品牌和6,000多個技術合作夥伴做出更好的業務決策。AppsFlyer的總部位於舊金山,目前在全球設有18個辦事處,其平臺已與2,000多個廣告網路整合在一起,其中包括Yahoo、Google和Bing。

在 JFrog SwampUp 2020使用者大會上,AppsFlyer的DevOps平臺工程師Roman Roberman介紹了他們如何基於JFrog Artifactory建設唯一可信源,從而改進了企業的製品管理質量,實現了對其研發環境的控制與自動化管理。

二、 AppsFlyer 早期的製品管理

在採用JFrog Artifactory之前,按照Roberman的說法,AppsFlyer的製品管理就是“真正的爛攤子”。整個公司的製品由多種內部和外部的製品倉庫共同管理,有些型別的製品還沒有用製品倉庫進行管理,如:

·          內部的Docker映象中心

·          外部的公共npm倉庫

·          用s3作為本地的Maven倉庫

·          通常用s3作為定製的通用型別倉庫

·          缺乏適用於Python的pip倉庫

整個製品管理體系複雜而混亂,不得不為每個專案都配置多個製品倉庫,其中甚至會包括一些外部的公共倉庫,如下圖所示:

 

這種架構與模式帶來了很多問題。如,有時外部的倉庫資源可能訪問不到,或者當去外部倉庫拉取依賴時卻發現相應的製品已經被刪掉了;為管理所有的資源不得不使用眾多獨立的認證體系,憑證很難跟蹤;很難對製品的儲存位置和來源進行跟蹤和溯源等等。

隨著業務規模的發展,AppsFlyer需要更加規模化的、集中統一的管理方式。比如:

1 )需要提升製品部署、釋出的速度和可靠性;

2 )一站式管理,而不是不同型別的製品儲存到不同的倉庫;

3 )製品管理系統使用統一的認證體系;

4 )所有制品都納入管理。

使用JFrog Artifactory之後,AppsFlyer實現了上述所有的目標。

三、基於 Artifactory 的唯一可信源

AppsFlyer 選擇了Artifactory作為製品管理的唯一可信源,提升了其軟體部署的速度和效率,並提高了其軟體版本的穩定性和可靠性。 

目前,AppsFlyer製品管理體系包含兩個Artifactory叢集,一個在歐洲,這個是主生產叢集,提供所有銷售業務;另一個在美國,主要進行備份。兩個叢集透過同一個JFrog Mission Control進行統一管理。如下圖所示:

所有的機器由Terraform部署,而Artifactory透過團隊定製開發的Chef cookbook自動安裝。資料都儲存在S3,每個節點還都設定了快取以加快訪問速度。Mission Control提供了良好的視角可以同時監視兩個叢集,並且當歐洲叢集新建了一個倉庫時,可以在美國節點自動建立一個對應的備份倉庫。

在基於Artifactory建立了唯一可信源之後,之前的問題都得到了解決,現在可以對所有制品進行集中統一的管理了,而且可以改進和加速研發流程。

如下圖所示:

在全面實施基於Artifactory的管理方案之前,AppsFlyer對應用效果進行了POC驗證,透過在每種方案下不同的拉取製品場景來進行資料比較。首先,我們使用了50個節點作為基準,分別從Artifactory和原來的倉庫並行拉取製品,其結果如下。很明顯,使用Artifactory的效率更高。

然後,再把節點數增加到300,ARITfactory的效率也很明顯,如下所示:

AppsFlyer 也測試了將製品上傳叢集的一個節點,然後從另一個節點拉取;或者將製品上傳到歐洲的叢集,然後從美國叢集拉取;或者刪除叢集中的某個節點再進行恢復,然後確認是否在確定的時間內恢復成功;等等。所有的測試都得到了滿意的結果。

四、基於 Artifactory 的附加價值

除了建立唯一可信源,提升釋出速度和效率外,基於Artifactory進行製品管理還為AppsFlyer帶來了很多附加的價值:

1 )完備的內嵌文件。如下圖所示,不需要再花費大量時間去學習如何操作特定型別的倉庫,使用者直接參考“Set Me Up”即可;

2 )備份和清理。之前,沒有也無法所備份。現在透過備份,可以在生產環境中清理大量不用的製品,從而節省大量的資源和成本;

3 )統一介面。這非常重要,現在可以用過同一個URL,同一個介面,一站式管理組織內的所有制品;

4 )統一認證。現在可以對接企業的LDAP,使用一致的認證體系實現統一管理。

五、總結

AppsFlyer 透過基於JFrog Artifactory建立唯一可信源,將企業內部製品管理的無序混亂,改進為集中、統一、自動化的管理,提升了應用部署和交付的速度、效率和質量,而且也為製品管理提供了很多附加的價值。

歡迎觀看JFrog傑蛙每週二線上課堂,點選報名:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69954434/viewspace-2708841/,如需轉載,請註明出處,否則將追究法律責任。

相關文章