作者?:Tom-Nolle
背景
現在的應用都是依托層層技術、由工作流中的各個組件構建而成的,應用管理也越來越困難。隨著應用的復雜程度不斷提高,應用性能監控(APM)工具也需要不斷完善。
APM工具開發商NewRelic和Stackify推出定制化產品,將性能監控的重點從日志層面轉移到代碼層面。APM已經逐漸成為應用生命周期管理的一部分,而開發團隊對APM的態度卻非常消極。
日趨復雜的產品功能也增加了APM工具的選擇難度。用戶不了解工具需要的環境、能夠提供的功能以及實現這些功能的技術難點。所以,理想的APM工具要么應該能夠提供最有用的數據,要么應該以最小的開支提供還不錯的數據。
APM工具對比
StackifyRetrace和New Relic APM都適用于一體化APM模型,能夠實現監控質量與簡單易用的最佳平衡。兩款產品均支持通過日志分析了解服務器操作情況,同時能夠實現代碼層面的性能和故障監控。此外,Stackify Retrace和New Relic APM都配有儀表盤,展示性能、應用和組件數據,包括應用環境的相關數據;支持測試數據注入監控,通過模擬頁面活動創建特定、可控、可驗證的交互。
IT團隊需要通過不同的界面和指標來監控應用的整體健康狀況。Stackify Retrace和New Relic APM的目標是滿足這類需求。應用整體監控和用戶體驗質量需求越來越強烈。應用性能指標(Apdex)是衡量用戶對應用性能滿意度的開放標準,在給部分用戶帶來幫助的同時,也增加了監控數據解讀難度。
和其他APM工具一樣,Retrace和New Relic APM通過日志了解應用運行趨勢。所有的APM工具都可以通過定制化設計采集代碼級的日志數據,提高應用代碼的可見性。這樣,開發人員便還可以把APM當做測試工具。如果沒有代碼級別的數據,APM工具就只能依靠系統日志進行應用性能監控。
New Relic還是Stackify
StackifyRetrace主要面向開發人員,目標是實現代碼內部的定制化日志跟蹤,提供更加豐富的應用性能信息。New Relic APM具有較好的監控廣度,兼容多類編程語言和第三方應用,但監控深度不足。
不同用戶對New Relic和Stackify的評價也不盡相同。New Relic用戶表示,這款產品監控層面更廣,便于用戶通過標準指標了解應用的整體運行情況,還能實現對移動應用、網頁應用、第三方應用和自定義應用的監控。而Stackify用戶則能夠通過這款產品深挖應用性能、測試和應用環境的狀態,從而更好地了解用戶體驗。
作為老牌APM工具,New Relic APM市場份額大,占據主導優勢,同時也為競爭品牌提供了完善自身產品的方向;而Retrace主要專注于企業商用APM工具市場細分。
CIMI公司的調查結果顯示,75%的公司首席信息官更傾向于New Relic APM,而80%的開發人員則更傾向于StackifyRetrace。理想的APM產品應該同時滿足不同用戶群體的需求。
對于首席信息官而言,New Relic APM的監控指標基于系統和應用日志,簡單易懂,能夠幫助他們快速了解核心應用的運行狀況;還能通過日志和代碼埋點深度鉆取應用性能數據。但開發人員非常抗拒這些埋點。
首席信息官不喜歡使用Retrace的主要原因在于,這款產品的界面展示晦澀難懂。Retrace的自定義代碼畫像功能雖然很受開發人員歡迎,但畫像數據與系統日志的兼容性和關聯性較差。
在開發人員看來,Retrace能夠提供性能日志和故障診斷等功能,這是New Relic APM所無法比擬的。在代碼中植入的Retrace日志埋點雖然比較難懂,但最終的效果遠比New Relic APM更好。
而且,開發人員認為,人們高估了New Relic APM監控指標的表現。因為New Relic APM的應用性能指標以及其他關鍵性能指標和預警不能反映代碼層面的問題,無助于故障定位。Retrace App儀表盤的信息雖然比New Relic APM更復雜,但能夠提供開發人員需要的信息,只要適當調整界面展示并優化代碼中的日志埋點方式,便能滿足首席信息官的需求。
NewRelic APM雖然能夠提供應用性能指標,但這些數字并不能實現深度性能鉆取,監控粒度遠不及Stackify Retrace。此外,Retrace還提供用戶滿意度數據,能夠實現與應用或技術的直接關聯。首席信息官對兩款產品展示界面的看法也會受頁面設計和其他用戶評論的影響。
仔細研究可以發現,Stackify Retrace也有面向管理層的展示界面,同時代碼畫像不會對應用性能產生明顯影響。首席信息官可以與開發團隊溝通自己的需求,由開發人員調整Retrace的界面展示形式。Retrace功能更豐富,因而也比New Relic APM更復雜,所以很難一眼發現其優勢。
結論
不過對于把開發業務外包出去、只運行第三方包或只關注云端應用的公司來說,New Relic APM基本能夠滿足需求。在這種場景下,兩款產品沒有明顯的高下之分,主要取決于個人偏好或對產品的適應水平。
隨著應用復雜性和分布式部署程度不斷提高,APM的重要性也愈加凸顯,與代碼日志和畫像融合的需求也更加迫切。從這個角度來說,Retrace確實是更好的選擇。