Application Insights 正式進入公開預覽階段

感謝北科大劉建昌同學協助翻譯微軟公司 Application Insights 主管 Merav Davidson 於 2015/4/29 發表的文章 Announcing Application Insights Public Preview ( https://azure.microsoft.com/blog/2015/04/29/announcing-application-insights-public-preview-2/ )

最近在 2015 年 Microsoft 開發者大會 上發布了相當多對於開發者有幫助的新功能,如果您剛好有讀過 SomaBrian Harry 的部落格,或許您已經知道了,Visual Studio Application Insights 正式進入公開預覽階段,供開發者進行測試,這項服務能夠為任何的應用程式匯集並且提供性能管理使用分析之解決方案。

Application Insights 提供開發團隊對於他們的應用程式進行問題偵測、診斷當機,以及追蹤 Web 應用程式與行動應用程式中的使用情況。並且透過直觀的圖表以及工具來進行故障診斷和排除,它能夠幫助您透過用戶的使用狀況,來分析未來應用程式該優先考慮哪些工作。

在 Application Insights 進入預覽階段之後,我們也推出了一個根據每個應用程式的 telemetry 數量來訂定計價模式,提供給所有的開發團隊相當優惠的福利。而這個計費模式將從 2015 年的 6 月開始生效,並且在公開預覽階段時享有 50% 的折扣。

360 Overview

任何的應用程式都能使用 Application Insights 嗎?

答案是肯定的 ! Application Insights 不斷快速成長並增添支援平台之種類。我們的 iOSAndroid SDK 提供了使用行為分析 ( usage insights ) 和應用程式當機診斷 ( crash diagnostics ),這都要歸功於 HockeyApp 強大的整合功能,而且毫無疑問的,我們同樣也支援 Windows Phone、Windows Store 應用程式與 UAP 應用程式。

Application Insights 內建支援 ( out-of-the-box ) J2EE 應用程式,並且與 Eclipse 開發工具進行整合。而 ASP.NET 開發人員也可以在Visual Studio 中直接整合 Application Insights。若您開發的是 Azure Web App 上運行的應用程式,您將發現 Application Insights 與其緊密的結合。對於網頁前端工程師則可以使用 JavaScript SDK ,在任何網頁上送出 telemetry,除此之外,Application Insights SDK 支援多種程式語言與平台,包含 PHP、Python、Ruby、Node.js、WordPress、SharePoint 等。

只要您想要,您可以選擇您喜愛或熟悉的開發平台與語言。對於不同的應用程式類型,Application Insights SDK 皆會傳送一個 telemetry 到 Application Insights 服務中進行分析,並且在 Azure 新入口網站裡將資料呈現出來。因此,只要是 Application Insights SDK 支援的開發平台所開發出來的應用程式,皆能夠被 Application Insights 所監控與分析。

即便 Application Insights 是 Microsoft Azure 裡的一項服務,但是您還是能夠將它應用在任何的應用程式中。

誰正在使用 Application Insights ?

我們已經有接近 450,000 個使用 Application Insights 的應用程式。而且越來越多的開發商在開發應用程式時,會選擇使用Application Insights。

下面是一些我們的客戶在使用Application Insights的感想 :

“Application Insights 不只是判斷效能或使用者行為的操作工具。它真的是開發程序的一部分。 "

Dominion Enterprises 品保和發行經理 Ray Escamilla

 

Application Insights 讓我們以全方位觀點檢查服務的行為、可靠性和效能。這是我們工程小組日常使用的必要工具,用來檢閱和了解生產服務的運作情形。透過使用此產品所獲得的深入見解,協助我們找出不穩定的領域,排定工程投資的優先順序,為客戶提供更好的服務。”

Microsoft Game Studios 資深軟體工程師 Kyle McClellan

"Application Insights 可以一次滿足我以整體觀點一覽所有應用程式的健全狀況和效能。它協助我快速釐清優先順序,讓我專注於處理組織中最重要的事項。"

iPerceptions 研發總監 Pierre Tetreault

以上的開發者們對於 Application Insights 如此滿意的原因,是因為 Application Insights 提供了以下的開發優勢 :

1. 提供應用程式效能和使用行為進行全面性的監控,以確保應用程式的可用性 ( availability )。

2. 快速且功能強大的偵錯工具,用來診斷使用狀況與效能問題。

3. 適用於任何的類型的應用程式。

4. 優惠的計價方式。

 

360度全面監控應用程式的可用性、性能、使用情況

根據 Gartner 的統計,全面監控應用程式的可用性、性能、使用情況是 2015-2016 年十大必須掌握的行動技術技術之一。隨著Application Insights 的出現,您能夠在應用程式的任何角度,監測所有您想要的資訊,甚至可以將多個不同平台的資料,呈現在同一個視圖中。

您也能夠透過使用者所留下的使用情況,來分析資料,讓您能夠知道更多關於應用程式對客戶所帶來的服務問題,例如 :

  • 這個應用程式會有性能的瓶頸嗎?
  • 這個月用戶新增數目是否有上個月的多?
  • 客戶進行何者行為會影響應用程式效能?
  • 您的應用程式的客戶群為何?

 

快速並且強大的故障排除與診斷

您公司的業務可能不允許服務發生停機的狀況,因此做為開發人員或維修工程師,您必須在服務出現問題之前,就把所有問題找出來,並且解決它。使用 Application Insights 能夠讓您進行錯誤偵測並且進行進行診斷與排除。即時行動當機分析 ( Real-time mobile crash analytics ) 可以讓您獲得當機時的所有資訊,您能夠透過此資訊了解到,究竟是何項原因導致當機,並且優先依據客戶影響的順序來進行修復。

您也能夠依照您 Web 應用程式的需求,設定診斷失敗請求( failed requests)、異常 ( exceptions )、錯誤相依性 ( dependency failures )等項目,甚至能夠跟您的登入紀錄 ( Log )自行定義的檢查檔案 ( custom events ) 結合,得到更完整詳細的診斷紀錄。

對於您的 Web 應用程式,您可以透過設置 Web 測試以及 URL pings,建立 Web 的錯誤警示機制並且依照 Web 需求,自行定義測試的基礎值,以便讓您事先了解異常的行為,會對客戶造成何種影響。

為您的應用程式進行分析

我們所設計的 Application Insights 能夠在開發過程中,就與應用程式進行整合,就算該應用程式已經進行上線服務,也一樣能夠透過相當簡單的方式與現有已存在或新開發的應用程式做結合。它會自動收集應用程式中最關鍵的運作資料。若您是使用 Visual Studio 進行開發,那就更容易地將 Application Insights 整合進您的開發流程了。

我們也在不同的 IDE 上面實現了這個方法。下圖是在 Xcode 上的執行狀況。

正如您所看到的,Application Insights 入口網站提供了一系列強大的分析與搜尋工具,能夠藉此來獲取應用程式運作時的任何遙測資料。此外,您還能夠將這些資料導出到外部系統,藉此來搭配其他的資料來進行更進一步的分析工作。

物超所值的雲端計價模型

我們最新的雲端計價模型 ( 2015年6月開始 ) 是依據每個應用程式的資料量進行計價。在免費層級,您可以使用絕大多數的功能,但是對於特定功能的資料量和保留的天數會有所限制。隨著應用程式的擴展,您可能會需要使用到更多的測試資料和資料保留天數, 可以透過標準和高級層級來符合您的需求。這些服務層級都是依據您使用多少數資料來計價,我們不希望在您擴展業務的同時,付出太多的代價在尚未使用到的資源上。此外在公開預覽階段 Application Insights 用戶享有 50% 的折扣。

結論

就是今天,快來使用 Application Insights 吧。憑藉著 Application Insights 強大的分析與診斷能力,能夠讓您的應用程式更為聰明、更加貼近使用者的需求。

最後一件事,如果您在使用 Application Insights 時有任何的意見,請提供您寶貴的意見給我們。若有任何問題,請查詢 Application Insights論壇