As an Architect, you take into account many requirements when designing your VMware vSphere environment. As an Operations person, I shall not question your Architecture. I’m sure it is fast, highly available, right on budget, etc. My role is to help you prove to CIO that what you architect actually lives up to its expectation. “Plan meets Actual” is what an Architect wants, because that means your architecture delivers its promise.
The plan of the Architecture exists in some diagram and documents. It's static. The reality of the Architecture exists in Datacenter. It's live.
When proving, here are the questions we should be able to answer:
- Availability: Does the IaaS deliver the promised Availability SLA? If not, what was its actual number, when was it breached, how long, which VMs affected? For each VM, when exactly it happened and ended?
- Performance: Does the IaaS serve all its VMs well? An IaaS platform provides CPU, RAM, Disk and Network as services. If has to deliver these 4 resources when asked by each VM, 24 x 7 x 365 days a year. If not, which VMs were affected by what and when?
Those are simple questions, but are very difficult to answer. Let say you have 10,000 VMs. How do you answer that? How do you provide answer over time (e.g. monthly), proving you handle the peaks well?
To complicate matters, you need to able to answer per Business Units. Business Units A will not care about other business units. Since a Business Unit has >1 apps, you also need to answer per application. An application owner only cares about her applications.
There are a few things you need to do, so you are in the position to prove.
Step 1: Reflect the business in vSphere
Does your vCenter show all the business units? Can you show how the business is mapped into your vSphere environment? You design vSphere so Business can run on it, so where is the Business? A company is made up business units, which may have multiple departments. The structure below is a typical example.
An application typically has multiple tiers. Does your vSphere understand that?
Map the above as folders in your vCenter.
Have a naming convention that can easily separate one Application from another. Avoid having complicated and cryptic naming convention, where it’s easy to make mistake from one VM to another. Make each name different enough.
Step 2: Design Service Tiers into vSphere
Does your vSphere understand that there are different classes of service? Are Tier 1 clusters and datastores clearly labelled?
You should avoid mixing multiple classes of service into a single cluster or datastore. While it is technically possible to segregate, it’s operationally challenging. Resource Pool expects the number of VMs for each pool to be identical among the sibling pool.
For each tier, you need to have both Availability SLA and Performance. For Performance SLA, review this doc.
Step 3: Define and Map Tiers in vR Ops
Now that you’ve considered service tier into your vSphere architecture, time to show it. You cannot show it in vSphere as vCenter does not understand Performance SLA and Availability SLA. You can use vR Ops do this. Follow this step.
Step 4: Map Applications in vR Ops
Use custom groups to create applications. If you have a proper naming convention, it should not be difficult to select members of the applications. All you need is a query that says the names contains XYZ. There should not be a need for regular expression.
Once apps are mapped, you can do something like this.
Once you have that in place, you will be able to prove that your Architecture lives up to its expectation. Use the dashboards from Operationalize Your World to show that proof!