Visual Studio Application Insights開始支持ASP.NET 5
微軟為其監控平臺 Visual Studio Application Insights 發布了一套SDK,其中加入了對ASP.NET 5的支持。Application Insights可分為兩個主要的組件:Azure門戶用于展現數據,而SDK則提供了用于發送遙測(telemetry)事件的API。
對依賴注入模式的支持在 ASP.NET 5中得到了改進 ,它負責提供必要的數據,用于配置及發送遙測事件。為了了解此次發布的更多細節,我們與微軟的高級開發主管Sergey Kanzhelev進行了一番交流,向他提出了幾個相關的問題。
InfoQ:在ASP.NET 5中,有哪些重要的功能是你之前所無法做到的,例如在ASP.NET 4中?
Sergey Kanzhelev:ASP.NET 5帶來了大量的新特性,例如對依賴注入的原生支持、經過改進的請求處理管道、對非Windows平臺的支持等等。這些框架方面的改進同樣能夠使 Application Insights從中受益,不僅提高了可測試性,并且也簡化了配置過程。
InfoQ:此次發布的SDK是否能夠同時支持Azure平臺、以及非Azure平臺上的ASP.NET 5網站?
SK:沒錯,新的SDK將支持在Azure平臺與非Azure平臺上托管的ASP.NET 5網站。對于Azure Web Apps(即從前的Azure Web Sites),我們將計劃進行更深入的集成,類似于我們之前對ASP.NET 4所做的工作。打個比方,你可以通過Azure門戶在Azure Web Apps控制面板中對Application Insights的監控方式進行配置。
不僅如此,ASP.NET 5還能夠運行在Linux與Mac環境中,我們有一些客戶已經開始在這些平臺上運行Application Insights了。
InfoQ:市面上有一些其它的監控工具也具備對ASP.NET進行監控的能力,與之相比,Application Insights有哪些獨特之處能夠吸引用戶呢?
SK:Application Insights的目的在于實現良好的DevOps,即持續地改進你的應用。舉例來說,我們將其設計為一個SDK,而不是一個外部的代理。這意味著你可以 在代碼中調用這個SDK中的API,追蹤應用的使用情況與性能的詳細信息。在你設計新的用戶故事的同時,也要對用戶如何使用這一用戶故事的實際情況的監控 方式進行設計,從而判斷新的特性是否正常運行,以及如何進行改進。
當然,有許多功能是直接提供給用戶的,無需編寫一行代碼就能夠獲得實用的結果。但我們強調的是讓開發者完全掌控所發送的遙測事件,以獲得所需的數據,從而打造出一款出色的產品。
InfoQ :在那篇 博客帖子 中,你寫道“我們從根本上是將它當作一種開發工具來設計的……”。你能否詳細地說明一下這句話的含義?為什么說它是一個開發工具,而不是一種用于管理負載的工具呢?
SK:作為一名開發者,我迫切地想知道如何編寫、或重寫我的代碼,讓它為用戶帶來更好的功能。我所感興趣的是,哪些用戶通過我的應用實現了 他們的目標、又有哪些用戶放棄了它、他們是否在使用時犯下了某些錯誤、應用的實際表現如何、以及他們經歷了哪些用戶體驗的路徑。通過 Application Insights,我可以直接找到某些問題的答案,并且還能夠通過編寫幾行簡短的代碼而獲得更多的細節。根據我所需的信息不同,我還能夠任意地選擇使用哪 些模塊。與之相反的是,用于運維目的的工具更多地專注于性能,例如每分鐘完成多少條事務,卻沒有強調用戶想要通過這個應用實現的目標。
如果想了解關于ASP.NET 5 SDK的更多信息,請參考 GitHub 上的項目文檔與源代碼。
查看英文原文: ASP.NET 5 Support for Visual Studio Application Insights