精彩回顧 | 阿里雲APM城市技術行·深圳站
前端業務越來越豐富,底層架構越來越複雜,計算資源越來越多元化,單一的APM產品如何支撐構建雲上應用的完整監控體系,保障平臺的穩定性?近期在深圳舉行的阿里雲APM城市技術行活動給出了答案。
近日,主題為“應用全鏈路效能和診斷最佳實踐”的阿里雲APM城市技術行深圳站的活動在空體新媒體實驗室舉辦,集結了應用高可用服務AHAS、效能監控ARMS和效能測試PTS的阿里雲全域APM解決方案集中亮相。該活動吸引了近300位開發者和使用者,大家共同交流雲時代應用架構下在業務的高可用、全鏈路監控和雲壓測等方面的實踐和探索。
“阿里巴巴中介軟體”公眾號後臺回覆“APM深圳行”,獲取部分嘉賓分享PPT
APM 全稱是Application Performance Management, 指的是對應用程式的效能和可用性的監控管理,是近5年來伴隨著雲技術、微服務架構發展起來的一個新興監控領域,包括手機公共網路端的站點監控、App端監控和頁面端監控,使用者網路端的應用服務程式、容器層的主機和作業系統層的監控,以及PaaS/SaaS端的服務監控,包括物件儲存、快取、資料庫和訊息等。阿里雲作為國內最大的雲端計算廠商,覆蓋了APM領域的全系列監控產品,並配備了先進的3D監控大屏,極大的降低了使用者的運維複雜度。本文將為您全面回顧此次活動分享中的精彩內容。
從應用效能管理到應用高可用
西傑,阿里巴巴中介軟體產品專家
多年來從事應用效能管理和應用高可用性保障方向的工作,目前負責應用高可用服務的產品構建和使用者體驗優化。
如今,開發並上線一款應用十分方便。因為雲端計算提供了從最基礎的計算資源如伺服器網路、資料庫服務、中介軟體PaaS平臺到各種應用支撐的雲管理服務,同時開源社群的迅猛發展也提供了從資料庫、快取到應用全生命流程中各種必須的元件,所以越來越多的應用開發者可以把精力放在業務創新上。
雖然從想法到實現的路徑越來越短,但是應用構建完後,如何保障應用的高可用面將面臨兩個新的挑戰:
挑戰一:應用所依賴的大量的IaaS、PaaS、Cloud API和開源元件增加了應用的複雜度
阿里雲應用高可用服務AHAS,針對雲原生應用架構複雜、變化快的特點,推出了架構感知的功能模組,通過採集和分析作業系統及第三方標準介面,捕捉程序級的呼叫關係,並使用特徵庫演算法識別程序所使用的技術元件,最後在伺服器、容器和程序這三個維度上以視覺化的方式展示雲端的應用架構。
實現步驟非常簡單,在控制檯進行RAM授權後,安裝探針便可實現架構感知的功能,若進一步安裝Java agent(可選),還可以對應用架構中的Java應用進行動態增強,提供介面級別的效能指標和限流降級能力。
挑戰二:應用被拆分為多個微服務時帶來的服務之間的網路,服務強弱依賴,服務雪崩的新問題
此類新問題來源複雜、定位困難,通常需要結合應用高可用測評和防護兩方面一同來應對。阿里雲應用高可用服務AHAS,支援根據架構感知模組捕捉到的架構資料主動製造故障,檢驗應用系統及其各元件在故障下的可用性表現,從而驗證應用系統的高可用能力,提前暴露故障隱患,以便針對性地應對風險。
同時,AHAS提供限流和降級的功能,通過實時監控框架的QPS(Queries per Second,每秒查詢數)、執行緒數、響應時間、異常數等指標,並有選擇地截斷對這些框架的訪問,從而保護應用的可用性。此外,利用 AHAS 提供的 SDK,您還可以採取更細粒度的程式碼級流控降級防護措施。
阿里分散式應用的全鏈路監控解決之道
伏羿,阿里巴巴中介軟體產品專家
阿里巴巴中介軟體雲產品ARMS及ACM負責人,在企業級網際網路架構和產品方面深耕多年,在微服務效能優化方面有著豐富的經驗。
隨著越來越多的企業開始將服務往公共雲上遷移,對於雲上應用效能監控的需求也越來越多。為了保證雲上業務執行穩定,通常需要通過應用監控、前端監控和自定義監控等維度來構建立體化的監控體系。
應用監控
阿里雲效能監控ARMS,基於分散式呼叫追蹤的能力,結合本地呼叫堆疊、慢呼叫執行緒剖析和全息排查功能,解決了新業務上線時的bug頻發問題、壓力測試過程中的頻繁出現滿呼叫的問題和業務日常支援過程中各類問題排查的需求。同時,提供了針對各類PaaS介面的分析診斷,讓各類PaaS整合無後顧之憂,並支援對應用效能監控的統計。
無需修改任何程式碼,只需要在 Java 應用的啟動指令碼中掛載一個探針,就可以對Java 應用實現全方位監控。
前端監控:
使用者訪問我們的業務時,整個訪問過程大致可以分為三個階段:頁面生產時(Server 端狀態)、頁面載入時和頁面執行。業務監控並無法解決使用者訪問頁面時,因運營商網路、使用者所使用的作業系統和瀏覽器導致的使用者體驗問題,此時,前端監控應運而生。
前端監控關注頁面效能、頁面穩定性和服務呼叫成功率。阿里雲ARMS前端監控功能從業務視角出發,統計對業務影響最大的效能指標,並從技術視角出發,挖掘出哪個環節導致效能慢,圍繞效能、地理和終端分佈,來監控前端的效能問題。頁面穩定性則對頁面出錯率排名和詳情,以及錯誤聚類排行和詳情多JS Error進行多維度管理。此外,阿里雲ARMS從前端到後端進行全鏈路追蹤,以提高服務呼叫率。
前不久,我們推出了ARMS的兩大新功能,3D 拓撲監控大圖,以及將前端的Session ID和後端的API進行關聯的功能,極大的提高了使用者的監控體驗,並提升了複雜監控問題的定位和診斷效率。此外,阿里雲ARMS價格為同類競品價格不到十分之一,可有效降低使用者在構建雲上立體式監控體系的成本。
阿里雲高階體驗設計師舒石演示3D大屏
PTS在雲壓測上的探索和實踐
牛兔,阿里巴巴中介軟體產品經理
負責釘釘、手淘等業務的高可用、穩定性工作,以及手機淘寶的內容不PaaS平臺的產品設計和落地。目前主要負責阿里雲效能測試PTS的產品設計和運營工作。
阿里雲效能測試PTS,孵化自阿里全鏈路壓測平臺。有別於傳統工具的繁複,PTS以網際網路化的互動為基礎,同時在產品的功能設計上更面向分散式和雲化,適合更多使用者的技術背景,同時更適合當前的主流技術架構,與阿里雲生態緊密結合提供監控、定位等更多的價值。
以PTS+ARMS的經典組合為例,解決了原本在效能容量評估、效能瓶頸診斷和應用錯誤診斷方面的瓶頸。
效能容量評估
根據木桶原理,容量最小的系統也就是木桶最短的板決定了站點的能力。使用者需要做的是識別短板,通過調整長短板之間的機器配比達到拉平系統水位的目的,那麼即使是同樣數量的機器也可以提供更大的業務吞吐量,甚至不用額外擴容。
通過PTS整合雲監控和ARMS監控,不僅可以準確判斷特定配置下的系統性能容量瓶頸,同時還能定位效能基線的配置短板,如系統性能、資料庫瓶頸、程式碼問題等。
效能瓶頸診斷
除了調整容量配比,PTS +ARMS還可以通過探測和識別系統瓶頸點,以提高站點效能的方式,進一步提升同樣機器數量情況下的整體容量水位。
藉助PTS對cookie的友好支援,整個鏈路都可以通過PTS配置出對應的壓力測試流量,並藉助ARMS進行監控,從而觀察、分析效能瓶頸。
此外,使用者還可以通過PTS發現介面呼叫效能瓶頸拐點,一鍵跳轉到ARMS中,並基於具體執行緒刨息,發現具體程式碼棧內的效能瓶頸拐點,從而為優化程式碼效能,提供程式碼棧級別的證據。
應用錯誤診斷
診斷應用錯誤是企業級網際網路應用正式上線前的另一大場景。這類錯誤雖然一般不會直接影響呼叫耗時從而造成效能瓶頸,但是仍然會由於業務錯誤引發糟糕的使用者體驗。ARMS的經典組合,可以在壓力增加時,有效發現以上的各類錯誤。
此外,基於PTS的施壓側監控和多維度監控特性,還可以通過ARMS整合關聯到具體的錯誤異常詳情,定位到具體錯誤丟擲的詳細程式碼,從而以指數級別提高壓測場景下的介面錯誤診斷效率。
據悉,深圳是阿里雲APM城市技術行繼北京站之後的第二站,未來還將在上海、成都、杭州等多個城市舉辦。
歡迎加入企業級網際網路架構交流釘釘群,群號:21704851
-> 歡迎關注“阿里巴巴中介軟體”,加入中介軟體開發者群,與技術同行。