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