making your applications manageable
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
Making Your Applications Manageable
Osama SajidSenior Program Manager
Wojtek (Voytek) KozaczynskiPrincipal SDE2-027
Why manageability is important
What makes applications manageable
How to make applications manageable
Agenda slide
Where application == Distributed cloud application || Enterprise application
Why does it matter?Manageability
: 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
MANAGEABLE
Dictionary defintion
Lower TCO
Increase availability and uptime
Management can be a Key Differentiator
Why make software manageable
Three dimensions of manageability
Configuration State
MonitoringManageable locally and remotely
Windows Management Framework
How to make software manageable
The N x M Problem
IT Pro IT Developer Solution Developer
Storage Exchange DevicesDisk Managed Objects …
Windows Management FrameworkThe Solution
WMF
IT Pro IT Developer Solution Developer
Storage Exchange DevicesDisk Managed Objects…
Maximizing the value of standardsThe Solution
Standard Protocols (WS-Man, REST, HTTP, PSRP)
Standard APIs (MIClient, PowerShell, OData)
Standard Models (CIM Schema, SMI-S)
IT Pro IT Developer Solution Developer
Storage Exchange DevicesDisk Managed Objects
WM
F
Big(ger) PictureManagement Application
Application
ETW
ELSWMI IndicationProvider
WMI InstanceProvider
ETW EventsCIM Indications
Configuration and State ManagementWrite WMI provider to expose configuration settings and management operations
PowerShell
Application
ETW
ELSWMI IndicationProvider
WMI InstanceProvider
ETW EventsCIM Indications
Writing WMI ProviderMOF Signature• From DMTF Standard• Custom MOF
Skeleton Code• C or C++
Business Logic• PS Semantics Compile
Register with WMI
Cmdlet Execution
Deve
lopm
ent
Setu
pRu
ntim
eDe
sign
Invoke from any WMI client
Configuration and State Management using WMIDemo
Monitoring System State : WMI IndicationsGenerate WMI indications when state changes
More scalable than client ‘polling’ for state change
PowerShell
Application
ETW
ELSWMI IndicationProvider
WMI InstanceProvider
ETW EventsCIM Indications
Monitoring System State using WMI IndicationsDemo
Don’t invent your own mechanism, use standards.
Writing WMI providers is
easy.Support for standards ensures “Write once – manage from anywhere”.•Local or Remote•Windows or non-Windows client
WMI is well integrated with PowerShell to
provide rich experience to IT pros.
Demo Recap
Instrumenting for monitoring Using ETWMake application generate eventsLog events for analysis
PowerShell
Application
ETW
ELSWMI IndicationProvider
WMI InstanceProvider
ETW EventsCIM Indications
Using ETW LoggingDemo
Windows EventsSystem.Dagnostics.Tracing.EventSource
PerfView
Anatomy of ETW
ETW
YourApplicati
on
EventWrite
EnableCallback
ETW Session
EnableTrace (provider, mask, …) EventDeliveryCallback
Per-session Event Buffer
Management App/Tool
EventRegister
Windows Kernel
Don’t invent your own eventing mechanisms
You don’t have to use printf()
We are making event logs easy to analyze
Demo Recap
Using ETW
Open source implementation of standards-based-management•CIM and WSMAN protocol
Small footprint and
fast
API symmetry with WMI (MI
API)
Open Source• Source code available today
through The Open Group https://colaboration.opengroup.org/omi
Open Management Infrastructure (OMI)
Manageability for non-Windows
Standards-based interoperability
WS-Man Protocol Handler
WMI
WS-ManProtocol Handler
Native MI API.NET MI API
PowerShell
MI Client API v1 Providerv1 ProviderClassicalProvider
MI Provide
rMI
Provider
WS-ManProtocol Handler
OMI
MI Provide
r
WS-ManProtocol Handler
any device
Windows non-Windows
WS-Man
Configuration and State
•WMI Provider•New API and tools to make it simple
Monitoring
•WMI Indications•ETW
Standards Based
•We are investing in standards
Session Recap
ResourcesWMI SDK samplehttp://code.msdn.microsoft.com/Management-Infrastructure-79fb414fWindows Eventshttp://msdn.microsoft.com/en-us/library/windows/desktop/aa964766(v=vs.85).aspxSystem.Diagnostics.Tracing.EventSourcehttp://msdn.microsoft.com/en-us/library/system.diagnostics.tracing.eventsource.aspxWMI API documentationhttp://msdn.microsoft.com/en-us/library/windows/desktop/jj152383(v=vs.85).aspxWMI Bloghttp://blogs.msdn.com/b/wmi/WMF 3.0 downloadhttp://www.microsoft.com/en-us/download/details.aspx?id=34595OMI downloadhttp://www.opengroup.org/software/omi
• Follow us on Twitter @WindowsAzure
• Get Started: www.windowsazure.com/build
Resources
Please submit session evals on the Build Windows 8 App or at http://aka.ms/BuildSessions
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.