SKILLS AND ABILITIES
- Given a scenario, gather and analyze application requirements
- Given a set of applications within a physical environment, determine the requirements for virtualization.
- Gather information needed in order to identify application dependencies.
- Given one or more application requirements, determine the impact of the requirements on the design.
GIVEN A SCENARIO, GATHER AND ANALYZE APPLICATION REQUIREMENTS
Let’s start by saying that any application that is going to be virtualized, needs to be validated and QA’d if you will. Meaning, we need to ensure that it can run properly on a hypervisor such as ESXi. With that said, we need to run the proper benchmark, review documentation, and perhaps even speak with a vendor to obtain more information. Now, from a technical perspective, we can use tools to gather information about the application and then come up with a plan to virtualize the application, but it has to be done following the guidelines.
Some of the tools that we can use for gathering application requirements and analysis include but not limited to:
- VMware Cost-Per-Application Calculator
- VMware TCO Comparison Calculator
- VMware Capacity Planner
- vCenter Operations Manager
We also have other tools that are native to Windows and Unix, for example:
It’s important to note that no matter what tool we’re going to be using to gather information about the applications it is just as equally important to read the documentation and follow the guidelines. Failing to do so can result in unsuccessful deployment.
GIVEN A SET OF APPLICATIONS WITHIN A PHYSICAL ENVIRONMENT, DETERMINE THE REQUIREMENTS FOR VIRTUALIZATION
Here, I am going to reference the vBrownbag notes and say that most applications can be virtualized these days. Even the business critical applications such as Exchange, SQL, Oracle, SAP, etc. However the main difference between BCA and any other applications, is that we have to be extra careful and due diligence. With that said, I’ve listed some of the tools above that we can use to perform application analysis, but I’ll also include some of the tools I’ve used myself when gathering application requirements.
On the blueprint, it seems to be target a few main applications such as SQL, Oracle, Exchange, SAP, Java, etc so in this post, I’ll do the same, since we’re sticking to the blueprint.
VMware lists the following links which I think we all should read, especially those who are doing the VCAP-DCD exam.
- VMware Cost-Per-Application Calculator
- VMware Virtualizing Oracle Kit
- VMware Virtualizing Exchange Kit
- VMware Virtualizing SQL Kit
- VMware Virtualizing SAP Kit
- VMware Virtualizing Enterprise Java Kit
- Business and Financial Benefits of Virtualization: Customer Benchmarking Study
I’d also like to add some more documentation that I’ve used in the past when virtualizing these applications:
- Virtualizing Exchange with VMware
- Virtualizing Business Critical Applications
- Best Practices for Virtualizing Microsoft Exchange 2010
- Best Practices for Virtualizing SQL
- Your Guide for Virtualizing SQL Server On vSphere
It’s also a good time to get familiar with cost per application calculater (link listed above).
GATHER INFORMATION NEEDED IN ORDER TO IDENTIFY APPLICATION DEPENDENCIES
The recommendation here is to gather as much information as possible. The time frame of data gathered should be around 3-4 weeks. The idea here is to observe how the applications interact during peak and off-peak hours. The data that is collect here will then help with proper sizing within the vSphere environment. I also believe that the techs that support these applications should be involved in assessing the collected data and making sure that everything looks right.
GIVEN ONE OR MORE APPLICATION REQUIREMENTS, DETERMINE THE IMPACT OF THE REQUIREMENTS ON THE DESIGN
For this objective, I’ve already linked the tools that we can use to figure out the requirements. To summarize, each application has it’s own set of requirements, these requirements will have certain impact on our design. Some applications might be light (low memory, disk, cpu) and other applications might be heavy. For example, in a large Exchange deployment, I would recommend to deploy Exchange in it’s own vSphere Cluster. Reason being is that we want to control the vSphere cluster settings differently from the rest of the virtual machines. Of course, this just an example, and there are other factors to consider such as cost.
Here’s an example of a role calculator that we can use for Exchange Server 2010 to figure out what the requirements are for a particular deployment: