.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 Scalability、Monitoring 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应用,就会脆弱得像入冬后树枝上最后一片叶子。