让你的.NET 应用成为一个灰色盒子

阅读数:69 2007 年 8 月 21 日

话题:.NET技术管理语言 & 开发架构

与已经摸爬滚打了 10 多年的 Win32 应用不同,当你的.NET 应用出现性能问题的时候能很快得找到问题的症结吗?看着市场占有率不断增加的.NET 应用市场,Symantec 也要从信息安全方面腾出一只手给.NET 了

.NET 在开发效率、开发平台支持方面的优势是非常明显的,但在性能监控方面、高可用方面除了微软之外一直没有能让人觉得具有垄断性潜质的方案提供商。原因是多方面的,两点原因很关键:一方面因为它太新了、6 岁半的时候就要从 1.0 走到 3.5;另一方面与原厂商相对薄弱的 Java 不同,.NET 一直在微软的强势控制之下,在 MOM、System Center Server 和 WMI 的联合之下,很少有厂商愿意去做这个市场。不过相对一般的.NET 集成和应用开发而言,这一块市场潜力是巨大的,因为只要是够一定规模的.NET 应用都会考虑运行监控和性能调优,所以看到有这么大块“东坡肉”, Symantec 的 APM(Application Performance Management)部门也就不断在推出至今第 8 个版本的 i3 portfolio 了。

i3 专注于.NET 和 SQL Server 应用,它主要有两块功能,面向实时应用情况监控的 SmartLink 和性能问题专家系统 SmartTune,另外还有一个独立的 SDK,用户可以根据监控需要定制监控内容。考虑到 SOA 的大环境,.NET 应用往往与 Java 应用“杂居”在各种 IT 环境中,因此这个版本还包括了一个面向 J2EE 方面性能诊断的知识库。

不过,不管分析师们对这个产品给予何种“令人鼓舞”的评价,相信它要在.NET 和 SQL Server 监控市场上遇到来自微软的多方面压力。毕竟 Windows 系统层面的监控几乎基于 WMI 机制,而与这个机制切合最好的恐怕非 MOM 莫属;无论是学习还是实际应用,事实上 Enterprise Library 已经成为众多.NET 应用,尤其是大型应用的样板,Instrument 作为 Common Block 的主要组成,可以说是为整个 Enterprise Library 内置的,它的外围是性能监控器和 WMI;微软 Patterns && Practices 社区一直在关注.NET 监控和性能调整,除了Improving .NET Application Performance and ScalabilityMonitoring in .NET Distributed Application Design和即将发布的Designing Manageable Applications for .NET等 3 个系列之外,其它系列也几乎都会花很大时间来介绍如何提高.NET 应用性能;甚至于在开发工具层面,Design Guidelines for Developing Class Libraries已经直接嵌入到 VSTS 的开发环境中。内容很全面,不过似乎都给人一个“半生不熟”的感觉,对于很多企业而言几乎没有多少技术力量可以把这些内容串起来,而企业更倾向于在一个“现成的”监控产品基础上提供面向业务指标的监控能力,但微软似乎总在致力于其关键服务器产品——SQL Server、SharePonint、BizTalk 的推广上,可以说微软遗留了一块市场,不过相信在.NET 生产厂商与企业信任度夹缝中的 Symantec 估计也很艰难。

尽管如此,i3 倒是提醒了我们不仅要关注处于白盒阶段的代码和运行态的黑盒子系统,也要好好考虑怎么把它变成灰盒子了,否则在 IT 服务化的今天,没有运行维护体系支持的.NET 应用,就会脆弱得像入冬后树枝上最后一片叶子。