
硅谷著名的投資人馬克·安德森(Marc Andreessen) 曾經說過“軟件蠶食整個世界”。在眾多的軟件與應用背后,還有一個可以洞悉軟件的角色,這就是目前在企業級服務領域炙手可熱的應用性能管理(Application Performance Management,APM)。
12月12日,美國的APM廠商New Relic在美國紐交所上市首日股價就大漲了50%,市值逼近20億美元;在中國,APM廠商也同樣得到了投資方的青睞,OneAPM(北京藍海訊通科技有限公司)于今年9月份完成了成為資本、經緯中國聯合投資的7000萬元B輪融資。
APM是一個比較新的網絡管理方向,主要指對企業的關鍵業務應用進行監測、優化,提高企業應用的可靠性和質量,保證用戶得到良好的服務,同時降低IT總擁有成本。簡單來講,APM的主要功能在于監測企業IT運維和開發應用的性能,同時可以快速定位應用系統故障以優化系統性能。
“我們每個人每天都會用到若干個APP或者桌面級軟件,大家并不會感覺到APM的存在,但實際上每個人日常使用軟件的行為都與APM息息相關?!?OneAPM CEO陳旭說,“移動互聯網時代,作為企業及應用的必需品,性能監控有了更廣闊的的發展空間?!?/p>
軟件定義世界 APM洞悉軟件
互聯網時代,用戶體驗是關系企業成敗的脈門。當電商的用戶點擊購物車發現無法支付的時候,他可能就會放棄本次消費行為,這對于一個企業來說直接關系到了收入問題;當人與網絡連接的越來越緊密,更多的敏感信息都會出現在網頁上,任何一個崩潰或者任何一個性能損耗都會直接對使用者造成影響,并且這種影響是非常深遠的,甚至有可能造成用戶流失。
隨著互聯網和移動互聯網在加速改造一切傳統行業,可以說,軟件正在重新定義這個世界。一切業務都以軟件和應用的方式在運行,并且服務分布在全球的每一個用戶;用戶使用多種多樣的移動終端和App來訪問業務,在這種情況下,保證業務系統的可用性以及性能,已經成為保證用戶體驗的第一需求。
傳統的監測方式要么是只對服務器資源層做運維監控,要么是采用模擬監控的方式,在各地部署有限個節點,模擬一個小樣本的用戶群去訪問業務。這里的瓶頸是,無論何種方法,所監測的維度和范圍都比較片面。比如模擬測試法僅能反映一個小樣本用戶在理想網絡條件下的訪問體驗,當用戶群膨脹、或者網絡環境呈現地區差異的時候,測試結果就會發生偏差。而且,模擬監控所監控到的結果只能反映系統的可用性,無法精確衡量系統性能,更沒有辦法幫助開發者和運維人員快速的隔離問題、定位問題、解決問題。
無論傳統企業還是新興的互聯網企業,當發展到一定程度時就需要一個能夠提供持續性、有質量的監控優化解決方案,而不是靠人為的行為去解決這些問題。不可否認,在基礎軟件領域用技術手段實現監控優化是大勢所趨。
APM的發展也是由傳統行為衍生出來的,我們可以將其理解為在應用層面收集數據、處理數據、獲取信息的過程。當然在代碼解析和實時相應上要具備相當高的智能性,同時針對現有的各種編程語言。“APM的起點在基礎軟件,但是它未來應該是在云計算、大數據、物聯網這樣的領域發揮作用。”OneAPM創始人何曉陽解釋道。
APM并不直接面對用戶,作為一種基礎軟件服務,消費者無法感知到它,但是應用的管理者可以第一時間體會到它的強大。
性能管理“輕”時代
規模較大的企業會有十幾套的用戶服務器、上百套的數據庫,還會有公有云、私有云。當每一條命令在前端被輸入后,企業并不清楚這條命令在IT系統里是怎么流轉的?,F在APM可以帶來IT系統的可視化。
在國外APM行業,New Relic、Appdynamics和Compuware是3家標志性企業,也是在APM領域有卓越業績的公司,但是他們所服務的客戶群體其實是非常不相同的。Compuware服務的是全球500強、2000強這些大型企業級客戶;New Relic服務的客戶群體是開發者、個人或者中小企業、小微企業這樣的群體;Appdynamics服務的群體則多是互聯網領域的大型企業。
在國內,OneAPM提供了一系列部署門檻極低、且能從代碼層面監測應用表現情況的管理工具。OneAPM使用了中間語言動態插裝技術,允許企業、開發者在不改動代碼、不安裝任何SDK的情況下快速集成OneAPM探針。探針將會監測每一個用戶的真實使用體驗,比如網頁或App的打開延遲、閃斷、崩潰等情況,并形成相對直觀的報表。提供基于全樣本、真實用戶體驗的性能監測,當發生某種報警事件時(比如訪問延遲大于5秒),可以第一時間獲知問題的發生,鎖定受問題影響的用戶,并及時介入干涉。
識別問題只是起點,診斷并修正問題才是目的。OneAPM還提供了從用戶端到服務器端的代碼級的性能監測手段。開發者可以像切片一樣,把應用拓撲中的每一個環節單獨剝離出來,監測它的運行表現。如果再向下鉆取一步,還可以追蹤用戶每一步操作在代碼層面的動態映射,識別出運行低效或者錯誤的代碼段、SQL語句并進行性能優化。OneAPM的應用調用框架自動建模功能,可以把程序邏輯自動繪制成拓撲圖進行可視化呈現。
傳統IT構架的變化也為APM這個新興市場的形成帶來了契機。無論云計算還是成熟的大數據分析都離不開應用性能的提升。云計算的時代,大家都在用云主機和用云存儲,使用的語言可能是一些非常新興的語言。據了解,目前OneAPM已經同時覆蓋服務器端、瀏覽器端和移動端,對服務端的語言支持已經擴展到Java、 .net、Python、Node.js、PHP、Ruby等。何曉陽表示:“OneAPM是全球第一家同時擁有應用性能管理APM、網絡性能管理NPM、日志管理ITOA產品線的公司。”