DevOps:緊盯基於雲計算的應用性能

來源:互聯網
上載者:User
關鍵字 測量 雲計算 調查 提供

基於公共雲計算的應用性能不盡人意,導致終端使用者使用受挫。 來自PaaS和IaaS供應商的SLAs總體上有效,但並非整體回應時間。 DevOps團隊則通過使用不同的工具來監控雲計算應用的性能。

來自北美的350名IT專家評估得出,每年會因基於雲計算應用的性能問題而平均損失掉98萬5260美元的收入,這份調查出自于Compuware。 歐盟的調查物件表示,會平均損失掉77萬7000美元。 應用性能問題導致58%的北美調查物件和57%的歐盟調查物件暫緩使用基於雲計算的應用。

調查還發現,94%的北美調查物件和84%的歐盟調查物件認為雲應用服務等級協定(SLAs)應該是基於實際終端使用者的經驗,而不僅僅是服務提供者的可用性指標。 不過這種天真的相互估計很難說服公共或私有雲供應商提供高昂代價的點對點SLAs。 因此,剩下就是DevOps的工作了,通過錯誤日誌、分析和診斷代碼來測量基於雲計算的應用。

話說回來,什麼樣的方式才是監視資料密集型應用的性能的最佳方式呢? 來自Pingdom.com,Mon.itor.us或是其他監控供應商網站的免費或是低價的運行時與回應時間報告,可以驗證應用能否滿足SLAs和點到點網站性能。

像LoadStorm和Soasta這樣的公司銷售定制化的雲應用負荷測試。 Compuware的CloudSleuth網站提供免費一個月的,有關主要雲基礎設施及服務(IaaS)和平臺及服務(PaaS)供應商的點到點回應時間的全球性能排名。

圖1展示了Windows Azure的樣例工程,該工程演示了在一張Azure表上的進行分頁、創建、讀取、更新以及刪除(CRUD)操作。 在OakLeaf的Azure Table Services Sample Project上操作這些,對於代碼執行將導致負值。

圖1. Windows Azure樣例工程的分頁和CRUD操作。

視窗底部的Time文字框顯示了最後操作的代碼執行時間,對於新頁是28ms。 清除了Batch Updates核取方塊,你將看到在91個使用者記錄上進行獨立的CRUD操作的執行時間急劇增加。

光靠報告是不夠的;組織還必須收購或開發本地的診斷管理工具來下載和分析性能日誌,併發送警告和圖形化報告。 像Amazon Web Services這樣的IaaS供應商集中精力靠本地指標構建他們的硬體;像Windows Azure和SQL Azure這樣的PaaS產品則對應用及其代碼提供更為深入的,專業的認知。

AWS的CloudWatch如何監控性能

Amazon CloudWatch允許DevOps團隊自動地監控Amazon Elastic Compute Cloud(EC2)實例的CPU,資料傳輸,磁片活動,延遲以及請求次數。 對於EC2實例,EBS卷,SQS佇列,SNS主題,Elastic Load Balancers還有Amazon RDS資料庫實例的基本測量是每五分鐘一次且沒有額外費用。 你可以在AWS Management Console的CloudWatch標籤頁上增加標準測量和警告,可以通過導航到Navigation Pane上的Metric頁面來觀察測量圖表(圖2)。

圖2. EC2實例的CPU利用指標圖

EC2實例的CPU利用指標圖,根據EC2 Image ID匯總,剩餘六個指標構成對EC2鏡像的第7個基本測量。

DevOps團隊可以使用AWS的自動調整特性來提供彈性化的使用功能,只鬚根據應用的CloudWatch指標參數,動態增加或刪除Amazon EC2實例。 在2011年7月,AWS增加了新的通知,迴圈和其他自動化伸縮特性。

CloudWatch不提供內建的應用監視測量,因為AWS是IaaS產品,是與作業系統和開發平臺無關的。 然而,開發者可以開發應用來提交API請求回應應用事件,例如處理或不處理錯誤,函數或模組執行時間,以及其它與應用相關的測量。

Windows Azure性能日誌與分析

自2010年1月微軟PaaS服務問世以來,為了該平臺的穩定,Windows Azure團隊已先後增加日誌,分析和診斷功能。 由於Windows Azure Portal的介面不支援添加測量,分析和預警功能,DevOps團隊必須自己書寫代碼和編輯設定檔以實現對Windows Azure的計算與存儲服務的診斷與記錄。 表1列出了2010年6月可以被DevOps通過Windows Azure的Diagnostic API用於分析的各類日誌。

表1. Windows Azure診斷資料收集日誌及相關Azure表和二進位大物件(BLOBs),對BLOB而言可通過Windows Azure SDK v1.2存儲日誌資料。

SDK v.1.4和麵向Azure v1.4的Visual Studio Tools通過Visual Studio 2010高級版或旗艦版增加了文檔化Windows Azure應用的功能,當應用運行在Windows Azure產品內部時。 2011年8月初的工具升級和新的Windows Azure Storage Analytics特性為存儲帳戶實現了日誌跟蹤執行請求功能,同時為測量提供了摘要功能,並對二進位大物件(BLOBs),表以及佇列的請求進行統計。

8月22號的升級樣例工程可生成以表與二進位大物件存儲的分析表,以及基於TraceWriter物件的內部時序資料,但需要單獨的應用來讀取、顯示和管理診斷。 Cerebrata的Azure Diagnostics Manager可以按照表格或圖的形式讀取並顯示日誌和診斷資料。 該公司免費的Windows Azure Storage Configuration Utility説明IT運維團隊,在無須書寫代碼的前提下開啟存儲分析功能。 Cerebrata的Cloud Storage Studio還增加了表與二進位大物件的管理功能(見圖3)。

圖3. Cerebrata即將問世的Cloud Storage Studio v2的Beta版

面向Windows Azure 應用的System Center Monitoring Pack,為使用System Center Operations Manager(SCOM)2007和2010 Beta版本的使用者, 提供了類似Cerebrata的產品。 目前,自動化伸縮Windows Azure需要協力廠商的解決方案,諸如Paraleap的AzureWatch,手工的. NET函數或是即將問世的面向Enterprise Library 的Windows Azure Integration Pack。 監控SQL Azure資料庫要求你使用SQL Azure的三類不同的動態管理檢視:資料庫相關視圖,執行相關視圖以及交易處理相關視圖。

(責任編輯:呂光)

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.