【51CTO.com原創稿件】可能在不少人眼中,FreeWheel這家公司很多做法都出乎意料:公司的業務、銷售、市場皆在歐美,技術研發團隊卻以中國為主;在女性程式設計師如大熊貓般稀缺的IT職場中,FreeWheel近300人的北京研發中心裡,女性員工居然佔約四成;企業都宣傳自己求賢若渴,可像FreeWheel這樣為了能留住心儀的工程師居然能特意為他在紐約新建一個辦公室的又有幾個?
如果說FreeWheel這些外在的「迷之任性」吸引了眾多求職者目光的話,那麼吸引記者的,就是這家公司內在的IT架構與運維。這家歐洲、美國、中國三地辦公,其廣告平臺為美國90%主流電視媒體和運營商所使用的跨國企業,如何保證協同的高效?FreeWheel成立十年,從剛成立時全年廣告播放量累計100萬次,到單日廣告投放接近10億,運維部門用什麼來保證產品穩定的應用環境 ?作為對新興技術非常敏感的高科技企業,如何選擇最適合自己的技術產品?
在前後一個月的時間內,記者分別採訪了FreeWheel聯合創始人美女CTO Diane Yu和運維副總裁梁灝舜(Vito Leung)。通過二位的分享,解答了上文中一連串的疑問,並還原出一個真實的FreeWheel。在記者看來,這家公司活力四射,既沒有歷史包袱,也不缺代碼達人,他們對於產品的清晰定位,對新技術理性的判斷與嘗新,對IT規劃的預判與從容,都有非常多值得借鑑的地方。記者也希望通過此文,給那些正面臨IT運維困惑的跨國企業、高科技公司以及創新企業提供更多參考。
反其道而行之的研發中心
熟悉FreeWheel的人都知道,這家跨國企業的研發中心從成立之初就設在北京。有些人將其原因歸結於Diane是土生土長的北京人,有故鄉情節。事實上,真相併非全部如此。
Diane在美國工作九年,接觸了很多中國程式設計師,她很早就發現,中國的工程師基本功很紮實,工作勤奮能力出眾,但往往吃虧在語言上。另外一個劣勢是中國的IT人才分布在不同企業不同部門,沒有成型的團隊,無法做到相互扶持相互幫助,從而難以共同提高。當時她就在思索,為什麼不能招募中國最出色的工程師組成研發團隊呢?後來,她遇到FreeWheel另外兩位創始人,提出了要在北京建立研發中心的想法,並很快被接受。
FreeWheel研發中心招募的大多是清華、北大、中科院、哈工大等***高校的高材生。在團隊組建之初,除了語言上的劣勢比較明顯之外,中外思維方式的不同也著實磨合了一段時間,很多微小的細節Diane之前都沒有想到過這也能造成誤會,例如研發團隊發郵件,關於溝通時間的書寫往往按照中文習慣「年-月-日」標註,而美國對於時間的標準習慣是「月-日-年」,所以往往中國這邊郵件發過去,美國的團隊看得雨裡霧裡搞不清楚會議的時間。
但是很快,經過痛苦的「磨合期」之後,中國的研發團隊爆發了驚人的研發實力,一方麵團隊非常有想法,研發能力很強,可以快速響應美國產品部門的需求,另外一方面FreeWheel研發團隊三分之一的人力都有去美國或歐洲「坐班」輪崗的經歷,近距離接觸產品應用、客戶服務,更清楚研發的重點和方向。當然,另外一個無需多言的好處就是快速的提升英語溝通能力。事實證明,她的決策是對的,現如今她的合作夥伴在各種場合都跟客戶或者投資人表示,FreeWheel之所以能夠走到今天,與Diane把研發中心設立在北京這個決策分不開。「曾經也有過非常忐忑的階段,但我很高興事實證明我是對的。」
以最小的代價試錯
FreeWheel將60餘人的運維團隊分為好幾個小團隊 ,有負責網絡的,有負責基礎運維的,還有專注產品應用運維的等等不一而足。管理運維團隊是Vito的重要職責之一。整個運維團隊主要承擔三件事:一是學習和借鑑外部的新興技術;二是與公司的產品研發保持同步,隨時支持;三是與不同部門溝通協調,滿足他們的需求。
這三件事說來容易,真正實踐起來並不輕鬆。就拿***件事來說,Vito需要解決FreeWheel在IT發展過程中遇到的各種挑戰,其中就需要他以最小的試錯代價找到***效的解決方案。他給記者舉了兩個例子:
★ 資料庫的選型之路
在網際網路廣告行業中,基於用戶的信息和歷史興趣行為進行精準廣告投放已經成為一個基本需求。為了滿足這一需求,需要構建一套支持高並發、低延遲、可擴展、高可用的用戶資料庫系統,這是很多實時廣告系統面臨的一個非常大的技術挑戰。
FreeWheel的用戶數據經歷了從最初的上萬條、幾十GB到目前多達6億條、上TB的規模,每天更新的數據就高達1億條,要求達到毫秒(ms)量級的跨數據中心數據存取性能,以保證數字廣告投放的實時性。
Vito 告訴51CTO記者,基於以上的業務需求,FreeWheel在用戶資料庫的產品選型、編程接口、軟體設計、運營維護等方面做了很多嘗試、探索和改進。
在最初的階段,數據量較小,基於訪問性能的考慮,他們首先嘗試了業內非常流行的開源軟體產品memcached,實現全內存存取,取得了很好的效果;隨著數據量的不斷增加,全內存存儲無法滿足需求,接下來研發和運維的同事開始評估leveldb,並根據FreeWheel的業務需求做了一些特殊的定製化,從而實現了數據在磁碟的持久化存儲,擺脫了內存容量的限制。
但是隨後的問題和挑戰也接踵而來,從運維的角度來看,很多問題無法得到很好的解決,例如難以實現高可用、增加節點的成本高、跨數據中心延遲大等等。這個時候,FreeWheel開始更加積極地尋求、嘗試更多的軟體產品和解決方案,最終選擇了aerospike這樣一款產品。它在API實現、數據存取性能、命名空間定義、低延遲數據同步、SSD硬碟訪問優化、高可用實現、運維友好性等方面具有突出的優勢,使得FreeWheel的廣告投放系統不僅在響應速度上有了巨大的提升,並且跨數據中心同步平均延遲控制在毫秒級(ms)。
產品小貼士: Memcached:是一個高性能的分布式內存對象緩存系統,用於動態Web應用以減輕資料庫負載。 Leveldb:是一個google實現的非常高效的kv資料庫,能夠支持billion級別的數據量。 Aerospike:是一個鍵-值存儲的高性能實時NoSQL(靈活模式)資料庫。 |
★ 網絡文件系統的演進
在FreeWheel,運維團隊使用NFS(Network File System 網絡文件系統)解決方案來實現多個系統、伺服器之間的數據共享。NFS是一種Linux/Unix作業系統下被廣泛使用的、非常成熟的共享文件系統,可以在計算機之間通過tcp/ip協議共享資源。在運維團隊的推動下,NFS的應用在FreeWheel經歷了幾個階段。
在最初的業務階段,他們只使用了一臺NFS伺服器給前/後端產品提供所有的數據共享服務,數據包括廣告創意文件、用戶數據報告、廣告日誌等等。
後來隨著FreeWheel產品的不斷升級和業務模式的擴展,數據量和讀寫的吞吐量也越來越大,單臺NFS伺服器就無法滿足需求了,於是新的解決方案是按照業務邏輯拆分現有數據資源,並分散到多臺NFS伺服器上,並且從業務邏輯的角度進行數據資源的隔離。同時這也需要推動產品和開發部門的同事一起調整應用設計來適應這種改進。
在基本解決了容量和性能的問題之後,運維團隊進一步對多臺NFS伺服器的高可用和可擴展性進行了改進。經過研究對比之後,最終選擇了Redhat Cluster Suite作為解決方案,實現了從2節點互備到4節點多對多互備,直到目前的7節點多對多互備架構,從而在共享資源的讀寫性能、服務可用級別、系統冗餘性、橫向擴展能力等多方面對系統提供了強大的支撐能力。
協作痛點:如何讓美國、歐洲、中國三地同步?
在採訪中,Vito多次表示,作為一個需要全球多地協同工作的的運維團隊,最讓他頭疼的,並不是產品業務方面的問題,而是讓不同地區的運維團隊如何能有一致的目標以及優先級。
FreeWheel在美國、歐洲、中國三地的多處辦公室都有各自不同的主要職能,有的辦事處偏向於與用戶溝通,有的辦事處偏向工程,因此不同辦事處的運維團隊面臨並且需要解決的問題就不同。Vito做了更詳細的解釋:如果一個團隊的日常工作有很多和客戶的接觸,並且需要滿足客戶的一些特定的需求,那麼如何更好更快地處理客戶需求會是這個團隊需要重點提高的問題;而如果辦事處平常接觸的主要是工程師團隊,那麼如何更好地服務於工程師團隊也自然成為需要優先考慮的問題。
所以,作為一個整體的全球運維團隊,如何把各個地區的需求放到一起來決定優先級,並且作為一個整體,共享一個backlog(工作列表)就成為FreeWheel運維工作的一大挑戰。***解決這一難題的方法就是「Global Operation Project Management」流程,簡單來說,各地的運維團隊領導和公司的IT架構師,需要定期交流溝通所有項目,並列出優先級,確保大家保持一致。
在協作方面,隨著公司的成長,為了提高客戶服務質量的標準,FreeWheel的SLA(服務等級協議)也越來越嚴格,流程也更加成熟,臨時的需求越來越少。Vito表示,取而代之的是SOP (標準流程standard operating procedure)、硬體需求申請流程,使得團隊之間的溝通和合作越來越順暢。
2017,擁抱Devops
隨著業務需求的變化,FreeWheel從只有兩個機架伺服器的簡單系統(ui↔adserver↔db),發展到了跨多個機房的上千臺伺服器,並且覆蓋cache、reporting、forecasting、nosql等多層的複雜系統架構。在過去的幾年裡,FreeWheel採用的是私有雲的解決方案,而Vito告訴記者,他最近開始研究混合雲的方向,同時使用公有雲和私有雲。
Vito透露,接下來FreeWheel的發展重點將放在Devops。他認為這個方面在美國和中國的運維有很大的差異。在美國,絕大部分運維工程師既要有運維(系統+網絡)的能力,也要有開發的能力。而在中國,傳統的運維工程師還是更多的只專注於運維。「隨著中國技術行業的進步,運維領域也開始要求運維工程師除了運維的思想,也要有更多的開發思維。」
Vito的另外一個思索方向是如何支持越來越快速的版本迭代。顯而易見,這不僅僅是快速的問題,更重要的如何在快速的同時,還能保持生產環境系統的高質量和穩定性。這將牽涉到技術本身以及產品架構完善兩方面的研究和投入。
採訪後記:
採訪完FreeWheel,記者其實有很多專業之外的感受。這家公司的成功背後,其實有很多必然性:嚴謹的市場調研、理性的技術判斷、精準的市場定位、高效的三地協同、還有對產品應用與開發的足夠重視……他們很多做法看似與常規做法背道而馳,但細細想來卻又在「情理之中」。
在國內企業走出去的大潮流下,記者也建議其他企業可以參考FreeWheel這種理性思考,不選最知名的,只選最適合自己的發展之路。
FreeWheel創建於2007年,總部位於美國矽谷,是一家專門提供網際網路視頻廣告投放、監測、預測、增值等關鍵解決方案的外商獨資公司。創始人是Douglas Knopper、Jon Heller和Diane Yu。
公司發展十年,目前約80%美國傳統電視媒體和運營商的數字視頻廣告業務使用FreeWheel的服務,ComScore排名前10的視頻網站大部分是公司的客戶或合作夥伴。2017年開始,FreeWheel將重點開拓歐洲市場,在已經佔據約50%市場份額的基礎上再升級。
【51CTO原創稿件,合作站點轉載請註明原文作者和出處為51CTO.com】
【責任編輯:
周雪TEL:(010)68476606】