You are the Chief Technology Officer (CTO) of a software firm. Part of your duties is to manage the virtual desktop infrastructure (VDI) that employees utilize to perform their job functions. This means guiding your IT department through various virtualization decisions for three main groupings of employees, each of which has unique conditions and requirements. The following three groups outline the firm's virtualization needs:
Group 1 Software Engineers
The largest group, with a team of software engineers from various backgrounds and programming languages or disciplines, their responsibility is general software coding. Some are comfortable with very particular distributions of Linux, while others prefer Windows.
Group 1 Conditions and Requirements:
- Group 1 will utilize zero clients running on back-end virtualization servers contained within the building, connecting to the servers via a high-bandwidth, low-latency Wi-Fi 6/802.11ax network.
- The thin client devices themselves do not have operating systems installed, have minimal RAM and compute resources, and a small solid-state drive (SSD).
Group 2 DevOps & Application Testing
A small group of DevOps and application testing professionals, their responsibility is to perform extensive software application component testing from inside different operating system environments and within various hardware constraints.
Group 2 Conditions and Requirements:
- Group 2 will utilize full desktop PCs with CPUs that include Intel virtualization technologies (Intel VT), have 128 GB of RAM each, high-end GPUs, and multi-terabyte SSD storage.
- Group 2 developers require the ability to spin up virtualized images of various OS types from within the OS present on their desktop machine.
- The solution should also include the ability to emulate specific hardware configurations where necessary and feature an entire graphical user interface for switching between virtual instances within the host OS.
Group 3 AI / ML Developers
Comprised of developers with specific skillsets in machine learning (ML) programming, data science, and deep-learning frameworks like Tensorflow, their responsibility is to develop artificial intelligence (AI) models to be integrated into other core applications. These developers require a virtualization solution that will allow them to utilize data lakes independent of virtualized images or application cells.
Group 3 Conditions and Requirements:
- The solution must be resource-efficient and permit the devs to run multiple virtual instances simultaneously to train deep-learning models.
- These instances will contain application cells using the same underlying OS and application by using OS virtualization.
- Avoid solutions that rely on hardware virtualization, waste resources using the separate guest operating systems for each instance, or do not support microservice architectures.