易觀 CTO 郭煒:技術架構升級其實是整個公司的升級
推動超過 400 位會員及企業展示交流,技術領導者同儕學習,盡在 EGO 線上分享。EGO 北京分會會員、易觀 CTO 郭煒作為 EGO 線上分享第一季第四期的嘉賓,與大家交流了「易觀大數據架構的變遷」。本文根據當天口述內容整理。
作者介紹
郭煒,2016 年加入易觀,擔任易觀 CTO ,構建易觀技術團隊,完成易觀大數據採集、平台、數據挖掘等技術架構與體系,從無到有完成易觀混合雲搭建、易觀 SDK 升級並發布易觀秒算實時計算平台。
郭煒畢業於北京大學,加入易觀之前,曾任聯想研究院大數據總監,萬達電商數據部總經理,並曾在中金、IBM 、Teradata 公司擔任大數據方向重要崗位,對大數據前沿領域研究,包括視頻、智能WiFi等大數據軟硬數據處理一體技術有獨特的見解。
今天跟大家分享易觀大數據架構的變遷,包含三部分:
- 易觀的變化,也是易觀產品技術的結果;
- 從技術角度來講一下易觀大數據技術架構的變遷;
- 分享一點創新方向的心得。
在過去,大家談起易觀,首先想到的是分析報告。現在的易觀已經跟過去不一樣了。我們從底層通過易觀的 SDK,採集了大量數據,經過大數據平台的計算,再經過分析師、演算法專家做的演算法模型,形成了標籤,提供給相關的產品,千帆、萬像、分析師服務、流量審計、方舟、第四張報表,還有易觀零壹學院。
易觀的收入,過去主要是由分析師服務和分析報告組成的,去年的產品和技術收入也佔到了整體收入的一半。現在的易觀,已經是一家以易觀系列產品為基礎,提供分析師以及第一方數據服務的大數據分析公司。
上圖展示了易觀的數據資源:累計覆蓋 20.7 億終端,監測 APP 200 多萬,上季度末 MAU 為 4.8 億,每秒處理 55 萬條的數據。
易觀大數據幾乎是從零開始,是不斷的隨著業務增長起來的。下面給大家分享一些心得。
升級技術架構,先要革新觀念,最後才是技術問題
技術架構升級,不僅僅是技術升級
說到升級架構,大家第一個都會想到,是不是對技術升級一下就可以了?我認為不是,技術架構升級要求的是整個公司的升級。
技術架構的變化,直接映射的就是成本投入的變化。如何讓其他合伙人明白你的投入是值得的?比如業務合伙人可能質疑你只花錢沒有結果。所以做技術架構變化時,先給公司高管說明白,我們的目標是什麼?為什麼我們要做?是因為業務規模達到一定量要繼續升級,還是要支持原來的產品投入?它將來的投入可能是什麼樣?我們現在如果不升級,會變成什麼樣?這是公司的產品技術一把手應該做的。
技術架構升級,背後是人員變動
大家都會說,技術架構的變化就是升級一下技術架構唄。
其實不是。升級技術架構背後映射的是人員變動。技術架構在不斷升級,有些人會跟不上技術架構的發展。怎樣妥善處理這些跟不上的人員?怎樣評估他對整個團隊的影響?先要把未來架構的人員以及需要的底層資源準備好,再去做技術架構的升級。
技術架構變化,也要考慮節奏問題。技術的使命是什麼?是打造特別牛的系統,或者特別打造特別牛的開源項目,讓業界都覺得你非常牛,卻可能和公司業務沒有什麼關係?還是要讓公司的業務呈現指數級的發展,你能夠升級架構支持公司的變化?我認為是後者更重要。
你的節奏有多快,步伐有多大,其實蠻有講究。每一個做技術的小夥伴,都希望把最新最牛的技術應用到公司。當你在一把手位置的時候,你要考慮人員資源業務是不是真的能夠一步到位?究竟要分幾步,才能把心目的完美架構落到公司?很可能預算、人員、計劃都跟不上,你衝到最前方,卻把團隊扔下了 —— 這是不可取的。
所以每一個公司步伐邁多大,究竟怎樣才去合適,這是每一個公司的 CTO 或者技術產品 VP 心裏面要考量的問題。
技術架構升級,最後才是技術問題
技術結構的變化,到最後才是技術問題。我們會看整個架構效率怎樣、擴展性如何、將來對 SLA 的影響如何?
到最後一步的技術問題,你是不孤獨的,這時候還有總監,還有架構師,還有各種各樣的技術人員;而在考慮前三點的時候,作為技術最高管理者,你是孤獨的。所以對於每一位技術一把手來講,我覺得都要明白,升級架構一定不是僅僅技術升級的事情。
下面要講的就是,易觀的整個技術架構是怎麼一步步走完升級之路的。我剛剛接觸易觀是在 2015 年,當時整個產品技術業務還沒有開展,大家還在探索業務模型。
究竟怎樣去做整個產品?究竟哪些產品能賺錢?技術應該做成什麼樣?在整個公司里,大家都不知道。CEO 非常強力的支持產品技術的轉型。我也被他打動了,選擇加入易觀。
易觀大數據架構的變遷
2015 年,業務模型探索期
在 2015 年,整個易觀架構都在阿里雲上。當時就是在探索,有 30 多台虛擬機,用的是 Cloudera Hadoop ,然後有一個簡單的接收端,就只有一兩個合作夥伴的 SDK 會接收上來,然後傳輸相關的數據。業務量很小,技術架構非常簡單,技術人員十來個,大家水平也一般。這個時候公司處在業務模型探索期。
2016年,業務模型驗證期
到 2016 年就不一樣了。業務模型進入驗證期,相關產品正式推出開始對外售賣,也有了收入。同時,易觀的業務模型也驅動了合作夥伴的數據接入,數據量大概在 2015 年時間每天不到 10 億,到 2016 年就接近百億條了。
2016 年的時候,原來在虛擬機的 Hadoop 運作不能支持那麼大的數據量加工,於是我們自建混合雲,對外服務還是在阿里雲上,底下的數據接收端放到 UCloud 。我們自己有 IDC ,在 IDC 和兩個雲用光纖打通,數據從 SDK 到 UCloud ,在 UCloud 通過內部項目 KickerAA 打包,打包後傳回大數據機房,數據加工後的產品在阿里雲展現。
當時我們買了 150 多台二手機群,搭建了大概 1.8P 的 Hadoop 集群承載我們當時的數據,用的還是 Cloudera Hadoop ,主要還是 Hive 。
另外,因為數據的個性化需求,我在極客邦的 QCon 大會上也介紹過,面對用戶畫像標籤到用戶行為請求的時候,我們引入了 Greenplum 。易觀是 Greenplum 開源版的最早期使用者之一,也用的不錯。現在我們和 Pivotal 的關係也蠻好的,也非常感謝當時他們給我們的很多幫助。
相對與 2015 年,我們也加了 ES 這樣的簡單組件。隨著產品越來越多、API 調用越來越亂,我們也基於 Kong 自己推出了 API Gateway ,這樣就能夠知道API的調用關係和次數。其中的整個結構是隨著技術團隊的更新逐步建立起來。這是 2016 年的情況。
2017年,業務突飛猛進
原來的服務會有光纖被挖斷的問題,我們在 2017 年全部切入 UCloud 混合雲,大數據集群也全部用高端的 R430XD 的機器,也引入了新的架構變化。
隨著人員增加,我們引入了 Spark ,繼續保留 Greenplum 。我們有一些更複雜的查詢,而我們對 Scala 還跟不上速度,所以引入 Facebook 的開源組件 Presto 。基於 Presto,我們做了產品查詢,這些在後面會重寫。同時應用架構也用了 Dubbo 。這是 2017 年的變化。
2017 年我們業務突飛猛進,效果不錯。現在大家都知道易觀千帆能夠去查排行榜,查所有 APP 的活躍情況。我們的數據量級也突飛猛進,我們過去的接收帶寬從幾百兆到 1G 到現在的幾個 G ,日活接近一個億,數據需求也進入了深水區。
我們最近做了懸賞 10 萬塊錢的開源大獎賽。大家都有有序漏斗查詢的方案,我們的方案我覺得是 60 分,還不夠好,已經給大家開源了。最好的商業產品能做到 90 分了。為了鼓勵開源小夥伴,我們設立了 10 萬元獎金,歡迎感興趣的小夥伴掃描二維碼參賽。
從虛擬化來講,我們的技術也是逐步進步,技術人員也是隨著架構在不斷升級。我們在 2016 年的時候就在長沙開始做研發中心,2017 年的時候,我們的研發一半在長沙,一半在北京。
2018 年,擁抱變化
放眼未來,2018 年到 2019 年,我還會做一些新的變化。
- 2017 年全部基於 UCloud 是有單點問題的,明年我可能會加上備份和多點接收方案。
- Presto 工具有各種各樣的問題,我們的技術棧也特別長,我會濃縮技術棧,以後全部都基於 Spark 。
- 明年會對 Spark 和 Scala 增強人員投入,今年我們也找到了阿里的小夥伴來加盟一起做。
- 明年我會把 VMware 這套東西全部廢掉,轉型到 Docker 。隨之我們會把 Dubbo 直接併到 Spring Cloud 架構裡面,花一年時間把整個技術棧從各種各樣的開源組件逐步收縮。以上是 2018 年的。
- 2019 年我們開始做雙活,把 Hadoop 和 Spark 做 Docker 化。
一路走來,必須要很穩健。保證在人員投入和其他投入是線性增長的情況下,滿足指數增長的收益和指數增長的需求,不能為了技術而技術,在整個布局和戰略上都必須遵從公司戰略,這是每一個公司 CTO 都面臨的挑戰。
易觀的大數據平台架構簡單來看如圖中所示:
- 底下是各種各樣的雲端數據接受策略和數據接收組件。
- 中間有一些分散式的數據流轉平台、實時隊列和分散式組件。再往上是提到的平台,載入了通用查詢引擎,這樣產品調用就不用那麼痛苦了。實時這邊也有 Spark 和 Storm 。
- 除了分散式查詢實時處理之外,還有一個調度資源管理工具叫 EAMP ,他其實是主要負責所有任務的調度、分散式資源管理和數據監控,包括批量作業的觸發,包括我們現在的服務是不是有問題並發的。在數據治理服務方面也做了一些東西,像元數據的管理、數據口徑的管理、數據質量的檢測、數據的鑒權和審計,這個其實都是在數據治理服務的模塊裡面。
- 再往上是我們剛才提到的數據發布平台,也就是我們的 API Gateway ,它能夠調用封裝好的API ,同時能夠看到請求情況和次數。
- 頂層就是對外的各種服務了。
這就是易觀整個的大數據平台架構。
不解釋,最終要讓事情發生
最後分享一個心得,其實就是這一句話:不解釋,最終要讓事情發生。你的決策受到各種各樣資源的限制,你可以找一萬個理由用來解釋,用這一萬個理由去不做事情。然而,作為技術和產品一把手,你不能解釋,只能讓事情去發生。
這也是我從總監到 CTO 的轉變。CTO 找總監希望找能扛事兒的,而 CEO 找 CTO 希望找到能成事兒的。扛事兒和成事兒是兩個不同的境界。大家將來成為技術產品一把手的時候,把這句話記在心裡:不解釋,最終要讓事情發生。
到最後,易觀沉積了非常大規模的數據,現在我們有 20 多億的用戶畫像,月活接近 5 億,各種各樣的標籤都有。我們現在抱著開放的心態,擁抱各種各樣的合作夥伴。
歡迎感興趣的小夥伴一起交流,線上線下都歡迎。我是個很熱心腸的人,知無不言言無不盡,所以大家都叫我郭大俠。
今天的分享內容就是這些。謝謝大家。
問答環節
加入 EGO 至今,有哪些收穫和感想?
每個公司,每個技術的管理者其實都是孤獨的,有太多的問題需要獨自承擔。
EGO 是一個非常開放的大家庭,給這些技術管理人員一個平台可以交流各自的問題,有非常多的熱心高等級的管理人員來幫忙解決,讓大家少走彎路。我在其中遇到很多相恨見晚或是惺惺相惜的技術大咖。
這是一個給技術管理人員的交流的平台,不僅可以解決獨自難以解決的技術問題,也可以相互借力加速公司的業務發展。非常榮幸與開心可以加入 EGO 大家庭。
是否考慮採購或外包一些演算法類的工作?
我的回答是當然考慮。我們有一個原則,對所有業務問題都會問三個問題:
- 能不能用技術化的自動化的手段解決?如果可以的話,我們就去研發。
- 能不能採用外部專家和外包方式解決,而不動用我們的資源?因為有這種思維,我們才能保證易觀一直是「 最小的大公司 」,最少的人可以做非常多的事情。
- 當前面這些都不行的時候,我們再考慮招人。我們現在 192 人維護這麼龐大的體系,我們有很多合作夥伴和專家,我們非常歡迎這些方面的專家來洽談業務。
如何面對大公司的人才爭奪?
要時刻面臨大公司的人才搶奪,這對於小廠來說的確是很不容易的。我覺得大廠有大廠的好處,小廠有小廠的妙處。
大廠的數據分析都是後台業務,小廠就不一樣,比如易觀是依賴數據分析和數據產品存活的,我們在數據這一塊的力度和產品迭代速度是由整個市場來推動的。人才在大廠的成長速度一定不如在小廠快,在小廠天天面對生死存亡,不把這東西做起來,客戶就不買單;不把這個問題解決的話,這麼大的並發數據量可能就會形成很大的技術事故。
所以我們在和大廠去 PK 人才爭奪的時候,我們主要是看人才是不是真的想在這裡做的專深。我覺得,面對大廠和小廠的人才爭奪,人各有志,要看每個人自己的想法是怎麼樣。要給年輕的小夥子機會,要給中層帶人的機會,用不同的策略來面對人才爭奪。
團隊內有比你技術更牛的專家沒有?如何管理他們?
團隊裡面當然要有比我牛的技術專家。我覺得,一個 CTO 是不是合格,就是看他能不能找到比他更牛的人。我覺得,對於牛人不能叫管理,而是看他有什麼需求,然後指引他的需求和公司戰略方向保持一致,他能發揮出來的價值遠超過你自己一個人能夠去做的事情。
我經常講,一個牛人只能是做 ×1 的事情,一個 Leader 帶領 10 個牛人那就是做 ×10 的事情。作為 CTO ,你應該找 10 個 × 10 的人,那就是 ×100 的效果。我希望團隊裡面每一個方向都有比我更牛的人,這樣我才能放心地做想做的事情。否則我每天要做 x1 的事情 —— 我不是不能做,我剛加入易觀的時候都在寫代碼 —— 我如果每天都去寫代碼的話,誰去做 × 100 的事情?
非巨頭公司如何平衡業務/生存問題和長遠技術儲備問題?
中小型公司平衡業務和生存,我覺得這個真的是一個藝術的問題,很難用一句話來解決。每一個公司都不一樣,每一個管理者的風格也不一樣,每一個 CEO 對技術和產品的期望和投入也不一樣。所以做平衡的時候,關鍵在於對整個公司的戰略有比較深刻的了解,對公司其他合伙人和 CEO 對公司的戰略布局比較清楚,你心裡對整個技術架構都很清楚。
你要選擇適合當前的結構和人員,為馬上面臨的,比如三到六個月會遇到的技術問題,開始做儲備。如果你人夠多,可以做一年左右的技術問題人才儲備。人更多的話,可以做更長期的儲備。不要一步到位,別想直接支持未來五年的業務發展。我估計這樣不論是產品和技術,都很難成功吧。
< 完 >
關於 EGO
關於 EGO極客邦科技旗下的高端技術領導者社群,匯聚全國超過 400 位技術大牛,其中不乏「餓了么」、「知乎」、「同程旅遊」、「得到」、「喜馬拉雅」、「新浪微博」等著名企業的 CTO 及技術 VP 。EGO 致力於組建全球最具影響力的技術領導者社交網路,聯結傑出的技術領導者學習和成長。
EGO 會員正在持續招募中,歡迎添加微信公眾號EGONetworks( ID:egonetworks )了解詳情。加入 EGO ,與更多技術領導者同儕學習。
推薦閱讀:
※在輿情引導中發揮大數據技術優勢
※關於大數據四大方面的十五大關鍵技術詳解
※大數據時代來了,你準備好了嗎?
※AI若無人性 你我只是被任意曲解的數據碎片
※解析:數據中心六大節能方法