The growing rate of adoption of virtualization technologies means companies need professionals who can design new kinds of architectures, master new tools and interpret new results. This column explores the differences between traditional IT skillsets and those required in a virtualized environment.
Many companies don't realize that virtual technologies require more specialized skills. They end up hiring virtualization professionals using the same criteria they use to hire a systems engineer or architect, not realizing that handling virtual systems means more than just operating systems and applications. Server virtualization experts, in particular, should present an impressive resume. This article offers some suggestions for what to look for when hiring IT pros to manage your virtual infrastructure.
Value of cross competence
The average systems engineer has a deep understanding of one or more families of operating systems and a solid but limited amount of networking knowledge. But virtual environments require more. Today's virtualization projects involve numerous storage, network and security aspects that need careful consideration, and this holds true whether you're building a new infrastructure from scratch or migrating a physical one. As soon as the available hardware becomes more powerful and virtual machine automation software grows more mature, these aspects will be even more important.
Others in this series
New! Now you can read all of Allessandro's step-by-step guides in one place. Check out Alessandro Perilli's step-by-step virtualization guide.
- Identifying appropriate servers (retitled "Addressing all phases of adoption")
- capacity planning
- ROI calculation
- P2V migration
Modern virtualization professionals need to be highly competent in several disciplines. They should be aware of differences in major technologies, such as how storage architectures like storage area networks (SANs) compare to network-attached storage (NAS); how network connections like Gigabit Ethernet stack up to InfiniBand; the differences in authentication schemes like Radius versus LDAP; and how traditional rack systems compare to blade systems.
For each option, a person working with virtualization has to be clear on the expected implementation issues and performance results in order to make the best choice depending on customers' requirements and budget.
Obviously, this is only the most basic knowledge that hiring managers in the recruitment staff need to know about the candidates' knowledge. There are other, more specific abilities to look for when narrowing the choices.
Because virtualization involves physical consolidation, companies have to carefully design and implement reliable infrastructures. A virtualization expert must be comfortable with high-availability solutions and know what impact each approach will have at the network, operating system or application level in the virtual data center.
In similar fashion, the virtualization pro has to master different backup technologies and understand perfectly how they will influence virtual machines' performance and availability and which virtualization product works with which third-party solution.
To go even further, holes in virtual platforms' capabilities oblige virtualization professionals to be able to bridge the gap with scripting languages, which require a whole set of skills in their own right.
If a project aims to offer a thin computing environment for hundreds or thousands of concurrent users (what today is usually called virtual desktop infrastructure, or VDI), the candidate also needs to bring notable experience in terminal services in order to handle complex scenarios in which even minimal errors can compromise business productivity in a substantial way.
The biggest difference between an architect and an engineer is that each responds to two different and precise imperatives: design well and maintain well, respectively. In order to design a virtual infrastructure, you must be able to plan a scalable, reliable and well-performing system. Right now, performance is probably the most critical factor in server virtualization projects.
What impacts performance the most is neither the hardware nor the virtualization platform you choose, but the applications that will be deployed in every virtual machine. Each of them provides an isolated environment, but the applications hosted inside indirectly influence overall availability of physical resources. For example, engineers will be obliged to reserve a lot of physical RAM for virtual machines that host memory-intensive applications, like OLAP engines, or the engineers will have to assign dedicated physical disks for virtual machines hosting notable I/O workload applications, like databases.
In general, resource requirements not only depend on an application's category but also on its design. It's common that a software solution that looks, on paper, like it should not be resource-intensive actually is in its real-world deployment. This may depend on memory leakage flaws in the product.
Regarding the situations mentioned above, without enough technical background, a virtualization professional faces a concrete risk of combining multiple resource-hog virtual machines side by side in the same hosting server, achieving poor performance while other servers are under-used. That action is then highly amplified by specific characteristics of the environment where the virtual machine and its application are deployed.
It can be hard to meet the requirements of even the least resource-intensive software if it is accessed by thousands of concurrent connections in the same moment, so the best virtualization specialist is the one who studies how the customer's environment works. He monitors where workloads peak for each application and plans a virtualization infrastructure in which products suffering peaks at the same hour are not deployed in the same physical machine.
For these reasons, a virtualization architect should have notable experience with several kinds of applications from different vendors -- from databases to mail servers and from Web servers to application servers. The virtualization architect needs to have a clear idea of how many resources are needed for each product to perform, how each product is expected to behave in a correctly sized environment and which products need special attention.
These are the kinds of things a professional cannot find in a product's documentation. They can only be learned after years of work in data centers.
Companies embracing virtualization need to understand what skills their virtualization workers must have and how much those skills are worth. Trying to compare new virtualization architects and engineers with traditional system architects and engineers will severely compromise a company's ability to find and hire the right professional. In the near- and middle-term, if a company's IT staff doesn't have state-of-the-art skills, it will impact virtual infrastructure performance and the company's ability to perform. And that will hurt business and increase the need for expensive outsourcing services. In order to avoid this, company management and HR departments should reconsider the profiles of employees they are looking for and try to understand the real value of an extended technical background.