The CMDB–The Heart of the Cloud
In this short article, Jamal Malik, one of our business solutions architects discusses why he considers the Configuration Management Database (CMDB) to be the “heart” of the cloud.
Enjoy! –Tom.
A few months back I wrote a thread around how the “Portal is the Gateway to the Cloud”,
Behind the scenes of the Portal (the Change Management Database) is really what I feel is the “Heart of a Cloud”.
Why you may ask?
Well, for starters in order to automate or orchestrate any process we have to consider change management (more specifically Standard Change Requests).
Standard Change Requests (SCR’s) are requests for changes in an environment with known outcomes. The opposite of this would be a non-Standard Change Request. Non-Standard Change Requests are much more difficult to Automate and Orchestrate because either the ask is too specific or too ambiguous and it typically requires human involvement to resolve or fulfill.
So, back to SCR’s. Because SCR’s have a known outcome, we can also build known by-products of a SCR (Virtual Machine, Mailbox, SharePoint site, etc.). The most important part of SCR’s is that they typically do not require human involvement and that is why they can be Automated/Orchestrated.
Another layer of functionality that CMDB’s provide is their ability to store relationship information between Tenants and Configuration Items (CI’s). Tenants represent a user or groups of users that have access to specific CI’s. CI’s can represent anything (Networks, Resource Pools, vLANS or Virtual Machines). Essentially anything that Tenants interact with in a computing environment. CMDB’s also store data like Quota assignment and consumption (this tenant has been assigned x Quota and is current consuming y amount of resources – enabling Chargeback).
A properly Configured CMDB will make or break a Cloud environment. Now, you may not need a very sophisticated CMDB if all you are is providing a ‘basic’ Cloud for example however once you start delving into Multi-Tenancy, moving into Platform as a Service (managing workloads) and getting into more sophisticated chargeback methods, your CMDB becomes the linchpin of the solution.
If you are curious at all about why CMDB (along with Service Delivery\Management and Orchestration) are such huge parts of Cloud Solutions I would urge you to read the following body of work:
Private Cloud Reference Architecture
Specifically focusing on this:
Private Cloud Planning Guide for Operations
Would like to hear the community’s thoughts as well.
Have a great day everyone,
Jamal Malik
Business Solutions Architect
Datacenter/Private Cloud Center of Excellence
Let us know if you have any questions or thoughts about this. Do you consider the CMDB to be the heart of the cloud? If not, what do you think of the heart of the cloud actually is? Let’s start the discussion!
Tom
Tom Shinder
tomsh@microsoft.com
Principal Knowledge Engineer, SCD iX Solutions Group
Follow me on Twitter: https://twitter.com/tshinder
Facebook: https://www.facebook.com/tshinder
Comments
Anonymous
March 14, 2013
Frankly, while I understand the goal of CMDB in the context of the private cloud, most CMDBs today can't keep up with the dynamic nature of private clouds in practice. I haven't worked with the Microsoft stack as of yet, but in other environments, things like shifting and constantly changing relationships between compute, network and storage in virtual environments (e.g. live migrations) quickly outstrips the ability of most CMDBs to discover those relationships. In addition, one of the goals of many private cloud environments, is to make provisioning on-demand resources more flexible within a particular part of the data center (e.g. less critical applications/servers). As a result, a CMDB change request process can often slow down the very benefits that a private cloud provides. I agree that in theory it would be nice if a CMDB truly enabled the private cloud, but in practice I have yet to see it.Anonymous
March 19, 2013
Thank you for the comment Darren. Just want to take a moment and hit the highlights of your response: "CMDBs today can't keep up with the dynamic nature of private clouds in practice" The importance of the CMDB is to understand and store the relational data for CI's (understanding dependencies, ownership and etc...) Once those relationships have been created the meta data around the status of resources is also important (is it online, healthy and which physical server is located on and so on). That information is stored and collected from Virtual Machine Manager and Operations Manager and can be updated within the CI within Service Manager (Microsoft's CMDB). Only key information is synchronized with the CI in the CMBD as needed (as to not overwhelm the system). "...one of the goals of many private cloud environments, is to make provisioning on-demand resources more flexible within a particular part of the data center " The 'trick' to this is to automate and orchestrate Standard Change Request. Because Standard Change Requests have a known outcome you can also 'auto-approve' requests based on capacity checks at the front end which streamline the deployment of resources (VM's, Mailboxes, User Accounts and etc...) Microsoft Services has actually built an end-to-end IaaS Solution wrapped in Change Management which delivers on this model. If you would like to see a demo of this solution please reach out to your Microsoft Rep and ask to be put in touch with your Microsoft Consulting Services Rep. You can even ask to speak to the Datacenter and Private Cloud Center of Excellence (my team) and I'll make sure you get the appropriate follow-up. Thanks again for your fantastic comment and I hope to hear from you soon.Anonymous
March 19, 2013
Thank you for the comment Darren. Just want to take a moment and hit the highlights of your response: "CMDBs today can't keep up with the dynamic nature of private clouds in practice" The importance of the CMDB is to understand and store the relational data for CI's (understanding dependencies, ownership and etc...) Once those relationships have been created the meta data around the status of resources is also important (is it online, healthy and which physical server is located on and so on). That information is stored and collected from Virtual Machine Manager and Operations Manager and can be updated within the CI within Service Manager (Microsoft's CMDB). Only key information is synchronized with the CI in the CMBD as needed (as to not overwhelm the system). "...one of the goals of many private cloud environments, is to make provisioning on-demand resources more flexible within a particular part of the data center " The 'trick' to this is to automate and orchestrate Standard Change Request. Because Standard Change Requests have a known outcome you can also 'auto-approve' requests based on capacity checks at the front end which streamline the deployment of resources (VM's, Mailboxes, User Accounts and etc...) Microsoft Services has actually built an end-to-end IaaS Solution wrapped in Change Management which delivers on this model. If you would like to see a demo of this solution please reach out to your Microsoft Rep and ask to be put in touch with your Microsoft Consulting Services Rep. You can even ask to speak to the Datacenter and Private Cloud Center of Excellence (my team) and I'll make sure you get the appropriate follow-up. Thanks again for your fantastic comment and I hope to hear from you soon.Anonymous
August 07, 2013
Good article. If i extend the point raised by Darren - CMDB today can't keep up with the dynamic nature of the private clouds.. To the point made by Jamal, I agree. You can automate the SCR using various automation tools. But thats just addresses the provisioning part. What about additional service requests. Let us take an example -
- a user uses the self service portal to request for 100 windows 2012 virtual machines.
- Since this is a SCR, this task is automated and these machines are provisioned.
- Now the moment they are provisioned, the CMDB needs to be updated with the CI and tenant information.
- If there is a lag of doing so and the user wants additional tasks to be performed on these machines, then he wont be able to raise a change request and even if he does, the operations team may not be able to perform as the CMDB will not be updated. Also the CMDB needs to be updated the moment these additional tasks are performed on these instances.