Presentation is loading. Please wait.

Presentation is loading. Please wait.

Design for Operations Building Manageable Enterprise Applications for Windows Graham Elliott Architectural Technology Specialist, Microsoft Australia

Similar presentations

Presentation on theme: "Design for Operations Building Manageable Enterprise Applications for Windows Graham Elliott Architectural Technology Specialist, Microsoft Australia"— Presentation transcript:

1 Design for Operations Building Manageable Enterprise Applications for Windows Graham Elliott Architectural Technology Specialist, Microsoft Australia

2 App Code App Code Energy And Entropy App Code Admin View Admin View Admin View End-user: values UNIQUENESS Administrator: values SIMILARITY User View User View User View Management features are a way to present a homogenous view of things in a heterogeneous environment App logic contributes to both user view and admin view.

3 Monitoring Server Router/ Firewall 100 Mbps Switch Web Server 4 Web Server 3 Web Server 2 Web Server 1 Order Processing Server (with message queue, payment component, and SMTP) Admin Server (with Domain Controller & DNS) Database Server 1 Disk Array Database Server 2 Active Directory Domain Controller (with DNS) Infrastructure Architect System Administrator Developer Tester SystemArchitect Business Stakeholder IT Manager Importance & Challenges “Hard-2-Manage” Applications: –Increase Operating Costs –Lower Agility, Increase Complexity –Increase Support Response Times –Unpredictable Behavior “Easy-2-Manage” Applications: –Reduce Operating Costs –Increase Agility, Reduce Complexity –Reduce Support Response Times –Predictive Behavior Improves User Confidence Competitive Advantage

4 Designing for Operations Design MOM Admin Console Health Model Designer Custom Tools Visual Studio Designers Deployment Validation Health Model Datacenter Model Application Models Build Events Performance Counters Instrumented Application Configuration WMI Files Group Policy Deploy SMS MSI Installer Custom / Other Operate SMS MOM Event Viewer Perf Mon WMI Tools Scripting MMC Feedback Design BuildDeploy Operate

5 Design Health / Management Modelling –Design for YOUR operations Configuration Models Task Models Health Models –Microsoft Management Model Designer Visual Studio 2005 Team System Distributed System Designers –System Definition Model –Built-in Designers Design BuildDeploy Operate

6 Health Modelling Documents how to detect / verify the operational state of an application & how to resolve problems Defines what it means for a system to be healthy (operating normally) or unhealthy (degraded state or not working) Defines states / transitions Capture system events and instrumentation Once in place, mgt. is done through the model Online Degraded Failed Offline StoppedStarted Problem Detected Recovered Successfully Stopped Cannot Diagnose Failed Cannot Recover All Processes Shut Down / Killed

7 How to Build a Health Model Identify Managed Entities Create Logical Hierarchy Identify the Aspects Define Detectors Define Verifiers Define Diagnosers Define Resolvers Create Rollup Monitors for like-category aspects Validate / score, export MOM packs, instrument app

8 Build Implement the Health Model –Application Instrumentation and Configuration Performance Counters Windows Eventing and Tracing WMI and WS-Management Enterprise Library –Operations Friendly Interface via MMC –MOM Management Packs Design BuildDeploy Operate

9 Performance Counters What are Performance Counters? –Numerical counters and performance tools built into the Windows Operating System –Provide statistical real-time performance data Why use Performance Counters? –Measure application performance Requests / Sec, Response Time, No. Threads, Queue Length etc. Identifying application problems Providing SLA metrics

10 Implementing Counters in.NET Implement counters based upon the Health Model Create an instance of PerformanceCounter class CategoryName, CounterName, InstanceName or MachineName Provide Data using IncrementBy, Increment, Decrement or RawValue –Increment, IncrementBy and Decrement use interlocks (Thread Safe) –Use RawValue for performance (x5) Requires PerformanceCounterPermission to run –.NET 1.0/1.1 requires full trust Create a custom installer to install the counters –MSI or InstallUtil

11 NT Eventing What is Eventing? –Mechanism to say “something interesting has happened” Administrative Events - Used by IT Operations Staff Operational Events - Used by monitoring tools Debug and Tracing Events - Used only by developers –Windows Event Logs Application (IT ops), System, Security (audit) OR custom (app logs) Why use Eventing? –Indicate state changes from the Health Model –Tell OPERATIONS when and what has happened –Events logged to a well know place (event log) with built in viewer Broad OS Support (Not Win98 or WinME)

12 Implementing Eventing in.NET Create Events from Health Model Register Event Source –EventLog.CreateEventSource() Write Events as Required by the Health Model –Catch exceptions –myEventLog.WriteEntry() Create a custom installer Windows Vista – Windows Eventing 6.0 –Better performance and reliability –Declarative Event Structure –Subscription services –Event forwarding within domain and through firewalls

13 Windows Mgt Instrumentation What is WMI? –Exposes Configuration / Management data and tasks to the OS Instrumentation (get/set/invoke), Configuration, Events, Scripting –Windows Implementation of Web Based Enterprise Management –Supports various WMI Clients and command line operations (WMIC) –Exposed to WS-Management Why use WMI? –Expose Configuration Information to the OS and Management tools –Allow Scriptable Configuration Changes –Allow Remote management –Instrument the application WMI DCOM Proxy WMI Service WMI Provider Application COM / DCOM CIM Repository WSH Script MOM COM / DCOM

14 Implementing WMI in.NET Decide which configuration to expose to WMI Create Provider class ( ) Map Existing Configuration Properties to Class Provider Attributes (get/set) Build an Installer

15 WS-Management 2 Faces of WS-Management –WS-Management: The Protocol Joint effort with AMD, BMC, Dell, Intel, Sun and WBEM Solutions to use web services protocol for interoperable management. –WS-Management: The Implementation WS-Man https CIM Repository winRM WMI

16 WS-Management: Implementation WS-Management is: –A Web Service (over HTTPS in “R2”) –An XML/SOAP-based Management Protocol –Can access most existing WMI objects –In-Band provides a richer set of capabilities than the OOB, specifically software management Microsoft Windows Server “R2” ships with the first version of WS-Management. This allows for: –Access to Hardware Instrumentation –Firewall Friendly access to Windows Instrumentation

17 Microsoft Patterns & Practices E ngineering Practices Guidance for tasks such as security, performance, test, deployment and operations Application Blocks & Libraries Code abstractions with guidance DADI A D I Patterns Known solutions to recurring problems DADI A D I Baseline BaselineArchitectures Durable starting points to begin development DADI A D I Architecture & Design Guides System-Level Architectures DADI A D I Available online:

18 Enterprise Library A library of application blocks from patterns & practices –Guidance for common enterprise development challenges –Reusable, extensible and modifiable source code Instrumentation now core –Windows Events –Performance Counters –WMI Events –Requires Installation and “Switch on”

19 Microsoft Management Console What is MMC? –Provides Common Administrator Interface in Windows –MMC 3.0 in Windows 2003 R2 (Download for XP and 2003) Managed Code Support New Action Pane Windows form hosting capability Why use MMC? –Easy way to build administrative consoles –Same technology Windows uses –Consistent management experience for administrators –Reduced Development Costs

20 Snap-in (Stand Alone or Extension) Node ViewDesc Views HTML Msg List WinForm View Action Selected Data Property Page Verbs Tree Pane Result Pane Action Pane Implementing an MMC Snap-In Property Sheet

21 Deploy: MSI What is MSI? –Windows Installer Technology Part of OS Specifies what to install not how Database of all installations Supports Self-repair and Installation roll back Why use MSI? –Windows Standard for Installing Applications –Advanced Installation Features –Multiple Installation Options Design BuildDeploy Operate

22 Windows Installer Capabilities Files & Folders File Extensions Authenticode Signatures and Strong Name Signatures Localization Registry User Interface Global Assembly Cache Custom Actions Administrative Installation Conditional Deployments

23 Windows Installer Types Merge Module –Shared by multiple applications Setup Project –Installer for Windows Based Application Web Setup Project –Installer for Web Application Cab Project –Legacy Web Browser Support Smart Device Cab Project –For Device Applications

24 MS Operations Framework Operational Guidance MOF Components –The Team Model –The Process Model –The Risk Management Discipline Design BuildDeploy Operate

25 Summary Design and Build Manageable Applications –Build a Health Model –Instrument Your Application –Create an Installer –Ensure Management Tools Can Use the Instrumentation Windows Management Tools MOM - Build a Management Pack Useful Resources – gnops.mspx – – –

26 Questions?

Download ppt "Design for Operations Building Manageable Enterprise Applications for Windows Graham Elliott Architectural Technology Specialist, Microsoft Australia"

Similar presentations

Ads by Google