發展之勢:
隨便最幾年微服務和Serverless(Lambda)的盛行,把原來一套系統能夠按業務,人員或業務架構拆分得更加詳細,讓開發人員更專一於本身負責微服務或Serverless模塊,同時利用DevOps管理流程,這樣能夠提高業務的快速迭代。雖然微服務或Serverless確實是能夠提高業務的持續服務和可靠性,可是業務複雜度,管理難度和管理成本隨之提高,如何作好業務故障排查,特別是性能和穩定是不少企業開發及運維團隊所關心的,AWS爲此提供一項易用且可視化的服務X-Ray,藉助 AWS X-Ray,開發人員可以輕鬆分析其生產行爲及具備端到端跟蹤功能的分佈式應用程序。您能夠使用 X-Ray 肯定性能瓶頸、邊緣狀況錯誤以及其餘難於檢測的問題。X-Ray 支持各類類型或大小的開發或生產應用程序,從簡單的異步事件調用和三層 Web 應用程序到使用微服務架構構建的複雜的分佈式應用程序。這讓開發人員可以快速找到並解決其應用程序中出現的問題,並改善最終用戶對其應用程序的體驗。數據庫
功能介紹:
X-Ray是能夠很好的與AWS近幾年特別流行的技術(ECS/Lambda等)集成,尤爲是將來有可能成爲主流技術的Lambda,它能夠提供數據跟蹤,數據軌跡採集與性能分析等可視化技術服務。如下咱們來介紹如今及將來都比較經常使用的API化的應用,API化採用基礎技術就是Lambda,而優化Lambda和業務代碼的工具服務是X-Ray,咱們經過一個例子來講明X-Ray如何幫助開發與運維團隊提高業務體驗。安全
1)X-Ray對Python for Lambda的請求分析
AWS Lambda 上的 Python – 對 Lambda 函數配置啓用 X-Ray 以分析傳入請求。添加X-Ray SDK for Python以分析 AWS 開發工具包、HTTP 和 SQL 客戶端。
有多個 AWS 服務提供 X-Ray 集成。集成服務提供不一樣級別的集成,能夠包括採樣和向傳入請求添加標頭、運行 X-Ray 守護程序以及自動將跟蹤數據發送到 X-Ray。
主動分析 – 採樣和分析傳入請求。架構
被動分析 – 分析已經由其餘服務採樣的請求。less
請求跟蹤 – 對全部傳入請求添加一個跟蹤標頭,並將其向下遊傳播。運維
工具 – 運行 X-Ray 守護程序以從 X-Ray 開發工具包接收分段。異步
業務例子配置:
1)API化的業務架構圖:
使用 AWS X-Ray 檢測無服務架構工做流程中的響應瓶頸,將其運行時間提升了70%。
使用 X-Ray 的日誌聚合器和可視化視圖發現執行時間較長的 lambda ,使用 X-Ray 的明細功能,檢查該 lambda 的 CloudWatch 日誌。分佈式
2)配置X-Ray
在 AWS Lambda 函數上配置 X-Ray 集成ide
打開 AWS Lambda 控制檯函數
選擇您的函數微服務
選擇 Configuration,在調試和錯誤處理下,選擇啓用活動跟蹤
切換到 X-Ray 的可視化儀表盤
條件篩選
問題定位
從上圖能夠看出: lambda 自身的業務功能較複雜調用頻率太高;lambda 讀取數據庫的延時太高。
【關於博思云爲】做爲一家專業的雲計算服務型企業,博思云爲專爲客戶提供 AWS 上的運營服務:包括架構諮詢服務、遷移服務、雲安全集成服務、混合雲管理服務、大數據服務以及 DevOps 服務。目前,博思云爲在大數據、DevOps、架構、數據庫以及操做系統等都已取得廠商認證,在上海、南京、杭州、武漢等地設有分公司。爲創新服務模式、引領 IT 服務業的發展,博思云爲將持續投入資源開展智能混合雲管理平臺、圖數據庫的研發等。