Welcome!

.NET Authors: Bruce Armstrong, Pat Romanski, Liz McMillan, Yeshim Deniz, Maureen O'Gara

Related Topics: .NET

.NET: Article

AVIcode's Intercept Studio Enhancing Microsoft's Dynamic Systems Initiative

Enhancing Microsoft's Dynamic Systems Initiative

As software development teams and solutions become more distributed, visibility into systems has given way to isolated pockets of component knowledge. This "silo" approach to application development, where different teams work in isolation from each other, means that developers may no longer have knowledge of, or access to, the code with which their component interacts. This results in duplication of efforts and incomplete solutions due to a lack of information sharing.

Compounding the problem is the fact that the numerous distributed components and Web services that make up these software solutions must be managed outside of the development team by IT Operations. In most cases, Operations has little access to detailed knowledge about application architecture. This information disconnect results in a lack of visibility across the enterprise, an inability to manage application availability and performance, and difficulties setting and maintaining service level agreements (SLAs).

Efforts by various companies to resolve this issue have resulted in the coining of the term "autonomic computing." Microsoft's effort in autonomic computing, for example, is called the Dynamic Systems Initiative (DSI). The main concept that underlies DSI is that architectural and operational requirements for any application must be shared within an organization. DSI will enable organizations to create dynamic models and to bridge information silos.

This can be accomplished by utilizing application models that are synchronized with actual IT solutions and infrastructure in order to make improvements in an application's "design for operations." This design for operations concept can be thought of in two components - design for deployment and design for manageability. AVIcode implements the DSI vision by focusing on an application's design for manageability.

AVIcode's Intercept Studio
AVIcode's Intercept Studio is a best-of-breed solution for monitoring applications in production and delivering, in real time, a complete root-cause analysis of any fault or performance degradation. That root-cause analysis contains all of the information needed to quickly isolate and resolve issues, including the exact blame component and a complete, reproducible test case.

Intercept Studio's ability to monitor applications and provide complete reports on application health augments existing efforts to make DSI a reality. Intercept Studio standardizes root-cause data collection and provides a method for communicating collected data to an application-support incident management system.

Intercept Studio provides a formal description of what operational information a developer needs in order to troubleshoot an application. This required information varies by application issue. For example, to debug an application-coding failure, Intercept Studio will provide a call stack with run-time values for functional parameters, object state, local function variables, and the precise line of offending source code. To debug performance degradations such as an SQL bottleneck, Intercept Studio delivers SQL statements and parameters that will help a DBA optimize queries and tune the database indexes.

AVIcode Application Health Modeling and Monitoring
Using the foundation of Intercept Studio, AVIcode has created a paradigm - AVIcode Application Health Modeling and Monitoring (AHMM) - that provides a solution for improving application manageability.

AHMM improves operational application manageability by automatically generating MOM Management Packs based on health models; by providing infrastructure for application SLA monitoring and collecting root cause information for failures and performance degradation; and by closing the loop between operations and development by integrating operational root-cause information into Visual Studio Team Foundation Server.

Figure 1 demonstrates how AHMM fits into both development and operational processes. The Microsoft Solution Framework (MSF) defines core development processes and best practices for delivering software applications. The Microsoft Operations Framework (MOF) defines operational processes for effective IT service management. AHMM is an integral part of those processes in addressing an application's design for manageability.

In order to create an appropriate solution architecture, business requirements and operational requirements must be considered. With Visual Studio 2005, architects can create an application model and map it on a datacenter infrastructure model in order to generate a deployment report that addresses potential deployment issues during design and development.

AHMM provides the infrastructure during the design and development process to create an application health model. An architect can define what is considered to be an unhealthy application state in order to enable identification of the component at fault, prioritize the severity of the fault, and classify the issue for resolution. A developer can also define what information needs to be collected for diagnostic purposes, thus giving Operations teams a standard for collecting specific root-cause information without relying on custom application instrumentation. During the release-management process, health models are used to create a MOM 2005 Management Pack. This allows for proper service monitoring and control processes to be established at the time of application deployment.

Within the MOF, many organizations rely on MOM 2005 to provide service monitoring and application control. MOM 2005 delivers an extensible architecture for monitoring operational infrastructure and collecting root-cause information based on specialized management packs.

AHMM extends MOM monitoring to custom line-of-business applications. By implementing automatically generated management packs, Network Operation Center personnel gain visibility into internal application states. The management pack collects application-specific root-cause information that is required for effective issue troubleshooting and resolution.

Health monitoring considers multiple aspects of production applications, including performance, security, connectivity, and application failure. To simplify application maintenance and support, consolidated root-cause information is forwarded into Visual Studio Team Foundation Server for performance, availability, and reliability analysis.

AHMM enables continual discovery of unhealthy application states and the collection and delivery of operational root-cause information. The approach employs agents that can attach to any .NET process, with no instrumentation required, and it collects complete root-cause information for application failures and performance-bottleneck issues. AHMM enables a proactive issues-resolution process as well as the ability to detect operational issues automatically, before they affect SLA compliance.

Example of AVIcode Health Modeling and Monitoring
A health model and monitoring system can be implemented utilizing the Distributed System Designers in Visual Studio Team Architect. These Designers allow developers to model application and logical infrastructure components, along with the communication pathways between them. These models are also synchronized with the code, so when one is modified, the other changes appropriately.

There are two key Distributed System Designers that are required to implement the health model and monitoring scenario described here:

  1. The Distributed Application Designer allows architects and developers to create a service-oriented architecture model for distributed applications. Using AVIcode's solution, developers can simply drag-and-drop an AVIcode MOM Management Pack object to the design surface and connect components. This allows developers to define what application run-time and performance information will be collected in an unhealthy application state.
  2. The Deployment Designer allows architects and developers to validate an application design against a datacenter environment and to generate a deployment report that can be used as a formal contract for deployment. When the deployment report is generated, AVIcode's Management Pack generator automatically creates a MOM Management Pack. This Management Pack utilizes AVIcode's Intercept Studio infrastructure, which is distributed by Microsoft with MOM 2005. It also provides health monitoring and gives Operations a view into application health state.
As unhealthy states are detected, root-cause information is collected by MOM and forwarded into an incident-management system. Utilizing Visual Studio's Team Foundation Server (TFS), a centralized repository is made available to all application stakeholders to share information. AVIcode's connector to TFS delivers operational feedback into a work-item subsystem, so operational issues are generated for every unique application issue. By collecting root-cause information, troubleshooting and diagnosis of operational failures and performance bottlenecks are dramatically improved.

AVIcode's Intercept Studio enables application health modeling and monitoring that furthers autonomic computing by delivering the infrastructure required to collect root-cause information, by providing a measurement of availability and performance compliance for SLAs, and by delivering operational feedback to support and development teams. These functions streamline development efforts, reduce troubleshooting and support costs, and allow development teams to focus on core business logic and new projects, rather than on instrumentation and maintenance/support activities.

More Stories By Victor Mushkatin

Victor Mushkatin is CTO of AVIcode. An expert software architect and adept business manager and leader, he has developed a variety of software components, communications libraries, and XML schemas for Internet business portals to include integration with a variety of financial systems, government systems, and communication networks. As business manager for AVIcode’s predecessor company, he was directly responsible for P and L and overall leadership of the company. It was under his management that the foundations of the current company and Intercept Studio itself were built.

Comments (3) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Microsoft .NET News Desk 10/15/05 10:28:21 AM EDT

Microsoft .NET Developer's Journal - AVIcode's Intercept Studio
As software development teams and solutions become more distributed, visibility into systems has given way to isolated pockets of component knowledge. This 'silo' approach to application development, where different teams work in isolation from each other, means that developers may no longer have knowledge of, or access to, the code with which their component interacts. This results in duplication of efforts and incomplete solutions due to a lack of information sharing.

Microsoft .NET News Desk 10/15/05 09:56:16 AM EDT

AVIcode's Intercept Studio Enhancing Microsoft's Dynamic Systems Initiative. As software development teams and solutions become more distributed, visibility into systems has given way to isolated pockets of component knowledge. This 'silo' approach to application development, where different teams work in isolation from each other, means that developers may no longer have knowledge of, or access to, the code with which their component interacts. This results in duplication of efforts and incomplete solutions due to a lack of information sharing.

Microsoft .NET News Desk 10/15/05 09:27:29 AM EDT

AVIcode's Intercept Studio Enhancing Microsoft's Dynamic Systems Initiative. As software development teams and solutions become more distributed, visibility into systems has given way to isolated pockets of component knowledge. This 'silo' approach to application development, where different teams work in isolation from each other, means that developers may no longer have knowledge of, or access to, the code with which their component interacts. This results in duplication of efforts and incomplete solutions due to a lack of information sharing.