小說倚天屠龍記中少林寺的渡厄、渡難、渡劫三位大師的金剛伏魔圈曾經讓不可一世的明教教主張無忌也讨不到半分好處。在應用性能領域,也有一個金剛伏魔圈,那就是由ARMS、AHAS、PTS三個阿裡雲服務打造的應用性能核心防禦圈。
三個服務中隻有ARMS的知名度相對高一些,原因可能是ARMS所對應的APM(應用性能管理)領域已經有了大量的成熟商業産品和公共雲服務可供選擇,ARMS經常被作為一個對标産品被拿來對比和選擇,而PTS所對應的性能測試和AHAS所對應的應用高可用服務則缺乏可以直接對标比較的公共雲服務,是以有必要先讓我們來認識一下這三個服務:
應用監控服務ARMS(Application Real-Time Monitoring Service)、是一款應用性能管理産品,由前端監控、應用監控、Prometheus監控三大部分組成,能夠對浏覽器、小程式、移動APP、分布式應用和容器環境進行即廣泛又深入的性能監控。
應用高可用服務(Application High Availability Service)、是一款專注于提高應用及業務高可用能力的公共雲服務,提供包括應用架構探測感覺、故障注入式高可用能力評測、流控降級高可用防護三大核心能力。
架構感覺能夠分析和采集作業系統和服務接口的調用關系,能夠以伺服器、容器、程序三個次元來展示應用的架構。
故障注入功能結合了阿裡雲内部的混沌工程實踐,提供了豐富的故障模拟場景,能夠提升分布式系統的容錯性和可恢複性。
流量控制降級子產品支援各種主流Java架構的零代碼接入,能夠實時監控架構的QPS,線程數、響應時間、異常數等名額,并有選擇地截斷對這些架構的通路,進而保護應用的可用性。此外,利用AHAS提供的SDK,還可以采取更細粒度的代碼級限流降級防護措施。
性能測試PTS(Performance Testing Service)、是一款雲化的性能壓測工具,提供性能測試、API調試和監測等多種能力,ARMS相容開源JMeter腳本和參數檔案。PTS對應用的“通路”由分布在各地的阿裡雲壓測節點發出,是以可以更真實的對應用和伺服器接口進行“轟炸”來檢測應用和接口的全鍊路承壓能力。
這就像資訊安全領域的防禦——感覺——滲透測試——攻防演練體系,通過AHAS、ARMS、PTS三個服務可以打造應用性能的核心防禦圈:
- AHAS的職責是“防禦和演練”,AHAS能夠對應用進行限流/降級等高可用防護,也能夠主動的注入故障來對系統的容錯和自愈能力進行故障演練。
- ARMAS的職責是“感覺”,ARMS能夠對應用的前端/後端進行廣泛和深入的監控,讓管理者對應用的實時狀态了然于胸。
- PTS的職責是對系統進行“攻擊”,通過PTS對應用服務和接口進行定期的壓測來讓系統的能力上限被預先量化,讓管理者做到心中有數。