A Simplistic Approach to IT Dependency Modeling: M—A-R-S
Automation, Automation Technology Architect View July 23rd. 2008, 12:50pmYou have seen a number of abstract articles talking about the “interdependency model” of an IT environment that is necessary to actually automate across operational silos on this blog. Building this model actually is the main challenge in implementing automation.
I have seen customer situations, where building the dependency model was such an extensive effort, that the focus for the goal of implementing automation was completely lost. An interdependency model is supposed to answer the question “how does one entity in a IT environment depend upon or influence other objects” or “Why the ff0000;">@)!(/Q$§ doesn´t it work anymore after someone I don´t even know changed something I don´t even care about?”.
Though simple answering these questions without having a good CMDB in place and being able to query that CMDB on an expert level, leaves a long trail across an IT organization. Since these key questions are asked for every failure and should be asked for every change an interdependency model is obviously something one REALLY wants to have.
As this model is also one of the key input streams to an automation engine that actually operates IT across silo and competency boundaries we have put quite some thought into the art of modeling. Typical techies we are, our first approach was to build THE BEST of all possible models. We started to build our methodology on the basis of economic dependency models. Well, what can I say… We got a great model and maintaining it just for fun would have cost us an arm and a leg plus maintenance would never have been possible from our technical teams.
So we went back to the think tank with the preliminary assumption, that we would be willing to simplify the model – if we could produce one that could and would be maintained by the technical staff themselves (acceptance is an important factor).
We arrived at something we call the arago M-A-R-S model.
003366;">The “M” is for “Machine”
A machine (real or virtual, cloud compartment or actual operating system) is still the basic component of any IT application. Machines can be servers, network components and anything else. Administrators tasked with keeping the infrastructure alive do normally not know much about the business applications running on their “machines” but they know their machines on a first name basis. So a machine is a basic building block of IT infrastructure as well as a component very close to the technical staff. Thus the entity of a machine fulfills both our pre requirements (simple to understand and maintainable by the IT staff)
003366;">The “A” is for “Application”
An application is something that is used in a business process. Or technically speaking an application is the “thing” a “user” complains about when interfacing (talking to) the IT department. An application is therefore the basic building block from “the other side”. Where a machine is the basic building block of the technical view of IT, applications are the basic building blocks of the business view of IT.
Naturally an application uses machines or much better “-S-ervices” offered by these.
003366;">The “R” is for “Resource”
As you may imagine building up a dependency model by listing all the services offered by a number of machines and then listing all the services used by an application may leave you with very long lists. So we decided to introduce one layer of abstraction into our approach to dependency modeling. This is called the “resource” layer. A resource combines a number of services with a 100% dependency (e.g. an SAP service will never run without a database service, thus there would be an SAP resource combining the two services into one entity and thereby reducing the complexity of the dependency tree of an application).
003366;">The “S” is for “Service”
Service defines some functionality that is offered by a machine or a cluster of machines (for redundancy and availability reasons). A service in this case is an IT term that describes a simple building block of software running on a machine. A service can be anything ranging from an operating system or a network connection though a simple application such as a web server or database all the way up to an SAP system or an individually programmed piece of software. A service is something often talked about in the IT organization and usually something that has developers or vendors attached to it.
As simple as this may sound: this four-layer model allows for a real connection of all silos within technology and organization. This model can be maintained manually or – better – can be imported from a good CMDB.
Combining monitoring information with this model (i.e. hooking up monitoring and master data with the nodes of the model) is the basic input for an automated environment (also see input stream and naming convention articles on this blog). You can read the full article on “Measurement as the Prerequisite for Automation” here.
I am sure you will find other good applications for a simple model – or even better maybe you do have some suggestions on how to improve and/or further simplify this model.
3 Responses to “A Simplistic Approach to IT Dependency Modeling: M—A-R-S”
Leave a Reply
You must be logged in to post a comment.



July 24th, 2008 at 6:36 am
[...] A Simplistic Approach to IT Dependency Modeling: M—A-R-S An interdependency model is supposed to answer the question “how does one entity in a IT environment depend upon or influence other objects” [...]
July 24th, 2008 at 8:54 am
Sounds interesting, but what do you actually DO with that model? I can’t tell how well it really works until I understand your automation scenarios.
July 25th, 2008 at 4:31 pm
[...] Chris Boos on Automation » Blog Archive » A Simplistic Approach to IT Dependency Modeling: M—A-R… (tags: IT dependency modeling) Posted by justinche Filed in Digest [...]