Wednesday, June 14, 2006

The Layers of a Manageable System

In Craig McMurtry's talk, he spent most of his time on the layers of a manageable system. These layers are:
  • Instruments (Data & Control Points). These are discernable properties for ascertaining the health of the application, and various controls that can be manipulated to adjust its behavior. Configuration System, Events, Performance Counters, Logs, Traces, WMI Providers.
  • Monitoring and Manipulation Tools. Management Interfaces, Configuration Editor, Event Viewer, WS-Management, WMI Clients, MONAD Scripts and CmdLets, TraceViewer.
  • Management Model (Aspects and States:Microsoft Management Model Designer). Now given the instrumentation points that one can examine and manipulate, and given all one’s tools for accessing them … when you organize those logically so that you know how to use them to detect what states your applications are in, and how to use them to move the application from worse states into better ones … that logical organization of one’s tools and one’s knowledge of the application is called a Management Model or a Health Model.
  • Integrated Management Solution. MOM Pack can be used to implement your management model.

As an application developer or architect, it is your job to provide the instrumentation at the lowest level, and you need to ensure that instrumentation is accessible using standard tools, so that system administrators are not required to learn a whole bunch of new tricks, but can monitor and manage your application with the tools they already know. And it is also your job to capture your knowledge of how the application should work and how to keep it working in the form of a management model. Finally, it is your job to realize that management model in an integrated management solution.

Adopted from Craig's talk.

Crown Jewels of Windows Communication Foundation

Craig McMurtry gave an excellent talk on Windows Communication Foundation: Enabling Manageable Systems. In his talk, he indicated that WCF has at least four crown jewels:
  • Service model programming model.
  • Pluggable software factory architecture
  • Claims-based authorization
  • Management facilities