AppDynamics趙宇辰:矽谷APM獨角獸,打造DevOps領域的智慧大腦

weixin_34127717發表於2016-07-20

近來,關於機器學習的報導很多,國內外的大型網際網路企業都在著手對機器學習的研究。對應用效能的高效管理,首先要了解應用的一手資料,通過傳統的資料獲取方式已經不能滿足企業的發展和市場環境,這就需要藉助機器學習的技術手段,來更智慧、更迅速、更準確的找到所需要的資訊,快速解決問題。

\\

2016年8月18-19日,由極客邦、InfoQ和聽雲聯合主辦的APMCon2016中國應用效能管理大會將在北京舉行(現在報名,享6折優惠),聚焦當前最為關鍵的移動端、Web端和Server端的效能監控和管理技術。

\\

本屆大會,我們有幸邀請到了AppDynamics Principal Data Scientist,Machine Learning Engineering 趙宇辰,前來分享《下一代資料驅動的智慧APM:痛點,趨勢及解決方案》的內容,講述他在AppDynamics一直研究的機器學習技術在使用者資料探勘、應用效能分析領域的實踐及寶貴經驗。

\\

InfoQ:能不能介紹一下之前作為Scissorsfly聯合創始人的這段歷史?對您之後選擇的資料領域是否有很多幫助?

\\
\

趙宇辰:相對於純資料研究,我的經歷可能相對豐富一些。本科清華畢業,在美國讀博期間,我選擇資料探勘和機器學習作為我的主要研究方向,在該領域先後發表了多篇學術論文,至今仍然是頂級資料科學會議KDD的委員會委員,同時還兼任很多雜誌和會議的審稿人。除了理論研究,我還將機器學習的方法應用到實際的產品中,從大公司到小的創業公司都有,比如IBM Research,Linkedin,eBay Research,Sumo Logic等等。

\\

還曾任General Assembly的首席資料科學講師,在矽谷教授資料科學的相關課程。中間也曾有過一段創業經歷,從BD到Marketing甚至客服都要自己去做。每一段的經歷都讓我能跳出自己的comfort zone,學習到很多不同的東西,這些對於我做資料產品以及理解其相關需求,都非常有益,畢竟我們的目標是做使用者喜歡的產品,給使用者帶來價值。

\
\\

InfoQ:同時,作為LinkedIn Intern Hackday裁判,讓你看到了國外學生的哪些優勢是讓你有所感觸的?

\\
\

趙宇辰:駭客大賽(hackday)由LinkedIn公司主辦,所有在矽谷地區的學生和實習生都可以參加。比賽的條件可以說是既寬鬆又“魔鬼”。寬鬆是指所有人,只要是在矽谷地區的都可以參加,主辦方提供豐盛的美食和飲料,比賽的內容不限,你想做什麼就做什麼;“魔鬼”是指只有24小時去實現你的想法,那麼意味著這24小時就不停地工作,沒有休息時間。這個主辦思想從活動的標語就很清晰地體現出來:eat,hack,but no sleep。

\\

我有幸和Linkedin的工程SVP Kevin Scott,Rapportive的CEO兼Tindie的工程副總裁Julia Grace一起作為比賽的裁判。在經過24小時的“hack”後,一共有50多個團隊展示出了作品。看了所有的demo後,有三點讓我印象非常深刻:

\\
  • 年輕:幾乎所有的參賽者都是本科在讀,甚至是高中生。然而從他們的作品和展示裡,不乏聽見創業、使用者體驗、商業以及各種最新的技術詞彙。美國的創新和計算機教育確實是從小抓起的。\\t
  • 高效 \u0026amp; 高質量:雖然參賽者很年輕,但是作品的質量卻不低。很多作品都有自己的特色,甚至都可以作為一個小的單獨創業專案。雖然時間有限,但從實現的角度,小到後臺架構和頁面細節都一絲不苟。\\t
  • 創新:展示的demo五花八門,涵蓋了各種最新最cool的技術和想法,從機器學習、影像識別到各種IoT裝置,想法之多、思維之廣確實讓人大開眼界。\

通過短短的24小時的hack行為,我由衷地佩服參賽者們的聰明才智、創造力、動手能力、想象力。透過他們,我明白了為什麼矽谷能數十年一直是全世界傳奇式的創新發源地,從他們身上,彷彿能看到矽谷的未來。

\
\\

InfoQ:介紹一下您目前在AppDynamics作為首席資料科學家的主要工作職責吧!

\\
\

趙宇辰:因為是專注於美國和歐洲市場的2B軟體公司,很多人可能不知道,我來簡單介紹一下。

\\

AppDynamics是一家主攻APM企業軟體的獨角獸公司。在APM領域,AppDynamics近幾年在Gartner的魔力象限(Magic Quadrant)上一直是Top 3的廠商。在今年Gartner的報告中,AppDynamics在所有的APM use cases裡排名都是第一。

\\

我在AppDynamics主要負責資料科學和機器學習的產品戰略和研發工作,大致分為兩塊。

\\
  • 第一塊是戰略研究。因為機器學習對於企業軟體相對來說是比較新的方向。所以在產品研發之前,首先要從戰略的角度研究接下來的5年內,哪些是我們需要投資的領域。這就需要和銷售、市場以及產品等部門進行佈道和溝通,也就是說把我們想做的資料產品首先“銷售”給公司的內部團隊和決策層。\\t
  • 第二塊是具體的產品架構設計和研發工作,內容涉及到閱讀相關的論文,機器學習演算法的研究、工程實現、實驗和系統整合等。\
\\

InfoQ:目前,機器學習技術在AppDynamics的應用場景有哪些?

\\
\

趙宇辰:目前為止,我們已經將機器學習和資料探勘的技術應用在不同的資料型別上,包括日誌、Business Transaction (BT),Real User Monitoring (RUM)等等。簡單來說就是如何更智慧、更迅速、更準確的幫使用者找到所需要的資訊。

\\

舉個例子,突然某天一部分使用者反映不能用iOS的裝置登入了,可是運維人員發現所有測試正常,用瀏覽器和Android客戶端的使用者都沒有問題,甚至很多用iOS的使用者也可以正常登入。我們如何從數百上千臺伺服器中的海量資訊裡發現具體的根源?這是一個很常見的例子,因為日常運維最常見的並不是整個系統都不工作了(complete failure),而是一小部分服務不能正常工作(partial failure)。到底這種partial failure在哪裡,找到具體的根源通常需要運營團隊很多個小時,甚至很多天才能手工排查到。現在,我們利用機器學習的技術,成功可以將這個MTTI (Mean time to investigate)降低到幾分鐘甚至幾秒鐘。運維人員只需點選一下滑鼠,系統自動分析出我們認為最有可能出錯的根源。

\
\\

InfoQ:在資料探勘和機器學習技術的研究上,您踩過哪些坑又是如可解決的?有什麼心得體會?

\\
\

趙宇辰:從社交網路的機器學習到電商再到運維APM的資料探勘,中間踩過的坑太多了。把任何一個機器學習技術應用到具體的產品中,上線到production,都是非常不容易的,可以說這是一個非常複雜的系統工程。其中可能只有不到5%的時間是在具體的演算法研究上,其餘的很大一部分精力需要放在如何讓系統更穩定、更scalable上,同時還要考慮到和系統其它部分的整合以及使用者體驗的設計上。

\\

這其中的心得體會是有很多的,各個部分如何取捨,這些足以再做一個專題,希望可以找個機會和大家分享。

\
\\

InfoQ:能不能結合實踐案例展現一下AppDynamics的各種機器學習評分演算法的有效性?

\\
\

趙宇辰:最近大家都知道Google的AlphaGo下圍棋戰勝了李世石,這成了一個很經典的機器學習案例。

\\

在APM領域,我再舉個例子。日誌資訊對於APM和運維是非常重要的,但是日誌同時又是非結構化的文字資訊,這就需要使用者手動的寫正規表示式(regular expression)去提取有用的資訊。但通常寫複雜的正規表示式是一個既費事又費力的工作。

\\

我們最近的一個工作就是讓使用者用滑鼠選取他們想提取的資訊,系統智慧的生成最有效的正規表示式,這樣即使使用者從來沒有學過正規表示式也可以順利提取日誌中的有用資訊。雖然這和圍棋的應用場景不同,但一樣是利用機器學習的技術,同時這個任務並不簡單。我們每次的搜尋空間在10^26這個量級,這是什麼概念呢,對於任何一個使用者請求,如果把系統生成的每個合法的正規表示式放在一個米尺上,然後將這些米尺連起來,那麼它們將可以橫跨目前科學可以觀測到的整個宇宙,這僅僅是對於使用者的一個請求。對於千變萬化的日誌來說,這個數量級是非常非常巨大的。目前我們可以做到在100ms內返回最優最高效的正規表示式,這樣大大提高了系統效率,同時降低了使用日誌工具的門檻。據我所知,我們此項技術在所有同類產品中是最領先的。

\
\\

InfoQ:為什麼說App的複雜性越高,對App的管理、診斷和根源分析就越具有挑戰?

\\
\

趙宇辰:在2010年以前,傳統的軟體系統一般都不復雜,很多都是單機版,或者只是簡單的幾臺機器組成的系統。現在隨著Microservice的大行其道和逐漸增多的應用場景,App複雜性越來越高。針對App的管理、診斷和根源分析,從資料上來說,我們就有各種不同的資料型別,比如:

\\
  • Metric:例如CPU使用率,Java GC記憶體,網路延遲,每分鐘銷售總量,活躍使用者量等等。\\t
  • Category:例如IP,使用者所在國家和地區,付款方式等等。\\t
  • Hierarchy:一個大型的商業系統裡有不同的modules,分佈在不同的tiers上面,同時每個tier裡有數量不一的伺服器,這就形成了一個分等級的樹狀結構。\\t
  • Graph:系統的每一部分都和其他部分有互動,這自然就形成了一個有向圖(directed graph)。\\t
  • Unstructured:系統會生成大量的非結構化資訊,比如日誌,stacktraces,錯誤資訊等等。\

每個資料型別都有自己的分析方法和模型,如何將這些方法和機器學習演算法有效的結合到一起,成為一個統一的整體,同時給使用者提供一個及其簡單好用的產品,這是非常有挑戰性的。

\
\\

InfoQ:在通過構建強大的端到端機器學習系統來收集應用資料,並對資料分析研究和資料過濾上,您有什麼獨到的見解嗎? 

\\
\

趙宇辰:正如之前所說的,APM涉及到的資料型別非常複雜,同時資料量很大。一個使用者在手機端簡單的點選,很可能已經在後端服務叢集中產生了大量半結構化的資料資訊。對於一個end to end的資料分析系統,我認為至少要考慮到以下幾點:

\\
  • Scalability:系統是否可以擴充套件,能處理多大的資料量。如果一定要有取捨,哪些地方可以通過取樣、聚合和壓縮的方法來提高系統的吞吐能力。在資料量突然增多的情況下,能否快速的擴充套件現有的系統等等。\\t
  • Usability:在設計一個機器學習系統的時候,首先考慮的問題並不是技術,而是應該先想想具體我們需要解決什麼問題,所設計的系統是否能給使用者帶來價值,能否儘量簡化使用者的操作和工作量。確定了這些之後,再考慮用哪些方法和技術來實現這個系統。\\t
  • Flexibility:這裡的靈活性是多方面的。從演算法上來說,如何設計一個機器學習演算法,同樣的演算法是否可以用在別的地方;未來系統如果擴充套件和有新的資料型別加入的情況下,當前的設計是否也可以隨之擴充。從系統架構上來說,所設計的機器學習系統是否方便維護,在部署和升級上有沒有特殊的要求;是否要執行在雲上,還是要以on-premise的方式部署,亦或是兩者兼有等等。\
\\

InfoQ:網際網路巨頭目前都聲稱在研究機器學習,您認為AppDynamics的機器學習跟其他公司相比有什麼獨到的地方?

\\
\

趙宇辰:面對消費者的公司在應用機器學習上走在了前列。比如我之前工作過的eBay和Linkedin都早早的將資料探勘和機器學習應用到了產品中。相對來說,面對企業使用者的公司在這方面略顯滯後。隨著資料量的越來越大,傳統粗獷的分析方式已經逐漸不再使用,現在看到越來越多2B端的企業和創業公司對機器學習加大了投入,甚至很多已經將機器學習作為了企業的核心競爭力。

\\

我一直認為,沒有普世的機器學習方法。對於不同的應用場景,也許最本質的演算法類似,但是要對不同的應用做優化和個性化,比如feature engineering,演算法的objective function調整,對於執行時間的要求,分散式的處理,在雲上和on-premise的部署等等。

\\

眾所周知,在APM領域,資料型別非常複雜,同時它們又相互關聯,在機器學習上我們這幾年的投入和深耕築起了有效的護城河,同時體現了產品的差異化優勢。

\
\\

InfoQ:AppDynamics正在利用資料和機器學習來提供更精準、更有效的下一代APM解決方案,這其中會有哪些難點?希望達到怎樣的預期效果?

\\
\

趙宇辰:雖然APM領域有著資料量大,資料型別多樣,應用場景複雜的特點,但是我們的目標是希望我們的產品儘量的簡單、易用,一句話就是:打造DevOps領域的智慧大腦(The Brain)。一般來說,DevOps需要對系統有很深入的理解才能有效的利用現有的APM工具管理App的效能,同時這些工具的學習曲線很陡峭。我們努力的方向是不讓運維人員大海撈針的從海量資料中尋找所需要的資訊,而是儘可能智慧的將他們最需要的資訊呈現出來。

\\

最理想的情況是運維人員不需要理解各種型別的資料以及複雜的應用場景,我們的The Brain智慧大腦能從複雜的資料中快速的自動找出使用者最需要的資訊,解決他們的實際問題。

\
\\

InfoQ:您個人對應用效能管理有怎樣深刻的理解?您覺得參加APMCon2016垂直領域大會的意義是什麼?

\\
\

趙宇辰:隨著越來越多的應用放到了網際網路和移動端,對於軟體系統效能的管理和監測已經成為了每個軟體公司不可忽視的難題。很高興得知有了APMCon這樣在APM垂直領域的大會,這樣讓我們這些在APM領域的從業者有了很好的交流和溝通的機會,因為很多具體的心得體會和技術應用是APM這個領域所獨有的。而且,我知道聽雲是國內APM廠商中唯一一家上榜Gartner魔力象限的,這次來國內參加APMCon也是期待能和大家進行更多的分享交流。

\
\\

InfoQ:感謝趙宇辰接受我們的採訪!

\\

關於受訪者

\\

ed3da4a1bdb50aad2904a03d3722090d.jpg趙宇辰博士,本科就讀於清華大學,之後在美國伊利諾伊大學芝加哥分校獲得博士學位!自2014年擔任AppDynamics首席資料科學家,主導和負責下一代大規模資料探勘、機器學習、異常檢測和分析的APM產品構架和研發工作。他自2013年擔任頂級資料科學會議KDD的委員會委員,還曾任General Assembly的首席資料科學講師,同時在Sumo Logic,Linkedin,eBay,IBM Research有相關的工作經歷。並且還在KDD,ICDM,ICDE,CIKM等國際頂級會議發表論文十餘篇,在APM和log領域擁有多項國際專利。

相關文章