阿里雲產品專家解讀鏈路追蹤(Tracing Analysis)和應用性能監控(APM)的聯繫和區別

阿里雲上最近推出了一款新產品鏈路追蹤 ,專一於幫助開發者快速分析和診斷分佈式應用架構下的性能瓶頸,提升微服務時代下的開發診斷效率,並省去用戶搭建各種鏈路監控應用(Jaeger, Zipkin等)和相關存儲服務(Hbase, ElasticSearch等)的成本。前端

_2018_10_26_10_33_26

分佈式應用環境下的鏈路追蹤,並非一個新話題。在早些時間,阿里雲產品 業務實時監控服務也有相似功能推出。那麼,鏈路追蹤和業務實時監控服務 在產品功能層面到底有什麼樣的區別和聯繫?本文將給出概要說明。java

如下從產品定位,接入方式,以及使用成本 三個方面來比較 業務實時監控服務 和 鏈路追蹤 兩款產品。git

產品定位:應用性能管理 (APM) vs 分佈式鏈路追蹤 (Distributed Tracing)

從功能定位上看,業務實時監控服務 定位於重量級的應用性能管理類(Application Performance Management, 簡稱APM)工具,包含的功能相對豐富。應用程序經過掛載Agent方式接入監控,Agent內部功能相對豐富,包括性能監控,用戶體驗監控,鏈路追蹤,故障診斷,等多種功能。github

而鏈路追蹤定位於分佈式鏈路追蹤解決方案工具,功能比較專注,專業面向解決分佈式環境下的鏈路追蹤這一個問題。用戶經過接入鏈路追蹤SDK來實現分佈式鏈路追蹤,SDK自己只負責鏈路監控,功能相對專一。編程

 


image.png | left | 531x250

接入方式:無侵入式接入 vs 基於標準的侵入式接入

定位於APM的業務實時監控服務的監控接入方式使用的是業界商業化APM工具中比較流行的無侵入式接入方案。用戶無需改動代碼,便可接入。不過通常須要在應用程序中加載Agent,須要修改程序啓動方式。例如以業務實時監控服務爲例,在啓動Java程序時須要增長-javaagent啓動參數。架構

定位於分佈式鏈路追蹤的鏈路追蹤產品是基於開源產品 JaegerZipkin 等開源產品和開源標準 Opentracing 的監控產品。用戶能夠基於以上任意一種標準SDK接入到鏈路追蹤中。這樣的好處是:分佈式

  • 已在用Jaeger, Zipkin或其餘Opentracing標準SDK的應用可無縫遷移到鏈路追蹤產品中,而不用修改代碼;
  • 因爲產品SDK是基於開源標準的,所以用戶不用擔憂lock-in問題;
  • 藉助社區力量,用戶能夠一次性大量支持多種開發語言,使得面向異構環境的開發者在監控方面接入門檻大幅度下降。

 


image.png | left | 500x230

使用成本:按量付費 vs 產品免費

和其餘APM工具類產品相似,不管是應用監控仍是前端監控等功能,業務實時監控服務採用的是按量付費的收費模式,整體來說仍是佔用戶整體預算的至關一部分。不過從整體來看,業務實時監控服務 收費大大低於業界平均水平,僅佔業界水平10-20%左右,這也得益於其優秀的高性能和高效率架構。微服務

鏈路追蹤專一於解決分佈式環境下的鏈路診斷問題,其功能相對專一,產品精簡,自己不收費。用戶的鏈路信息存儲於阿里雲的日誌服務產品中,用戶僅對日誌服務存儲收費,鏈路追蹤產品自己不收費。工具


image.png | left | 494x256

總結

如下表格總結兩個產品的區別和聯繫。性能

  業務實時監控服務 鏈路追蹤
產品定位 APM工具類產品,產品自己含應用性能監控,用戶體驗監控,鏈路追蹤,問題診斷等多項功能。 專一分佈式鏈路功能追蹤功能。
應用程序語言支持 Java, PHP (coming soon) Java, PHP, Go, C#, Python, Node.JS, etc.
接入方式 無侵入式Agent加載方式接入 侵入式SDK編程方式接入
產品費用 按量付費,極具競爭力的產品價格 產品自己免費,用戶僅對日誌服務使用部分收費

將來展望

雖然兩個產品定位不一樣,可是一樣定位於阿里雲上的開發者工具監控類產品,兩款產品將來會作互相地打通。

  • 業務實時監控服務 將支持 鏈路追蹤 的SDK方式進行分佈式鏈路追蹤的定製化。
  • 鏈路追蹤 的應用鏈路 一樣能在 業務實時監控服務 的界面中進行查詢,優化用戶診斷體驗。


閱讀原文 本文爲雲棲社區原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索