Sponsored Links


Resources

.NET Research Library
Get .NET related white papers, case studies and webcasts

Tuning .NET, Part Two: Tools help manage .NET applicationsTuning .NET, Part Two: Tools help manage .NET applicationsTuning .NET, Part Two: Tools help manage .NET applications Discuss DiscussDiscuss Printer friendly Printer friendlyPrinter friendly
Tuning .NET, Part Two: Tools help manage .NET applications

August 23, 2006

The first rush of .NET involved learning and building. In creating the .NET CLR [Common Language Runtime], Microsoft embraced a whole new level of abstraction - raising some concerns about performance. Now that the widespread rollout of .NET apps is underway, commercial tools are becoming available to ensure application performance levels. In Tuning .NET, Part One: Performance monitors appear, writer Colleen Frye considered some of the tools available. Here she expands that consideration. Tools that information on end-user response times, browser-level performance, network latency, server performance, Frye writes, have the potential to minimize the application support time required of developers, freeing them up to create more new applications.


Tuning .NET, part two: Tools help manage .NET applications


Taking the guesswork out of pinpointing and fixing performance issues is the promise of the emerging class of .NET application performance management tools. With end-to-end monitoring and diagnostic capability, the tools aim to reduce the time developers need to spend on application support as well as to improve the end user experience.

There are many challenges and just as many questions, according to Lloyd Bloom, Vantage product manager at Compuware. One challenge is the ability to monitor the application without putting overhead on the Web server, he said.

"It's not just about the server, but end-to-end performance. You have to ask what's going on in the server. [But] delays to calls to the backend database could be [due to] SQL Server or Oracle or the mainframe via message queuing. On the front end, what's happening on the network or on the client side?"

Another challenge, he said, is that "IT organizations don't have as much experience supporting the behavior of .NET transactions. Couple that with the fact that the hallmark of Web applications, especially [e-commerce] sites, is that you're constantly refreshing the look and feel. Frequent application updates are rolled into production and have to be kept running."

Particularly for Web applications, the end user experience can be key to competitive advantage. "If all the server lights are green, especially for Web applications, like those running on the .NET platform, you have no idea if the end user is getting any performance," said Hon Wong, CEO of startup Symphoniq Corp., Palo Alto, Calif. "Web users don't really complain. If you're running an ecommerce site, the chance of people calling to complain is nil--they just move on to the competitor."

Bloom agrees: "It's all about the level of service you deliver to the end user. We're looking at services as collection of elements that need to perform well individually."

And as the .NET platform continues to gain traction for enterprise applications, the need to manage those applications will become increasingly important. Vendors, both startups and those that already have products for managing Java applications, have been rolling out a variety of offerings for the .NET space.

When evaluating these offerings, organizations need to consider both breadth and depth, recommended Bernd Harzog, CEO and founder of the consultancy APMExperts. "There are two dimensions to differentiate," he said. "First, how deep into the problem can you get, therefore how close to pinpointing the real cause of the problem. Second, how broadly can you instrument this thing, so no matter where the problem starts and where it is, you've got breadth."

What MOM can't do

Performance tools go beyond a traditional systems management solution like Microsoft Operations Manager (MOM), frequently extending or complimenting it. "MOM at its heart is an infrastructure management solution," Harzog said. "It's designed to manage Windows server, the OS and the middleware infrastructure, so mom really isn't about applications. The .NET [application performance management] vendors are all interfacing to MOM, and something good will come of this."

According to Steve Stover, product manager for .NET at Quest Software Inc., in Aliso Viejo, Calif., "Performance management provides insight to a running application and deeper analytical data. MOM can't look inside a .NET application or measure response times to alert IT."

While there can be some overlap with systems management, what differentiates application performance management is the ability to determine if the end user can perform the action he or she intended, Stover added. "A developer might not have coded for a particular exception, so when the exception occurs, the user sees the error screen but can't perform the action. MOM can't pick that up. It's [the application] failing from the perspective that the user can't do what they want. With a traditional failure, the system crashes and operations management can pick that up."

For the management of packaged applications, Harzog said Microsoft "has a great strategy," making it the responsibility of the application vendors to build management packs for MOM. The area of custom applications is where opportunity lies for vendors.

Baltimore-based AVIcode Inc., for example, through a partnership with Microsoft, offers the Operations Editon of its AVIcode .NET Management Pack as a free download at the Microsoft site. The Operations Edition provides a real-time consolidated view of all applications featuring simple health status indicators within the MOM 2005 Operator Console. It also identifies faulty application components and performance hotspots, as well as manual or automatic routing of alert notifications to the appropriate application support team. AVIcode also offers a more robust Enterprise Edition for purchase.

While AVIcode focuses on the .NET performance space, vendors from the J2EE market are also moving into the .NET area. Quest, for example, has an OEM agreement with AVIcode and recently rolled out two .NET application management solutions based on AVIcode's technology: the Quest Management Pack for .NET for MOM 2005, and Foglight for .NET, which expands Quest's Foglight portfolio of monitoring and management products to .NET applications. Both products are integrated with Microsoft Visual Studio and both generate reports summarizing availability hotspots.

"We identified AVIcode as a company with unique differentiators in the market," Stover said. "One thing that was appealing is AVIcode is a best-of-breed .NET management company. A lot of companies came from a Java background and put a .NET face on the product. That's OK, but it can sometimes miss the mark."

Today, organizations with both Java and .NET applications would need to use two different versions of Foglight, Stover said, but Quest's next-generation application management platform, codenamed Catalyst, "will provide seamless integration for managing both .NET and Java applications."

For its part, Compuware offers Vantage Analyzer, a single monitoring and performance analysis solution for J2EE and .NET application platforms in production environments. Vantage Analyzer is part of Compuware's Vantage solution suite, which also includes components for end-user experience monitoring, server monitoring, network monitoring, application performance troubleshooting, network capacity planning, application performance management reporting and broadband service monitoring/performance analysis.

Instrumenting the browser

Symantec Corp., through its acquisition of Veritas, addresses the .NET space with its Symantec i³ for .NET. The product allows users to drill down into the .NET tier. It breaks down response time into work time, method invocation time and database invocation time. i³ measures and understands response-time contributions from ASP.NET, ADO.NET, Web services, XML, Windows forms, .NET remoting and more. It also archives and reviews historical performance data. Symantec also offers i³ for J2EE, as well as versions for Oracle, PeopleSoft, SAP and Siebel applications.

Another vendor in this space is Symphoniq with its TrueView product suite. TrueView provides information on end-user response times, browser-level performance, network latency, server performance and J2EE and .NET diagnostics, down to the individual method call or SQL query.

According to Symphoniq's Wong, TrueView takes a different approach than other tools by dynamically instrumenting the browser. "You don't have to download an agent. This is completely nonintrusive to the end users and development folks. We provide you with real user information, not synthetic information; you don't have to develop a script. The other differentiator is, we take an end-to-end approach. You can relate any problem from the user back through the database, the [middleware] tiers, the network layer, the application platform, with one single UI."

For all the vendors in this space, the goal is to better tune applications while minimizing the burden on developers. "There are ramifications if [developers] are debugging rather than adding value to the business," said Quest's Stover. "We enable IT operations staff to support applications better by giving them more information. Once developers do get involved, we provide diagnostic information so they have to spend less time [fixing a problem]."

However, Symantec's Rob Greer, director of product marketing-APM, said that while the vision is to enable non-experts to do the tuning, developers will still need to be tapped for help. "I think [that need] will never go away--to make a modification in code base still requires somebody who knows how to use Visual Studio."

Authors

Colleen Frye is a contributing writer for TheServerSide.NET.

News | Blogs | Discussions | Tech talks | White Papers | Downloads | Articles | Media kit | About
All Content Copyright ©2007 TheServerSide Privacy Policy
Site Map