Hello there. Here we are at Microsoft TechEd IT Forum 2007 in Barcelona, Spain. And we've got a nice guest here. We're going to talk about some exciting stuff. Would you like to introduce yourself? Sure. I'm Barry Shilmover. I'm a Senior Program Manager in the System Center Operations Manager group. First off, for people who don't know, what is that group? What do you guys do if we start at the top and eat our way down? It's the group that owns Operations Manager. So it's the group that designs it, develops it, and checks the product tests it. So you're sort of in the development wing of things. I'm more on the program management side. More on the specifications of what the product will do rather than the actual code behind it. And then Operations Manager was formerly called MOM, right? Correct. Microsoft Operations Manager. Now it's System Center Operations Manager. The thing we were going to talk about was there's this component, and correct me if I'm wrong, in the Operations Manager world called Manager Impact. Correct. That are basically a way of extending the functionality of operating. Right. So you can think of Operations Manager as a platform. Right. Without the Management Packs, the platform really does nothing. It doesn't know how to discover SQL. It doesn't know how to discover Windows. Adding the Management Packs allows customers to start discovering other things. Because it's a platform, the technology and the tools that are used to build Management Packs by us, are available to our partners and our customers. Right. So partners can build Management Packs for things that we do not ship, like other databases or other operating system or other web server technologies. Also, customers that have custom applications can actually use those tools because they're writing the product. And the ones that are external are readily available. They can build Management Packs for their own custom built applications. Right. So if I build one that is a customer and an ingrown application, I can just simply go and write a Management Packs. How many Management Packs do you say are written outside of Microsoft? I know that for MOM 2005, I'm not sure what the numbers are, for 2007, we had well over 200 Management Packs. Right. Probably about 50 of those were Microsoft Management Packs. So there's quite a large number of third-party Management Packs up there.
2:00Right. They cover pretty much everything that the customer would have in their self. What we do is we build Management Packs for our applications. Yes. So SQL, Exchange, IAM. And those are readily available and they're shipped with the product. Plus we have a catalog online for customers to actually go and search for the specific management that they care about. And they'll link them either to the Microsoft ones if they're available or to the third-party websites. So let's say I had to build a Management Pack. Okay. What are the different components of it? So really a Management Pack is built up of two major components. There's a discovery component and then there's the monitoring. They're built, it's an XML document. You can build it using the Operations Manager Operations Console. You can also use, right now we've released, I believe it's an RC build which is the Offering Console. Or you can just use a plain XML editor. Like Notepad. Notepad. The favorite thing of the keynote. Right. Or even Visual Studio. Right, right. So you simply, the discovery part will just tell Operations Manager and the agents how to discover whatever you're trying to monitor. So if you're trying to monitor an application, how do I find the application, whether the application is installed, and what version is installed. If I'm looking at a device, you know, like I'm trying to discover a specific piece of hardware, how does I find out whether or not that piece of hardware is in the system. And it can be done in multiple ways. Right. I can look at specific files in the file system. I can look in the registry. I can write pretty much any script, whether it's a VV script or whatever, to actually go out there and try to discover that component. And once I discover it, I'll create an instance of that component. And I can associate properties and populate those properties during discovery. Right. Once I've done discovery, it goes to the second part, which is made up of smaller parts. It includes things like monitors. So actually, it's trying to get the health of the specific object I'm looking for. And within the monitor, it'll let me know what the different health states are, whether it's healthy or unhealthy, whether it's unmonitored. And then on top of that, one of the things that I can do is I can then generate alerts.
4:03The alerts will be tied back to the monitors and an alert will be thrown should the monitor switch its state. And I can also add knowledge to it, which is really the strength of operations managers, the embedded knowledge. Within that knowledge, I can say, here's what I found. Here's the problem. Here's what might have caused the problem. And here's some potential resolutions. And link to web pages on Microsoft.com or third parties. And so for SQL MPs, for example, they'll tell you to go to www.microsoft.com/sql. The other things that I can do with it, I can do things like tasks. So actually perform tasks on those objects. Looking at the SQL example, if the SQL database is taken offline, within the knowledge there'll be a link that I just simply click on, which will bring that database back online. I'd have to know what object it is. I don't have to have the permissions because the permissions are embedded within operations. Beyond that, I've got things like diagnostic and recovery tasks. So diagnostics will actually go out and get information for me after it detects the problem. Recovery will actually try to fix it. Right. So there's lots of things like that. There's different types of tasks. But in a nutshell, that's really what imagined that thing. Right. It sounds like there's discovery which finds instances and then you model, I always call them parameters, but you model the different metrics, right? Correct. And then the metrics have thresholds or alarms that if they go out of that state, something happens. Correct. So you can attach diagnostics to it. And if an alarm goes wrong and hopefully you can run a recovery or manually you can run a task or something. That's right. What's kind of the model that runs through all of that? And for example, I mean, in other worlds, in other worlds, in other management models, you know, there's the idea of the generic thing you're monitoring. And then kind of like you're saying there's an instance of that thing. Yes. And then, you know, just so forth and so on down, a hierarchy of things. Yeah. So we can build relationships within that. Right. So if you look at SQL, SQL is not just a database. It's got services and components that make up that database. Right. So there's a database engine. That database engine then hosts multiple databases. Sure. So all the discovery and the relationship is all in the discovery model.
6:05So when I discover all the instances, I also discover the relationships to other instances and other objects. And all of that is modeled on something we call the service definition model or SDM. And we've taken SDM and we're working with a working group called the service monitoring language, the service monitoring language for SML or SML. Right. So we've actually donated the SDM version 3 to that working group as a basis for SML. Right. So all of our management patterns are built on that model. And the idea is that moving forward, as more and more people build models based on that, we'll just be able to consume that. Right. So let's say we're using the database example. Right. Let's say we've discovered some things in our database. But there's some other way of discovering code or a task that we need to run. Then we have to write some custom code. Right. Something that just isn't out of the box that we can't express in SML. So, I mean, how would we go about doing that? So you can pretty much, if you can write scripts. Right. Right. We have API interfaces back into operations management. So you can simply run a script on the management server or on the agent monitoring server. Right. And then the output that you get, you simply convert to XML. And then once you convert it to XML, you can just have operations managers consume it, because it understands the model that we're giving you. Right. So, I mean, the simplest one, if you look at some of the samples that we've built, we were able to just take a file system, a directory with multiple files in it, and by discovering the names of the files and the objects within the files, the lines within the files, we could create objects. Right. And you could create a hierarchy of discovered things. You could create different levels and, you know, going across and up and down. So, pretty much if you can write a script to discover it, you can discover it. It sounds like you can shell out, if you will, or go to some script, and you just build up the model that you pass back, the SDML model or whatever. SDML. The SDM model. I'm throwing an extra L in there, right? That's okay. You build up the SDM model and you just pass it back to the discovery component of the management attack.
8:05Right. And then it takes off from there. Yep. And it just creates the object in the database. Right. It creates a relationship. So, your script will actually build all of those relationships. You're building these packs. I mean, one of the challenges of management is always scaling it up, right? Right. And are there, I mean, are there sort of guidance or tools in there to help you scaling things up so that you don't, you know, discover 10,000 elements at once and try to pass them all back to, or things at once? I don't know if there's anything like that. Okay. Okay. Built into the product right now. The author and console, I don't believe, has that. I believe that there are some documents out there to tell you about sizing for ops managers. Right. But I'm not sure about the management pack. So, once we have the management pack built, how do you package it up and deploy it? Yeah. So, when you build the management pack, really, management packs come in one of two ways. Either just signed or unsigned. Right. So, it's sealed or unsealed. And the difference is, sealed is a binary form of ops. Okay. And it really, what it does is it tells operations managers, this is a management pack that you shouldn't change. Right. So, if I build a management pack and then I give it to my administrators to use, I don't necessarily want them to go and edit the management. So, I seal it. But to get my management, once I build it in operations manager, if I do it in the admin console, I simply export it out and it exports an XML file. Right. I can then edit it with an XML editor. Okay. Or I can use the author and console to bring it in and add more information to it, more null. Right. And then once I've done that, I've got that XML file. There is a little program that ships with the product called MpSeal. And it just seals that management pack. It creates an XML file, it's a .mp file, which can then be imported by operations. And does that suck in the custom DLLs and things like that? No. So, if you've got custom DLLs, you'd have to build an installer around it that will install the DLL. Right. But you could have a headless installer that you can install whatever to install this. That's a lot of hassle. Yeah. Right.
10:05So once you upload it into operations manager, right? Operations manager takes care of sending it out to all the agents. What it will do is it will take the discovery and it will push the discovery out to all the agents. Right. The agents on the network will then run the discovery. And if they find instances, they'll start monitoring those instances. If they don't find instances, they won't. Right. Nothing to monitor, right? Right. But they will continue to run the discovery on a regular basis in case you install that application on a later date. Right. It just automatically discovers it. So if you install SQL on a brand new server that's never had SQL before, SQL just appears. Right. So we've got our management pack. And does that work all up and down? The systems manager, like in Essentials and Operations manager? It will work with Essentials and Operations manager because they do use the same core infrastructure. Right. For the monitoring center. But it's just those two products that handle the manager. Thanks a lot. That sounds like an exciting tour of management packs by me. It is. It is. Thanks. You bet.