溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

從混亂到有序 ——AppsFlyer如何通過唯一可信源改進(jìn)制品管理

發(fā)布時(shí)間:2020-08-11 15:58:17 來源:ITPUB博客 閱讀:177 作者:JFrog杰蛙科技 欄目:開發(fā)技術(shù)

一、背景

AppsFlyer 創(chuàng)立于2011年,是全球移動(dòng)歸因與營銷分析領(lǐng)域的領(lǐng)導(dǎo)者,是移動(dòng)監(jiān)測(cè)行業(yè)的標(biāo)準(zhǔn)。AppsFlyer建立的移動(dòng)歸因與 營銷 分析平臺(tái),通過一系列全面的衡量和分析解決方案,使?fàn)I銷人員能夠發(fā)展自己的業(yè)務(wù)并進(jìn)行創(chuàng)新。 AppsFlyer通過設(shè)計(jì)圍繞隱私進(jìn)行構(gòu)建,采用以客戶為中心的方法,每天可幫助12,000多個(gè)品牌和6,000多個(gè)技術(shù)合作伙伴做出更好的業(yè)務(wù)決策。AppsFlyer的總部位于舊金山,目前在全球設(shè)有18個(gè)辦事處,其平臺(tái)已與2,000多個(gè)廣告網(wǎng)絡(luò)集成在一起,其中包括Yahoo、Google和Bing。

從混亂到有序 ——AppsFlyer如何通過唯一可信源改進(jìn)制品管理

在 JFrog SwampUp 2020用戶大會(huì)上,AppsFlyer的DevOps平臺(tái)工程師Roman Roberman介紹了他們?nèi)绾位贘Frog Artifactory建設(shè)唯一可信源,從而改進(jìn)了企業(yè)的制品管理質(zhì)量,實(shí)現(xiàn)了對(duì)其研發(fā)環(huán)境的控制與自動(dòng)化管理。

二、 AppsFlyer 早期的制品管理

在采用JFrog Artifactory之前,按照Roberman的說法,AppsFlyer的制品管理就是“真正的爛攤子”。整個(gè)公司的制品由多種內(nèi)部和外部的制品倉庫共同管理,有些類型的制品還沒有用制品倉庫進(jìn)行管理,如:

·          內(nèi)部的Docker鏡像中心

·          外部的公共npm倉庫

·          用s3作為本地的Maven倉庫

·          通常用s3作為定制的通用類型倉庫

·          缺乏適用于Python的pip倉庫

整個(gè)制品管理體系復(fù)雜而混亂,不得不為每個(gè)項(xiàng)目都配置多個(gè)制品倉庫,其中甚至?xí)ㄒ恍┩獠康墓矀}庫,如下圖所示:

  從混亂到有序 ——AppsFlyer如何通過唯一可信源改進(jìn)制品管理

這種架構(gòu)與模式帶來了很多問題。如,有時(shí)外部的倉庫資源可能訪問不到,或者當(dāng)去外部倉庫拉取依賴時(shí)卻發(fā)現(xiàn)相應(yīng)的制品已經(jīng)被刪掉了;為管理所有的資源不得不使用眾多獨(dú)立的認(rèn)證體系,憑證很難跟蹤;很難對(duì)制品的存儲(chǔ)位置和來源進(jìn)行跟蹤和溯源等等。

隨著業(yè)務(wù)規(guī)模的發(fā)展,AppsFlyer需要更加規(guī)模化的、集中統(tǒng)一的管理方式。比如:

1 )需要提升制品部署、發(fā)布的速度和可靠性;

2 )一站式管理,而不是不同類型的制品存儲(chǔ)到不同的倉庫;

3 )制品管理系統(tǒng)使用統(tǒng)一的認(rèn)證體系;

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

使用JFrog Artifactory之后,AppsFlyer實(shí)現(xiàn)了上述所有的目標(biāo)。

三、基于 Artifactory 的唯一可信源

AppsFlyer 選擇了Artifactory作為制品管理的唯一可信源,提升了其軟件部署的速度和效率,并提高了其軟件版本的穩(wěn)定性和可靠性。 

目前,AppsFlyer制品管理體系包含兩個(gè)Artifactory集群,一個(gè)在歐洲,這個(gè)是主生產(chǎn)集群,提供所有銷售業(yè)務(wù);另一個(gè)在美國,主要進(jìn)行備份。兩個(gè)集群通過同一個(gè)JFrog Mission Control進(jìn)行統(tǒng)一管理。如下圖所示:

從混亂到有序 ——AppsFlyer如何通過唯一可信源改進(jìn)制品管理

所有的機(jī)器由Terraform部署,而Artifactory通過團(tuán)隊(duì)定制開發(fā)的Chef cookbook自動(dòng)安裝。數(shù)據(jù)都存儲(chǔ)在S3,每個(gè)節(jié)點(diǎn)還都設(shè)置了緩存以加快訪問速度。Mission Control提供了良好的視角可以同時(shí)監(jiān)視兩個(gè)集群,并且當(dāng)歐洲集群新建了一個(gè)倉庫時(shí),可以在美國節(jié)點(diǎn)自動(dòng)創(chuàng)建一個(gè)對(duì)應(yīng)的備份倉庫。

從混亂到有序 ——AppsFlyer如何通過唯一可信源改進(jìn)制品管理

在基于Artifactory建立了唯一可信源之后,之前的問題都得到了解決,現(xiàn)在可以對(duì)所有制品進(jìn)行集中統(tǒng)一的管理了,而且可以改進(jìn)和加速研發(fā)流程。

如下圖所示:

從混亂到有序 ——AppsFlyer如何通過唯一可信源改進(jìn)制品管理

在全面實(shí)施基于Artifactory的管理方案之前,AppsFlyer對(duì)應(yīng)用效果進(jìn)行了POC驗(yàn)證,通過在每種方案下不同的拉取制品場(chǎng)景來進(jìn)行數(shù)據(jù)比較。首先,我們使用了50個(gè)節(jié)點(diǎn)作為基準(zhǔn),分別從Artifactory和原來的倉庫并行拉取制品,其結(jié)果如下。很明顯,使用Artifactory的效率更高。

從混亂到有序 ——AppsFlyer如何通過唯一可信源改進(jìn)制品管理

然后,再把節(jié)點(diǎn)數(shù)增加到300,ARITfactory的效率也很明顯,如下所示:

從混亂到有序 ——AppsFlyer如何通過唯一可信源改進(jìn)制品管理

AppsFlyer 也測(cè)試了將制品上傳集群的一個(gè)節(jié)點(diǎn),然后從另一個(gè)節(jié)點(diǎn)拉??;或者將制品上傳到歐洲的集群,然后從美國集群拉取;或者刪除集群中的某個(gè)節(jié)點(diǎn)再進(jìn)行恢復(fù),然后確認(rèn)是否在確定的時(shí)間內(nèi)恢復(fù)成功;等等。所有的測(cè)試都得到了滿意的結(jié)果。

四、基于 Artifactory 的附加價(jià)值

除了建立唯一可信源,提升發(fā)布速度和效率外,基于Artifactory進(jìn)行制品管理還為AppsFlyer帶來了很多附加的價(jià)值:

1 )完備的內(nèi)嵌文檔。如下圖所示,不需要再花費(fèi)大量時(shí)間去學(xué)習(xí)如何操作特定類型的倉庫,用戶直接參考“Set Me Up”即可;

從混亂到有序 ——AppsFlyer如何通過唯一可信源改進(jìn)制品管理

2 )備份和清理。之前,沒有也無法所備份?,F(xiàn)在通過備份,可以在生產(chǎn)環(huán)境中清理大量不用的制品,從而節(jié)省大量的資源和成本;

3 )統(tǒng)一接口。這非常重要,現(xiàn)在可以用過同一個(gè)URL,同一個(gè)接口,一站式管理組織內(nèi)的所有制品;

4 )統(tǒng)一認(rèn)證。現(xiàn)在可以對(duì)接企業(yè)的LDAP,使用一致的認(rèn)證體系實(shí)現(xiàn)統(tǒng)一管理。

五、總結(jié)

AppsFlyer 通過基于JFrog Artifactory建立唯一可信源,將企業(yè)內(nèi)部制品管理的無序混亂,改進(jìn)為集中、統(tǒng)一、自動(dòng)化的管理,提升了應(yīng)用部署和交付的速度、效率和質(zhì)量,而且也為制品管理提供了很多附加的價(jià)值。

歡迎觀看JFrog杰蛙每周二在線課堂,點(diǎn)擊報(bào)名:

https://www.bagevent.com/event/6643470

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI