{"id":1089,"date":"2007-11-26T17:38:06","date_gmt":"2007-11-26T23:38:06","guid":{"rendered":"http:\/\/www.redmonk.com\/cote\/2007\/11\/26\/an-open-source-cmdb\/"},"modified":"2007-11-26T17:38:06","modified_gmt":"2007-11-26T23:38:06","slug":"an-open-source-cmdb","status":"publish","type":"post","link":"https:\/\/redmonk.com\/cote\/2007\/11\/26\/an-open-source-cmdb\/","title":{"rendered":"An Open Source CMDB"},"content":{"rendered":"<blockquote><p>\n&#8220;On a moment&#8217;s notice I can list every server we have that touches credit card data, and people know they can trust that information,&#8221; he says. &#8220;The biggest [hurdle] then and still is getting people to follow the process. But with results, I got a commitment from management, and then other groups such as engineering followed, and the data stays good.&#8221; <i>&#8212;<a href=\"http:\/\/www.linuxworld.com\/news\/2007\/041907-itil-byu-cmdb.html\">&#8220;University taps ITIL to build open source CMDB&#8221;<\/a><\/i>\n<\/p><\/blockquote>\n<p>At the heart of big IT management think now-a-days is the Configuration Management Database, or CMDB. The meaning of CMDB ranges from basic, to pragmatic, to vapor-ware. The idea of a CMDB is to catalog and track every thing, process, and relationships between those two. Words like &#8220;Configuration Item,&#8221; &#8220;Asset,&#8221; and &#8220;Service&#8221; are used. A more basic notion is &#8220;Asset Management&#8221; which simply tracks all the &#8220;assets&#8221; IT cares about.<\/p>\n<p>For me, all the data-sheets and fancy explanations are sort of meaningless: a CMDB is just a place to store all the junk the IT department cares about. This loose distinction separates from <a href=\"http:\/\/www.db2mag.com\/story\/showArticle.jhtml?articleID=167100925\">MDM<\/a> efforts which seek to catalog everything <i>a company<\/i> cares about. Of course, IT-types with a hankering for bigger britches would content with that nuance. Indeed, sometime soon, I reckon we&#8217;ll see CMDB people get in a turf war with MDM people industry-wide, but that&#8217;s a story for another time.<\/p>\n<p>The idea of a CMDB is enterprise software at it&#8217;s finest: it&#8217;s middleware without an implicit user-interface, has a wide-scope, means something slightly different to each user and seller, and has yet to be commoditized into freeness and ubiquity.<\/p>\n<p>And there-in lies something I&#8217;ve been thinking about since attended IBM&#8217;s Software Analyst Summit a few weeks ago: one of the Big 4 needs to open source their CMDB soon.<\/p>\n<h2>Quick Reasons Why<\/h2>\n<p>In summary, the reasons to do this are:<\/p>\n<ul>\n<li>The model expressed in CMDBs and the accompanying data standard would spread like wild-fire if community-managed correctly. There&#8217;s no good, widely used model for IT stuff at the moment. Instead we have a bunch of islands of standard alliance all based on overly-wrought SOAP-bound XML. A standard with a runtime &#8211; the open source CMDB &#8211; would have the best chance so far to finally dethrone King SNMP, the only widely successful standard for modeling IT stuff.<\/li>\n<li>With that model spread, the higher-level, higher-value tools sold by which ever vendor did it would work better. All those fancy dashboards, ITIL-driven workflow, automation, and everything else hinge on getting the boring details of plumbing done correctly, and having a widely used model instead of having to adapt to every weird computational asset out there would save a lot of time and improve quality.<\/li>\n<li>Disrupt the other 3.BMC, for one, would freak-out if there was a threat to it&#8217;s Remedy ARS based CMDB. They&#8217;d spin up all sorts of &#8220;tiger teams&#8221; (or whatever they call them). Same for HP probably, CA, and IBM.<\/li>\n<\/ul>\n<p>(Related, see my short note and the resulting reader comments on <a href=\"http:\/\/www.redmonk.com\/cote\/2007\/02\/22\/getting-giddy-with-the-cmdb-rest-cheap-spread-and-wet-cis\/\">the CMDB Federation standard effort<\/a>.)<\/p>\n<h2>Existing Open Source CMDB<\/h2>\n<p>CMDBs currently make a lot of money for the commercial companies that sell them. I know of two open source efforts in the CMDB area:<\/p>\n<ul>\n<li>Whatever they&#8217;re up to over at <a href=\"http:\/\/www.cmdb.info\/\">CMDB.info<\/a>. I&#8217;m kinda of confused about what&#8217;s going on there, but it looks like a strapping together of a several open source projects to CMDB&#8217;ize the enterprise. (I don&#8217;t mean to sound dismissive: I&#8217;m just being sort of lazy with the hope that someone will help fill me in via comments or email.)<\/li>\n<li>Zenoss&#8217; <a href=\"http:\/\/www.zenoss.com\/product\/core#cmdb\">&#8220;First Commercial Open Source CMDB<\/a>.&#8221; Zenoss is a RedMonk client, so you can take the bias as you will, but they seem to always &#8220;get&#8221; the idea of model-driven IT management which, really, is a big part o what CMDB-think is all about: if we could just model and keep track of the changing model of IT, we could manage it better.<\/li>\n<li>Others which I&#8217;ve no doubt missed. There are kinda-CMDB projects like <a href=\"http:\/\/www.ziptie.org\/\">ZipTie<\/a> that sort of fit in there, but not in the fully-dressed CMDB sense.<\/li>\n<\/ul>\n<p>An open source CMDB from one of the Big 4 would ostensibly compete with the above. But, I think that&#8217;d actually be advantageous for all of the parties, not to mention the customers out there who&#8217;d benefit from more open source choices.<\/p>\n<h2>CMDB Advantage: One Model of IT Stuff<\/h2>\n<p>The advantages a CMDB (theoretically) brings an IT management platform are:<\/p>\n<ul>\n<li>Establishing a &#8220;model&#8221; and vocabulary for describing all the junk in your IT environment. There&#8217;re always numerous ways and software products to catalog all the computers, software, and ways those computers and software are used (&#8220;services&#8221;). Instead of having 4 different products you use to manage you IT, each with it&#8217;s own way of cataloging the your IT stuff (that is, it&#8217;s own way of &#8220;modeling&#8221;), why now just have one that they all use? Or, at the very least, why not just have one <i>view<\/i> on all that mess that you use?<\/li>\n<li>You can even get all 2.0 and say that by jamming things like network cards, virtual machines, and &#8220;service that allows outside buyers to submit change to previously submitted purchase order&#8221; into pre-definied &#8220;model&#8221; or &#8220;labels&#8221; allows you to attach some semantics to the catalogs of data. I&#8217;m being very basic and loose in my use of &#8220;semantic&#8221; here: but, simply adding a user-divined label (or &#8220;tag&#8221;) to something ads a huge degree of semantics that were previously not there.<\/li>\n<li>Ideally, once you have all of your IT stuff &#8220;normalized&#8221; into one model, it&#8217;s easier for all your different IT management products to interact with and use that information. That is, a CMDB should help with integration up, down, right, and left along the stack. For example: your monitoring product keeps the status of all your IT stuff up to date in the CMDB; then your dashboard product pulls that information into it&#8217;s fancy views; and your synthetic event generation product pulls information from the CMDB to figure out if some critical process is working properly based on the individual status of all it&#8217;s components (the Oracle database that stores all the package UPC codes is up and responding quickly, etc.). Ideally, having one, centralized way of modeling IT stuff makes integrating all your tools together easier, if not possible.<\/li>\n<\/ul>\n<p>Now, CMDBs get played up as a lot more than simply a &#8220;central&#8221; point where IT stuff is modeled. But, really, that&#8217;s all they are: just a big, virtual file-cabinent to store stuff in. Things get complicated-sounding when you start modeling relationships as part of that &#8220;IT stuff,&#8221; and get seemingly bonkers when you start putting things like &#8220;business processes&#8221; or &#8220;services&#8221; in there. But just stick your mind on it being a giant filing cabinet where the different folders and pages have strings in-between then that express relationships.<\/p>\n<p>That sounds like a mess in meat-space, but I assure you, it&#8217;s the thing of programmers&#8217; dreams in cyber-space.<\/p>\n<h2>Open vs. Closed<\/h2>\n<p>From the conversations I&#8217;ve had with numerous people, the problem with their realizing this CMDB advantage comes from the closed nature of developing CMDBs. There is no standard for how things are modeling in CMDBs now &#8211; each vendor is free to do whatever they want. Behind closed doors that scheme for coming up with something as central and universal as a CMDB spells disaster. Think of how silly the Oracle DB, or any database, would be if it didn&#8217;t operate off the SQL standard. It&#8217;d be a nice database &#8211; maybe a nice, super-fun one like BerkelyDB &#8211; but it wouldn&#8217;t be as widely useful as an SQL-based relational database.<\/p>\n<p>The same applies for CMDBs: as long as the underlying data-model for CMDBs is developed behind closed doors, by single-entity teams, they&#8217;ll be less than ideal approaches.<\/p>\n<p>Part of the advantage of having a open source CMDB, then, is to get around that problem more quickly than a long, decade-plus long siege of ubiquity would handle solve the problem.<\/p>\n<p>That&#8217;s a lot of faith in open source, sure. But when it comes to a part of any software stack that&#8217;s intended to be used by every piece of software instead of just software from one vendor, I&#8217;ll go with open source over closed source all the time.<\/p>\n<h2>Then What?<\/h2>\n<p>So, where&#8217;s the money? As noted above in the quick summary, the money is in doing something with the (better) data in the (now) standardized CMDB. All of the fancy, high-level &#8220;service management&#8221; stuff you see from IT management vendors relies on having accurate data from the bare-metal to the PDF reports. Garbage in at the bottom with monitoring means garbage out at the top in dashboards.<\/p>\n<p>As a side-note, consider how poorly most IT management companies treat the monitoring people: next time you talk with them, ask them how much they spend on basic monitoring vs. &#8220;service management&#8221; and dashboards. (It&#8217;s a snarky point, but it&#8217;s a good discussion starter.)<\/p>\n<p>All this high-level stuff is actually valuable if it makes sense of all the &#8220;low-level&#8221; monitoring stuff. Imagine this scenario: you&#8217;re a mid-level (or high-level, don&#8217;t really matter) manager in charge of some chunk of IT. You have no idea how that IT works, but you know it makes your company. If it went out, you&#8217;d be in big trouble. You get all sorts of reports with red and green lights every day. You can&#8217;t make sense of the &#8220;health&#8221; of the 50 servers and 15,000 &#8220;parameters&#8221; you&#8217;re in charge of. You always have to call together a meeting of people and ask them &#8220;OK, so what they hell do we now?&#8221;<\/p>\n<p>That is, you need to use all that fancy, expensive IT management stuff to make decisions about what to do next, esp. when things are going wrong. You don&#8217;t need a bunch of <i>facts<\/i> you need <i>conclusions<\/i>: &#8220;Return process is 5 minutes behind desired time to completion: click here to add more caching servers to the cluster.&#8221;<\/p>\n<p>Now, that kinds of stuff is totally pie-in-the-sky, like rocket-cars. But, hey, maybe you can&#8217;t have a rocket-car, but we&#8217;ve got really expensive personal airplanes. There&#8217;s gotta be a market for that.<\/p>\n<p>Yanking out of the metaphor-hole, the point is: an open source CMDB would have a better chance of providing the clean, correct data, from as many sources as possible, delivered more quickly to the industry than a closed source one.<\/p>\n<p>And, like I said, it&#8217;d really piss of the other other 3 of the Big 4.<\/p>\n<p>You could imagine that others like Sun, Symantec, and others could pull it off too. Sun is always a weird opportunity in IT management: if they could bust out of the perception that they&#8217;re Solaris-centric and deliver something as attention-grabbing and low-barries as Spiceworks and Solarwinds, they&#8217;d seem to have the technology and open source gumption to do it.<\/p>\n<p>Sure, others could hijack that value. But that&#8217;s sort of the point. The more ISVs and others using a CMDB, the more standard and reliable it becomes, and the better positioned it is to serve as a foundation for higher value, like customized reporting, dashboards, event generation\/tracking, or whatever tool you use to make decisions about what to do with your IT to make your company more money.<\/p>\n<p><b>If you&#8217;re interested in new approaches to CMDB&#8217;s, you&#8217;ll probably also like <a href=\"http:\/\/www.redmonk.com\/cote\/2008\/10\/07\/mycmdb-demo\/\">this overview and demo of Managed Object&#8217;s myCMDB<\/a> &#8211; it&#8217;s like Web 2.0 applied to IT Management.<\/b><\/p>\n<p><b>Disclaimer:<\/b> Zenoss, IBM, BMC, Sun, Spiceworks, and CA are clients.<\/p>\n<p><!-- technorati tags start --><\/p>\n<p style=\"text-align:right;font-size:10px\">Technorati Tags: <a href=\"http:\/\/www.technorati.com\/tag\/cmdb\" rel=\"tag\">cmdb<\/a>, <a href=\"http:\/\/www.technorati.com\/tag\/bmc\" rel=\"tag\">bmc<\/a>, <a href=\"http:\/\/www.technorati.com\/tag\/ibm\" rel=\"tag\">ibm<\/a>, <a href=\"http:\/\/www.technorati.com\/tag\/hp\" rel=\"tag\">hp<\/a>, <a href=\"http:\/\/www.technorati.com\/tag\/ca\" rel=\"tag\">ca<\/a>, <a href=\"http:\/\/www.technorati.com\/tag\/dashboards\" rel=\"tag\">dashboards<\/a>, <a href=\"http:\/\/www.technorati.com\/tag\/conclusions\" rel=\"tag\">conclusions<\/a>, <a href=\"http:\/\/www.technorati.com\/tag\/zenoss\" rel=\"tag\">zenoss<\/a>, <a href=\"http:\/\/www.technorati.com\/tag\/cmdbf\" rel=\"tag\">cmdbf<\/a>, <a href=\"http:\/\/www.technorati.com\/tag\/modeling\" rel=\"tag\">modeling<\/a>, <a href=\"http:\/\/www.technorati.com\/tag\/spiceworks\" rel=\"tag\">spiceworks<\/a><\/p>\n<p><!-- technorati tags end --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the Big 4 should do an open source CMDB project.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,19,34],"tags":[],"class_list":["post-1089","post","type-post","status-publish","format-standard","hentry","category-enterprise-software","category-open-source","category-systems-management"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/posts\/1089","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/comments?post=1089"}],"version-history":[{"count":0,"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/posts\/1089\/revisions"}],"wp:attachment":[{"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/media?parent=1089"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/categories?post=1089"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/tags?post=1089"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}