58的技術演進之路
2015年到2016年,58集團在整個業務和戰略層面面臨了幾項大的挑戰:一是各平臺間整合后如何發揮協同優勢,如何搭建適應各個業務線發展的大平臺+垂直的業務模型;二是經過十年的高速發展,如何在產品、技術體系和架構仍存在諸多問題的情況下讓業務跑的更快;三是怎樣從此前的分類信息服務過渡到垂直化業務模式。
基于這樣的大背景,外界最關心的無外乎兩點,即:
- 在業務整合的基礎上,58的傳統技術架構和體系該進行哪些調整?
- 在從平臺化到平臺+垂直的演進過程中,技術架構該做哪些升級和再造?
ArchSummit2016北京——58集團架構與大數據應用創新專場上,江軍平、孫玄、閆杰、趙健博、沈劍5人分別對58核心技術平臺和技術架構的設計思路進行了分享、介紹。例如千億級存儲平臺的打造就經歷了從MySQL+Cache到WTable再到WList的多輪演進;為適應差異化業務的需求和終端使用度的轉變,58又是如何搭建流式特征挖掘平臺、柔性廣告服務框架來應對的。
為更全面的輸出58集團的技術演進歷程,向來低調的邢宏宇也在會后接受了InfoQ的專訪,闡述了這一年來,他對技術決策的一些思考和對58技術演進歷程的一些感悟。正所謂“與其戰勝敵人一萬次,不如戰勝自己一次”,這條路上,邢宏宇和58都在做著一道戰勝自己的決策。同時,58特殊的業務板塊組成機制也決定著,58技術團隊在架構和體系搭建上必須“因地制宜”,走出一條自己的特色。因此,“孤獨”與“偉大”相伴,“磨礪”與“美好”共眠。
58技術發展到哪、未來要去哪
對于以上兩點,58技術團隊在解決方案上主要經歷了兩個階段的思考:
一、分析58現有的技術架構,判斷它是否能適應目前的業務訴求。隨著平臺+垂直的戰略方向落地、合并后集團研發人員的快速擴增,58技術決策不僅僅是做淺層次的局部修補,而是要完成對整個技術架構的 升級和再造 ,58內部將其稱之為 技術3.0階段 。技術3.0將“面向未來的架構設計、支撐平臺化及垂直化未來演進、更好的滿足業務閉環需求”作為理念,以實現技術對業務的核心支持。
二、在架構模型做清晰的 邏輯分層和業務的核心分層 ,將其中可以成為基礎架構和基礎核心模塊的部分提煉出來。這個過程中形成了58現階段較為關鍵的技術核心系統,包括存儲平臺、架構平臺、核心服務、大數據平臺等。例如,在數據量、請求量爆發式增長的業務環境下,為解決傳統MySQL存儲在擴容、讀寫性能、擴展性和可用性等方面所暴露的問題,58自建了一套分布式存儲平臺WTable。并且為解決在篩選、排序操作及開發效率層面所存在的痛點,又完成了從WTable到WList升級。
對架構和核心模塊分層的過程,也讓58技術團隊厘清了此前業務改造升級過程中,缺乏重視或容易被忽略的幾點重要理念:一是如何做 簡單化設計 ,即在理解和分析各業務線基礎上,將其抽象變為更為重要的核心系統。二是 全面去做服務化 。過去58的技術核心模型多是基于庫和框架間的共享,互相之間過度依賴耦合。而服務化就是讓58內部基于服務的核心能力能完成自我的升級迭代,減少多個模型間的干擾和影響。三是 可管理 。隨著參數和核心數據的可視化實現、業務演進的深化,58會越來越重視對架構演進過程和新系統平臺的可管理。
同時,邢宏宇認為 任何技術決策都不能孤立的站在技術的角度來制定或思考 ,技術方向和技術戰略方向是與業務模型和未來的演進、組織能力和組織變化息息相關,因此,技術演進必須要在遵循客觀邏輯的基礎上“因地制宜”。
在邢宏宇看來,58技術真正的“因地制宜”包括三方面。除了設計面向未來的框架,還包括在兼容原有模式的原則下實現對架構系統的平滑升級和迭代升級,不斷替代原有系統。其次,在兼并各業務線特征時,58倡導技術上抓大放小、求同存異發展步調,面對不同業務板塊上技術成熟的快與慢,邢宏宇認為應該在逐漸改造過程中接納 暫時的 不完美。
演進的技術如何形成高壁壘
面向未來的設計決定了58目前的架構具有較大的延展性和伸縮性,按照服務化平臺的理念去做架構體系,58的核心技術會在服務化功能上進一步升級,變成 58內部的云 。
此外,邢宏宇認為,接下來58的技術還要形成在大數據及數據智能等方向上的自身特色,使這些能力可以成為構建58核心競爭力的壁壘。
在邢宏宇看來,58的技術積累已完成從0到1,從無到有的過程,但從有到好還需要進步。這段路需要邁過 三個“坎” ,一是用技術實現對用戶更快的響應速度,也使團隊協作和內部溝通更有效率;二是基于原先不能實現但又具有重要作用的用戶所需體驗,用技術做出相應的變革。例如對于長時間前的歷史帖子顯示功能、投遞簡歷環節的實時聯系及互動功能,都是在技術改造和架構升級過程中完成的突破;三是在朝“好”邁進的途中,會體現更多的創新性機會。邢宏宇認為,這個過程為培育創新提供了土壤和孵化器,在滿足用戶需求的同時,也是對58技術能力儲備的打磨。
不過從宏觀角度看,人們的傳統認知里,58或許并不算真正意義上的技術公司,盡管從站點初期小流量發展到超10億量級的綜合化平臺,58技術架構經歷了無數次的演進和優化,但行業卻很少將58看作以技術為主要導向的企業。此外,近些年關于58技術的相關曝光也相對較少。
也正是基于此,58集團在本次ArchSummit北京2016大會上設立了58集團專場,目的就是對外放聲和輸出這幾年來58在技術上所累積的經驗和實力,包括分享其在存儲和大數據平臺、人工智能、微服務架構上的創新理念和實際思考。邢宏宇說:“任何技術上的改進,反映到產品或用戶體驗上需要一定過程。或許這種成效不是立竿見影,而是需要一兩年的蟄伏。所以第一步58需要小范圍進行一系列技術分享,或許明年某個結點,我們也會做類似技術的開放日的活動,從而實現更全面的放聲。”
怎樣打造優質技術團隊?
以上幾點體現了58未來在技術效率和組織可持續性能力上的優勢。當然,對于構建企業或技術方的壁壘,技術方向的落地只是其中一點,此外還應包括對人才結構和技術文化的塑造。
邢宏宇很看重技術員在技術視野和技術思維上的磨礪。他認為好的架構師需要在專業性的持續儲備上,跳出自己的視野,形成合理性視角,也就是通常意義上的用戶視角。"越是好的優秀管理者越能用簡單的方法解決復雜的問題”。
幾千人的58技術團隊非常注重對人才梯隊的搭建,對工程師文化的塑造。在邢宏宇看來,對技術高低的評定包括兩個方面: 一是技術的專業能力,二是技術理念能力 。58的工程師文化提倡的就是對技術理念和文化的實踐。此外,文化從某種程度上來說是從上到下的傳達和感染,為了更系統的制定技術決策,邢宏宇平時除了將時間花在整體的技術戰略方向把握和人才選拔、培養方面,還會在產品、業務流程和業務模式上有更多的投入。“如果只孤立的站在技術視角來制定決策,很多問題的解法肯定會受限”,這是他在專訪中多次強調的觀點,“如果有時候是產品或商業流程不對,那么即便投入大量的精力做再好的技術,也很可能是事倍功半;這時就需要在根本上改變產品或商業流程”。
怎樣用“熱炒”中的概念解決實際問題?
首先,對于這兩年熱炒的“微服務”概念,邢宏宇坦言,自己并不像業界那么熱衷。在他看來,微服務并不是整個架構體系的核心點,反而應該是 服務的治理 。將服務拆成足夠細小后,表面看每個服務都可迭代,但接下來怎樣讓如此細化的分散服務有效融合,理清相互間關系,都是微服務架構的真正問題和痛點。相反,無論做成怎樣規模的服務,都對服務的治理和管理有很高的要求,即為邢宏宇談及的服務治理和管理系統。
另外,對于AI和大數據在58技術上的應用,邢宏宇也坦言,AI在58乃至國內整個發展都走在較為初級的階段,目前在搜索、推薦和廣告平臺上有使用,是小團隊在摸索。
來自:http://www.infoq.com/cn/news/2016/12/58-technology-evolution