從混亂到有序 ——AppsFlyer如何透過唯一可信源改進製品管理
一、背景
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Meta:透過機器學習和因果推理改進 Instagram 通知管理機器學習
- 如何透過CRM系統進行合同管理?
- 如何透過文件協作進行專案管理?專案管理
- 跨境電商如何透過API選品API
- 從混亂到整潔:JavaScript學習中的程式碼演變之旅JavaScript
- 透過 OKR 進行專案過程管理OKR
- 透過WHQL的產品如何在微軟官網進行查詢微軟
- 如何透過CRM系統進行銷售機會管理?
- 跨境電商API介面如何透過API資料介面進行選品API
- 資料混亂如何正確使用CRM
- Functional CSS: 從試著改進可重用CSS做起FunctionCSS
- 如何透過華為分析提升產品留存率?
- 透過原始碼分析RocketMQ主從複製原理原始碼MQ
- 技術管理進階——精要主義設計人生,對混亂的工作說不
- 專案管理:從工藝到品質(轉)專案管理
- 從單體到混亂的微服務,阿里雲託管式服務網格是如何誕生的?微服務阿里
- ATI Systems 警報器現「SirenJack 遠端漏洞」,可通過無線電頻率啟用警報製造全城混亂
- CapitalOne - 千億資產銀行如何進行唯一可信源的建設?(金融企業必看)API
- 從進貨、製造到出貨所有的過程都需要進行PFMEA分析嗎?
- 透過外部表改進一個繁瑣的大查詢
- 我是如何混進Google的Go
- 應屆生-從想混著過到真正的熱愛程式設計程式設計
- 混亂中尋找秩序 - 戰棋手遊《鋼嵐》產品分析(下)
- 動態路由,透過id改變,改頁面路由
- 銷售如何透過CRM系統進行客戶跟進
- 如何透過快捷鍵快速進入到win10系統的安全模式中?Win10模式
- 透過線上的文件協作進行專案管理專案管理
- 透過AIOps進行網路管理的常用方式AI
- 單體monolith與微服務架構的四種實現狀態:混亂與有序 - lofidewantoMono微服務架構IDE
- 主題閱讀-IT專案管理-CMMI過程改進專案管理
- 看板管理解析:如何透過看板提升專案管理效率?專案管理
- 從業務專家進階到管理者
- “薅羊毛”漏洞分析 | 我是如何到處“混吃混喝”的
- 電商平臺我們該如何透過API去選品?API
- 如何透過設計提升網站的氣質和品質?網站
- Excel?責任混亂?資金不足?倉庫管理的出路在哪Excel
- 收拾混亂賬密,IT特權賬號管理實踐分享
- 圖紙版本管理混亂怎麼辦?專業圖紙版本管理軟體