Today was the first conference day for me at mms2006. Yesterday, it was the analyst marathon, which was quite the fire-hose.
Reflecting back on today, the single thread running through it for me were the low-level protocols and systems used for systems management: our old friend SNMP, perfmon, WMI, and the new contender, WS-Management.
The Trusty Protocols
These low level protocols are used as the delivery mechanism for getting raw data from the target devices into your systems management application. For example, if you want to remotely query the event log, searching for SQLServer, for example, shutting down, on all your DB Windows boxes, you could use WMI to query the boxes. Perfmon can be used to pull "counter" data like CPU load, free memory, or disks.
SNMP, of course, is the grand-daddy of systems management protocols: it's funky in that it's based on ASN.1, uses UDP, and MIBs. It's not over-stating it to say that SNMP embodies everything that the plain-text/HTTP/XML/OO mind-set is against. But, SNMP is beyond mature: and from that status comes it's perfection. It just works. Yes, as you can tell, I have some weird romance with SNMP. (I must admit, I haven't ever done actual SNMP implementations, I've just used libraries and command lines.)
I've worked with all of those protocols to varying degrees, both while I was at BMC working on PATROL Express/PATROL/BMC Performance Manager, and on those sad nights when I'd try to hack together my own private SNMP mega-platform. (One day!) Each of them has their problems, but they seem to work for a parameter-based approach to monitoring. WMI and SNMP have management functionality as well, e.g., the ability to re-set a service (WMI) or write a configuration setting (SNMP). I actually don't know/remember if perfmon has management.
WS-Management
Vista adds a new protocol
WS-Management. If I understood the diagrams correctly in Vishwa Kumbalimutt's presentation, "New Remote Management Capabilities in Vista," the management sub-system in Vista uses WS-Management for it's inner-workings or, at least, as the primary
interface into it's inner-workings. Of course, there's a Microsoft branded name of WS-Management as used in Vista: Windows Remote Management, or WinRM.
About a month ago, I got in a discussion with another systems management vendor about the adoption of systems management standards like WS-Management and WSDM. I was quite dismissive of them getting to large of a hold. I usually give a jaundiced eye to anything in the WS-* stack, but I'm slowly warming up to the idea of WS-Management.
At least, it warrants further investigation. What I'd really like is to talk with developers, sysadmins, and other who've actually been using it: reading specs doesn't go to far. It'd be great to talk with Microsoft people more too: hopefully I can track some of them down tomorrow.
That slightly less cool perspective on "heavy" systems management standards aside, I'm still not too worried about "the classic" protocols being displaced. Unless Microsoft back-ports the WS-Management stack to Win2000 and XP, it'll be many years before WS-Management is as ubiquitous as SNMP, perfmon, and WMI. There are also people -- Intel -- who're building it into their hardware.
But still, these are all green-field: only new things. As SNMP shows, a systems management protocol doesn't "win" be being the best, rational, or usable. Instead it succeeds by being ubiquitous. Based on the vibe I got yesterday about Microsoft wanting homogenous over heterogeneous systems management, my fear is that going full hog on the ubiquitous route won't appeal to Microsoft, and we'll just see WS-Management in Vista. Instead, what I'd like to see are mini WS-Management stacks that could be freely downloaded and installed on any supported Windows version.
Hell, there might be such a thing available from Microsoft, another vendor, or even an OSS project. But, even if there were, I haven't heard from Microsoft that they'd actively endorse people using it.
Big Bang Releases
Which pulls all the way to an abstracter point that many people, including
Jon Collins and I, have been discussing of late: the notion of major operating system (like Windows) releases is starting to get kind of stodgy. There are two issues:
People don't buy OS versions. They either pirate them, or, more likely, just get a new OS when they get a new machine.
Jon has a great theory about a new layer that's emerging above the operating and applications layer -- a sort of participatory or community layer. It's like the idea of the web as a platform, but a bit different. Think more TiVo, myspace, and myspace phones. I'm not going to steal his idea (outright at least), but the upshot is that users may not care about the OS too much. More importantly, vendors who sell into this new layer may abstract away
having to care about the OS: the old Java play, but with consumer applications as the medium instead of development platforms.
So, as we saw with the gradual -- versus all at once like with Win95 -- migration to XP, people are not going out in droves to upgrade Windows.
Piggy-backing on OS Upgrades
Why mention all this in the context of Microsoft systems management? Because many of the monitoring and management capabilities are tightly coupled -- at least road-map, perhaps not technically...? -- to Vista and OS releases. It seems like that approach may not fly long, or even medium term, as the importance of OS rev'ing decreases. Tightly coupling your systems management stack to your OS, or even application, stack easily breaks backwards compatibility. This is the whole issue of back-porting WS-Management to achieve ubiquity.
Of course, to equivocate back to the original point: I got that upgrade when I bought a new PowerBook, not because went out and bought the shrink-wrapped Tiger upgrade. In the case of piggy-backing WS-Management deployment on Vista, the rule is
"depending on big bangs can cause big problems."
Should You Use WS-Management?
When it comes to other systems management vendors who'll be treating the Microsoft management stack as just another source to pull data from (instead of
the alpha and omega as Microsoft would like to see it), the question is: should you start putting WS-Management into your agents, service monitors, etc. now, wait, or not even pay attention to it?
First, if you're like me (genuinely interested in systems management), taking a look at it is recommended. Second, if Microsoft is doing to back-port WS-Management (perhaps deploying it as a service pack) to non-Vista Windows installs, then you'd definitly need to start baking it into your platforms.
Otherwise -- if Vista will be the only delivery mechanism for populating WS-Management into Windows-land...well, in that case I wouldn't stress too much about: there'll be plenty of time to sort out what to do once Vista is released. Instead of spending that time focusing on systems management's guts (protocols, parameters, and management), I'd spend it on systems management's brains (
lessconfig,
reports & dashboards, and ITIL implementation/mapping).
To be clear, this says nothing about the technical merits of WS-Management, just (a.) the fact that ubiquity is key for the success of a systems management protocol, and, (b.) it's not too clear whether WS-Management will be ubiquitous enough to put at the top of the backlog, esp. if you and your developers haven't even cracked the spec yet.