If you need to perform Application Dependency Mapping – ADM – also called Application Dependency Planning – ADP, there are a lot of different ways you can do so. Some automatically using software, some manually using software, and some using a pen and paper and workshops. You will likely use a combination of some or all of the three approaches to achieve a successful outcome.
First the why?
Why would you want to do that and why does it matter ?
For optimal cluster design it is very important to understand mission-critical application dependencies. This helps you make smart decisions regarding workload placement and whether you should either co-locate certain VMs together on the same host, or keep them apart, to ensure best possible performance.
This is of course what DRS Affinity and Anti-Affinity rules are all about, but what about if you have a large estate with 5,000 VMs. You can’t manually document dependencies for each of them, unless you’re Superman ……
And as part of your Virtual Machine design you should always consider workload placement to ensure noisy neighbours do not interfere with critical workloads. You might also have to use either Resource Pools, Reservations, Storage I/O Control or Storage DRS as other tools to ensure critical workloads get priority and are not “interfered” with by less critical workloads.
It is often the case that this has not been carried out at all, and things are left to move around. That’s my experience. When you spend significant time studying vSphere you really understand all the inputs required to design it optimally – most are pretty common sense but it’s always been my opinion that this is why vSphere is so great. Despite workloads being thrown at it and it being grown in the most horrible organic ways, it continues to work and deliver for businesses due to robust design.
The VMware VCAP-DCD certification includes the methdology you need to learn in order to understand how to design your virtual infrastructure in the best way possible. And that blueprint and exam both contain Objectives and Tasks respectively, to understand application dependency mapping. This methodology is what VCDX is built on. In fact VCDX is the practical implementation and demonstration of competency in this approach. Here is a grab of one of the pages of VCAP-DCD blueprint. I’ve seen this get asked A LOT by people contemplating or preparing for VCAP-DCD.
Example 1: Data Locality
Let’s say you build a vSphere cluster and pay zero attention to where any of your workloads are running. It’s to be expected that the situation in this figure can arise:
So you have a situation where your applications (in this case Commvault Commserve and vCenter) are accessing a SQL Server instance by traversing the network. This really doesn’t make sense from an availability or manageability perspective. It makes more sense to keep application-database traffic local. This is a simple example but it can be more difficult when the dependencies are not obvious.
Example 2: Exchange
In this case you’re planning for Exchange 2013. By using DRS you can align CASHUB servers and Mailbox servers together to ensure load balancing and better availability for the application. This is the recommended practice by VMware and shows how DRS (and vSphere HA) can always provide a benefit when you virtualise an application.
Example 3: DR with SRM
For SRM it is critical to understand application dependencies to design protection groups. This also feeds into datastore design when using array-based replication. The bottom line is that there’s no point in failing over your Mission-critical three-tier application consisting of Web, App and DB if you can’t meet the underlying dependencies on AD and DNS.
Tip: Anyone going for VCAP-DCD this is an example of how to create an entity-relationship diagram. Pretty Simple isn’t it !!
VMware offer two tools to help you
- vCenter Infrastructure Navigator (VIN)
- Application Dependency Planner (Partner-only tool)
It’s important to say VIN or vRealize Infrastructure Navigator only works on vSphere for virtualised workloads, (I can’t figure out if it’s still part of vCenter or not)
ADP is a deep, complex product that can capture workloads via SPAN switch traffic-sniffing for non-VMware environments. So you could get a partner to use it prior to a large P2V, but the design considerations are not trivial. This is an entire exercise in itself. I’m not suggesting you still don’t need to spend time for VIN, but that it’s certainly simpler to deploy. The output still needs to be interpreted though and taken into account.
With VIN you can easily deploy it from an OVA template after downloading from myvmware.com.
You deploy it using vCenter. It creates a plugin within the Web Client only. Don’t even think about using this with the VI Client.
Before you can use it you must assign it a license. So you need the correct privileges to do this:
Once you’ve done that you need to enable Virtual Machine monitoring. Just click on the vCenter Infrastructure Navigator icon on the Home page, or get to it via the Explorer view. In the view below I already have it turned on.
One you’ve done that there are two places where you see the results. You can go to an individual VM, and Select Manage, then you will see the following map using the Application Dependencies Tab:
Pretty Neat – right !!!! And that’s within a few minutes. You can do a lot more but that’s for another post.
You can also go to the vCenter specific view of the entire estate which looks like this and let’s you save a CSV version. As a Community Comrade said yesterday, would be nice to get a more finely formatted report.
That’s about it until the next post. Thanks to Sunny Dua who has the best set of vCOps/vROps posts ever, over at http://vxpresss.blogspot.ie/ and has provided the usual level of help/feedback for questions I had related to vCOps/vROps. I was aware of it before but Sunny has confirmed that to plug VIN into vROps and monitor a full dependent stack of applications you can use this adapter:
That’s for next time…..