<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Chris Boos on Automation &#187; cmdb</title>
	<atom:link href="http://www.hcboos.net/tag/cmdb/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hcboos.net</link>
	<description>Automation, Technology and more</description>
	<lastBuildDate>Tue, 07 Sep 2010 12:24:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Input to an Automation Engine – Namespace as a Starting Point</title>
		<link>http://www.hcboos.net/2008/07/input-to-an-automation-engine-%e2%80%93-namespace-as-a-starting-point/</link>
		<comments>http://www.hcboos.net/2008/07/input-to-an-automation-engine-%e2%80%93-namespace-as-a-starting-point/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 15:23:08 +0000</pubDate>
		<dc:creator>chris</dc:creator>
				<category><![CDATA[Automation]]></category>
		<category><![CDATA[Automation Technology Architect View]]></category>
		<category><![CDATA[automation engine]]></category>
		<category><![CDATA[cmdb]]></category>
		<category><![CDATA[namespace]]></category>
		<category><![CDATA[naming convention]]></category>

		<guid isPermaLink="false">http://www.hcboos.net/?p=110</guid>
		<description><![CDATA[
			
				
			
		
I have been talking quite a bit about the technology that drives an automation engine. Actually there could be many approaches for the technology that evaluates conditions and chooses the right actions to execute. Our technology takes a &#8220;divide and conquer approach&#8221; in a very distributed system and therefore simulates the behavior of a good [...]]]></description>
			<content:encoded><![CDATA[<a class="google_buzz"  
href="http://www.google.com/reader/link?url=http://www.hcboos.net/2008/07/input-to-an-automation-engine-%e2%80%93-namespace-as-a-starting-point/&title=Input+to+an+Automation+Engine+–+Namespace+as+a+Starting+Point&srcURL=http://www.hcboos.net" target="_blank" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/www.google.com/reader/link?url=http_//www.hcboos.net/2008/07/input-to-an-automation-engine-_e2_80_93-namespace-as-a-starting-point/_title=Input+to+an+Automation+Engine+_+Namespace+as+a+Starting+Point_srcURL=http_//www.hcboos.net&amp;referer=');"><img
src="http://www.hcboos.net/wp-content/plugins/google-buzz-button-for-wordpress/images/google-buzz.png" alt="Google Buzz" /></a><div class="tweetmeme_button" style="float: left; margin-left: 10px;margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.hcboos.net%2F2008%2F07%2Finput-to-an-automation-engine-%25e2%2580%2593-namespace-as-a-starting-point%2F" onclick="pageTracker._trackPageview('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.hcboos.net_2F2008_2F07_2Finput-to-an-automation-engine-_25e2_2580_2593-namespace-as-a-starting-point_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.hcboos.net%2F2008%2F07%2Finput-to-an-automation-engine-%25e2%2580%2593-namespace-as-a-starting-point%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>I have been talking quite a bit about the technology that drives an automation engine. Actually there could be many approaches for the technology that evaluates conditions and chooses the right actions to execute. Our technology takes a &#8220;<em>divide and conquer approach</em>&#8221; in a very distributed system and therefore simulates the behavior of a good human administrator. Other technologies take a &#8220;<em>drill-down</em>&#8221; or &#8220;<em>boil-up</em>&#8221; approach. All the technologies produce automation results and normally they are used for special tasks. E.g. a drill-down approach is focused on a straight forward root cause analysis approach.</p>
<p>Apart from all these technologies and very important backend decision the question of what goes into an automation engine is paramount to the actual results of automation. I have written a blog entry on the <a href="http://www.hcboos.net/2008/04/io-scheme-of-an-automation-engine-%E2%80%93-or-the-importance-of-having-a-correct-it-model/" target="_blank">basic IO model of an automation engine</a> emphasizing this point.  As you may remember I proposed two different streams of preliminary input data to the automation engine. First there is the model data that build up the space automation is to take place within and second there is the monitoring data representing the actual condition of each node in the model. These two basic data streams are evaluated by the rules engine.</p>
<p>The data streams have to fulfill certain pre conditions in order to produce proper automation output.  I will talk about the attributes of the model data stream in this article in more detail. The monitoring data stream holds either event driven or time series data. Finding a way to normalize this stream so a rule can evaluate monitoring data at any given point in time will be the contents of an entry here soon.</p>
<p>The IT model is described as a representation of the interdependencies between IT entities or in a ITIL way of speaking between configuration items. There are a lot approaches towards building such a model. Depending on the approach the model has a different number of layers and dimensions as well as different kinds of relations between its nodes. Just like an up to date model is key to automation as well as to orderly IT processes, the complexity and accuracy of the model will have to compromise with its maintainability. Many vendors are trying to reduce this need to compromise by building auto discovery solutions such as IBM&#8217;s TADDM. Still the complexity of the model is proportional to the user acceptance of every process and technology based upon this model.</p>
<p>Behind the model of interdependencies are the nodes that are interdependent. And these nodes have to describe IT entities using meta-information. This meta information is put down into attributes and these attributes can either save the world or be the cause of all evil.</p>
<p>Therefore building the actual values for the attributes should be worth some thought. Surely there are simple attributes like HOSTNAME or the like and we do not have to think much about it. But yet a simple attribute such as OS can be a bigger challenge than would be expected. When you simply assign &#8220;Windows&#8221; or &#8220;Linux&#8221; to OS, then you will only be able to match this exact system when building conditions for automation. When you assign something like &#8220;server.windows.2003&#8243; where the first part describes the OS usage, the second the OS family and the third the actual system you can match other windows servers by building a condition like &#8220;server.windows ..*&#8221; or you will be able to select all  Linux systems (regardless of desktop or server) by building a condition like &#8220;.*.linux..*&#8221;.</p>
<p>Maybe this little example shows the power of building up proper systems for name spacing. So what kind of system is appropriate for automation? A simple &#8220;name&#8221; solution (like the first example) is not good for anything but a quick and dirty test of an automation engine algorithm. The second approach shown above (a tree like structure) is very powerful and very close to XML (which most people use to declare structured data these days). These tree like structures are good for expression matching and therefore good as an input stream to automation engines. When using these structures you have to build up a clear understanding of the trees to use first. As you can see from many discussions (one of the most competent between <a title="Van Wiles" onclick="pageTracker._trackPageview('/outgoing/talk.bmc.com/blogs/blog-wiles/van-wiles/?referer=');pageTracker._trackPageview('/outgoing/talk.bmc.com/blogs/blog-wiles/van-wiles/?referer=http://www.hcboos.net/wp-admin/post.php?action=edit&amp;post=110&amp;message=1&amp;_wp_original_http_referer=http%3A%2F%2Fwww.hcboos.net%2Fwp-admin%2Fedit.php');pageTracker._trackPageview('/outgoing/talk.bmc.com/blogs/blog-wiles/van-wiles/?referer=http://www.hcboos.net/wp-admin/post.php?action=edit&amp;post=110&amp;message=1&amp;_wp_original_http_referer=http%3A%2F%2Fwww.hcboos.net%2Fwp-admin%2Fedit.php');pageTracker._trackPageview('/outgoing/talk.bmc.com/blogs/blog-wiles/van-wiles/?referer=http://www.hcboos.net/wp-admin/post.php?action=edit&amp;post=110');" href="http://talk.bmc.com/blogs/blog-wiles/van-wiles/" target="_blank">Van Wiles </a>and <a title="William Vambenepe" onclick="pageTracker._trackPageview('/outgoing/stage.vambenepe.com/archives/212?referer=');pageTracker._trackPageview('/outgoing/stage.vambenepe.com/archives/212?referer=http://www.hcboos.net/wp-admin/post.php?action=edit&amp;post=110&amp;message=1&amp;_wp_original_http_referer=http%3A%2F%2Fwww.hcboos.net%2Fwp-admin%2Fedit.php');pageTracker._trackPageview('/outgoing/stage.vambenepe.com/archives/212?referer=http://www.hcboos.net/wp-admin/post.php?action=edit&amp;post=110&amp;message=1&amp;_wp_original_http_referer=http%3A%2F%2Fwww.hcboos.net%2Fwp-admin%2Fedit.php');pageTracker._trackPageview('/outgoing/stage.vambenepe.com/archives/212?referer=http://www.hcboos.net/wp-admin/post.php?action=edit&amp;post=110');" href="http://stage.vambenepe.com/archives/212 " target="_blank">William Vambenepe</a>) the problem of agreeing to applicable and technically usable naming conventions is still up in the air even though it can be one of the major causes for CMDB projects failing and definitely has major impact on any automation engine. Each vendor has their own naming conventions and definitions eloquently elaborated, but unfortunately no one has looked upon the problem from higher ground. The closest I have found so far is a chapter in the book <a title="Implementing ITIL Configuration Management" onclick="pageTracker._trackPageview('/outgoing/www.amazon.de/Implementing-Configuration-Management-Larry_-Klosterboer/dp/toc/0132425939?referer=');pageTracker._trackPageview('/outgoing/www.amazon.de/Implementing-Configuration-Management-Larry_-Klosterboer/dp/toc/0132425939?referer=http://www.hcboos.net/wp-admin/post.php?action=edit&amp;post=110&amp;message=1&amp;_wp_original_http_referer=http%3A%2F%2Fwww.hcboos.net%2Fwp-admin%2Fedit.php');pageTracker._trackPageview('/outgoing/www.amazon.de/Implementing-Configuration-Management-Larry_-Klosterboer/dp/toc/0132425939?referer=http://www.hcboos.net/wp-admin/post.php?action=edit&amp;post=110&amp;message=1&amp;_wp_original_http_referer=http%3A%2F%2Fwww.hcboos.net%2Fwp-admin%2Fedit.php');pageTracker._trackPageview('/outgoing/www.amazon.de/Implementing-Configuration-Management-Larry_-Klosterboer/dp/toc/0132425939?referer=http://www.hcboos.net/wp-admin/post.php?action=edit&amp;post=110');" href="http://www.amazon.de/Implementing-Configuration-Management-Larry -Klosterboer/dp/toc/0132425939" target="_blank">Implementing ITIL Configuration Management </a>by Larry Klosterboer.</p>
<p>I have had many encounters with strange approaches towards the issue of naming conventions and namespace  and therefore made sure that our algorithms can work with any kind of namespace (with varying degrees of performance). If you want to &#8220;do it right&#8221; I would strongly suggest to stick to the following principles when building up your personal CMDB or model of interdependencies:</p>
<ol>
<li> If you are willing to attach yourself to a vendor (not just for the CMDB, but most products delivering towards the ITIL processes), stick with the naming conventions of this vendor. The guys usually have put some thought into them. If this is not possible for you (either because you strategically have to place large vendors against each other, because you like your software zoo or just because&#8230;) completely build up your own space.</li>
<li>Use a treelike structure for everything and make this tree structure fixed. Meaning that each depth level in the tree always correlates to the same sub attribute. This may mean that you will have to &#8220;fill&#8221; some levels in the tree for some nodes (like &#8220;windows.windows.2003&#8243;). This will save you from extensive misinterpretation by people who do not use your namespace everyday.</li>
<li>Do not include versions into the tree-structured attributes. Versions are a secondary decision criteria and are used AFTER you know what you are dealing with. Not just our automation engine does use different parts of a rule but still the same rule for different versions of the same environment, many other tools do &#8211; therefore performance increases when you keep versions separately.</li>
<li>Do not &#8220;outperform&#8221; yourself when building or using naming conventions. In any case (using a vendor´s approach (who has to be very flexible) or your own (you may want to do it scientifically tight)) only fill in or use the attributes and sub attributes that make sense for the task at hand. If you stick to the proper structure you can always enter additional data later on (as you need it). Data in place has to be of some use, as it just by being there creates costs).</li>
</ol>
<p>Just by sticking to these (1. and 4. being the most important to bracket things up) you can make sure that your IT model is easily understood, has low maintenance cost and can be used for something innovative like automation right away.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hcboos.net/2008/07/input-to-an-automation-engine-%e2%80%93-namespace-as-a-starting-point/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A CMDB that can deliver the model</title>
		<link>http://www.hcboos.net/2008/04/a-cmdb-that-can-deliver-the-model/</link>
		<comments>http://www.hcboos.net/2008/04/a-cmdb-that-can-deliver-the-model/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 22:07:39 +0000</pubDate>
		<dc:creator>chris</dc:creator>
				<category><![CDATA[Automation]]></category>
		<category><![CDATA[Automation Technology Deep Insight]]></category>
		<category><![CDATA[automation engine]]></category>
		<category><![CDATA[cmdb]]></category>
		<category><![CDATA[it model]]></category>
		<category><![CDATA[tivoli]]></category>
		<category><![CDATA[tivoli ccmdb]]></category>

		<guid isPermaLink="false">http://www.hcboos.net/?p=48</guid>
		<description><![CDATA[
			
				
			
		
As we are not really consultants for modeling IT infrastructure, we are always looking for a good way to minimize our manual effort when installing our automation engine, I actually thought it should be easy to load the necessary M-A-R-S information out of any CMDB, but so far that has proven much more difficult than [...]]]></description>
			<content:encoded><![CDATA[<a class="google_buzz"  
href="http://www.google.com/reader/link?url=http://www.hcboos.net/2008/04/a-cmdb-that-can-deliver-the-model/&title=A+CMDB+that+can+deliver+the+model&srcURL=http://www.hcboos.net" target="_blank" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/www.google.com/reader/link?url=http_//www.hcboos.net/2008/04/a-cmdb-that-can-deliver-the-model/_title=A+CMDB+that+can+deliver+the+model_srcURL=http_//www.hcboos.net&amp;referer=');"><img
src="http://www.hcboos.net/wp-content/plugins/google-buzz-button-for-wordpress/images/google-buzz.png" alt="Google Buzz" /></a><div class="tweetmeme_button" style="float: left; margin-left: 10px;margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.hcboos.net%2F2008%2F04%2Fa-cmdb-that-can-deliver-the-model%2F" onclick="pageTracker._trackPageview('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.hcboos.net_2F2008_2F04_2Fa-cmdb-that-can-deliver-the-model_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.hcboos.net%2F2008%2F04%2Fa-cmdb-that-can-deliver-the-model%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>As we are not really consultants for modeling IT infrastructure, we are always looking for a good way to minimize our manual effort when installing our automation engine, I actually thought it should be easy to load the necessary M-A-R-S information out of any CMDB, but so far that has proven much more difficult than expected. Most CMDBs we have looked at, did either not supply the needed relationship and interdependency data or did not contain the static node information we need to bind rules. BUT yesterday we had a workshop at the <a title="IBM Briefing Center Mainz" href="http://www-05.ibm.com/de/events/centers/pdf/ebc_mainz.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www-05.ibm.com/de/events/centers/pdf/ebc_mainz.pdf?referer=');">IBM briefing center in Mainz </a>to take a look at the IBM CCMDB. And tell you what: It looks like we found a CMDB that actually contains all the data we need to load the IT interdependency model. Even if some organizations keep attributes we need for rule binding in excel sheets or other strange data sources we can load them off the IBM CCMDB through its federation technology.</p>
<p>But that is not the whole story. We were quite exuberant about the depth of relationship and interdependencies stored in the CMDB, but it really got amazing when we saw in an actual environment, that most of the interdependencies were detected automatically. Someone at IBM actually did the work of modeling quite some ssh connections and scripts to pull this information out of netstat and other system calls. Well going though firewalls without losing the network angle seems to be a difficulty that means actual real time detection of different zones of trust is not really possible, but what we are getting out here is much better than anything we have seen before. It will save us about 80% time on implementing automation for highly complex applications. Also the time our customers need to maintain the model in place while they change their IT landscape is probably greatly reduced. We will look into creating a persistent interface to the IBM CCMDB and while we are at it to their event bus and execution facilities as well.</p>
<p>You know my comments on other CMDBs and our difficulties of reading anything more than SML out of them. Normally I am quite taken aback and don´t say much, but this time I am really happy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hcboos.net/2008/04/a-cmdb-that-can-deliver-the-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
