270 likes | 398 Views
Making Your Applications Manageable. Wojtek (Voytek) Kozaczynski Principal SDE 2-027. Osama Sajid Senior Program Manager. Agenda slide. Where application == Distributed cloud application || Enterprise application. Manageability. Why does it matter?. Dictionary defintion. MANAGEABLE.
E N D
Making Your Applications Manageable Wojtek (Voytek) Kozaczynski Principal SDE 2-027 Osama Sajid Senior Program Manager
Agenda slide Where application == Distributed cloud application || Enterprise application
Manageability • Why does it matter?
Dictionary defintion • MANAGEABLE • : capable of being managed • — man·age·abil·i·ty \ˌma-ni-jə-ˈbi-lə-tē\ noun • — man·age·able·ness \ˈma-ni-jə-bəl-nəs\ noun • — man·age·ably \-blē\ adverb
How to make software manageable • Windows Management Framework
The N x M Problem IT Pro IT Developer Solution Developer Disk Storage Exchange Devices Managed Objects …
The Solution Windows Management Framework IT Pro IT Developer Solution Developer WMF Disk Storage Exchange Devices Managed Objects…
The Solution Maximizing the value of standards IT Pro IT Developer Solution Developer Standard APIs (MIClient, PowerShell, OData) WMF Standard Protocols (WS-Man, REST, HTTP, PSRP) Standard Models (CIM Schema, SMI-S) Disk Storage Exchange Devices Managed Objects
Big(ger) Picture Management Application ETW Events CIM Indications ELS WMI Indication Provider WMI Instance Provider ETW Application
Configuration and State Management • Write WMI provider to expose configuration settings and management operations PowerShell ETW Events CIM Indications WMI Indication Provider WMI Instance Provider ELS ETW Application
Writing WMI Provider Design • MOF Signature • From DMTF Standard • Custom MOF Development • Skeleton Code • C or C++ • Business Logic • PS Semantics Compile Register with WMI Setup Runtime Invoke from any WMI client Cmdlet Execution
Demo • Configuration and State Management using WMI
Monitoring System State : WMI Indications • Generate WMI indications when state changes • More scalable than client ‘polling’ for state change PowerShell ETW Events CIM Indications WMI Indication Provider WMI Instance Provider ELS ETW Application
Demo • Monitoring System State using WMI Indications
Instrumenting for monitoring Using ETW • Make application generate events • Log events for analysis PowerShell ETW Events CIM Indications WMI Indication Provider WMI Instance Provider ELS ETW Application
Demo • Using ETW Logging Windows Events System.Dagnostics.Tracing.EventSource PerfView
Anatomy of ETW Management App/Tool EnableCallback ETW Session Your Application EnableTrace (provider, mask, …) EventDeliveryCallback EventRegister EventWrite ETW Windows Kernel Per-session Event Buffer
Demo Recap • Using ETW
Manageability for non-Windows • Open Management Infrastructure (OMI)
Standards-based interoperability PowerShell non-Windows Windows v1 Provider MI Provider MI Client API v1 Provider MI Provider Classical Provider MI Provider .NET MI API any device OMI WMI Native MI API WS-Man Protocol Handler WS-Man Protocol Handler WS-Man ProtocolHandler WS-Man Protocol Handler WS-Man
Resources • WMI SDK sample • http://code.msdn.microsoft.com/Management-Infrastructure-79fb414f • Windows Events • http://msdn.microsoft.com/en-us/library/windows/desktop/aa964766(v=vs.85).aspx • System.Diagnostics.Tracing.EventSource • http://msdn.microsoft.com/en-us/library/system.diagnostics.tracing.eventsource.aspx • WMI API documentation • http://msdn.microsoft.com/en-us/library/windows/desktop/jj152383(v=vs.85).aspx • WMI Blog • http://blogs.msdn.com/b/wmi/ • WMF 3.0 download • http://www.microsoft.com/en-us/download/details.aspx?id=34595 • OMI download • http://www.opengroup.org/software/omi
Resources • Follow us on Twitter @WindowsAzure • Get Started: www.windowsazure.com/build Please submit session evals on the Build Windows 8 App or at http://aka.ms/BuildSessions