I hear a lot of VDI talk out there from a lot of different people in a lot of different roles. That's great. I talk with customers about VDI a lot, it's great technology and should be considered by just about everyone. To further that conversation, I want to talk about VDI and why it deserves some thought - not just "I want VDI" thought, but real thought about what it is, what it does, what it doesn't do, and how to do it the right way.
Some people talk about VDI because they want to sell VDI. They sometimes employ the typical infomercial memes to get their point across - Things are really difficult, maybe even showing a video or graphic of a frustrated IT person scratching their head with worry and confusion as their world burns, not unlike the person who can't boil an egg in those As Seen on TV commercials. But, not to worry, VDI can save the day! With VDI, all your troubles will be gone and the frustration, cost, and outages you deal with today will be a thing of the past. They aren't necessarily lying and, usually, VDI will make things better - but, there is usually some exaggeration and/or oversimplification going on, and only part of the problem is really being addressed while other parts are not mentioned at all.
Others talk about VDI usually because they saw or heard something from the first group. They recognize that they have issues that need to be addressed, though they likely aren't as frustrated as the guy in the commercial. They may not know everything (or even anything) about VDI, want to know more, and want to see if VDI can help them. Maybe they like the technology and want to investigate it a bit further. Maybe they just crave information, and want to know more about it and if it can help in their role. Users can fall into this category as well, but they are usually looking for a way to be better at their job without the complications, real or imagined, that they deal with today.
All of these are real, valid reasons to discuss and think about VDI. VDI can make things better, easier, cheaper, and more if it is done right and for the right reasons. It just requires real thought, and a real plan.
The first thing I like to tell people when starting a VDI conversation is that VDI is NOT A MAGIC BULLET. VDI doesn't do everything, it isn't going to solve every problem, and it isn't right for every scenario or situation. Now, I really like VDI and I enjoy explaining its benefits to people – it just isn’t the best solution in every situation. I love muscle cars too, but a muscle car simply isn't the best solution if you, say, need to get the entire baseball team to a game across town. VDI can be great, if done right, but it can also be a disaster if it isn't the right fit. The number of scenarios that VDI can't, or shouldn't, address is shrinking thanks to new technologies, like hyper-convergence and layering, but VDI is still not the solution to every problem. So, the first thing to think about when considering VDI is "Does VDI solve the problem I am trying to solve?"
The second thing to understand about VDI is that it is all about the users. Implementing VDI without considering what your users need is just as bad as buying your pregnant wife a Corvette as a daily driver. That Corvette is certainly really cool, and it's really fast, but it probably isn't what she needs and will likely cause more problems than it solves. Remembering that users are important is key to VDI success. I have seen many VDI implementations fail simply because what sounded like the perfect solution in IT meetings, and looked like the perfect solution in the datacenter, simply didn't work at the users' desks. So, before going down the VDI path, think about your users and what they need - not what you think they need, but what they really need. Talk to your users, talk to the people that support your users, and remember that VDI isn't "One size fits all." Also, no organization has a homogenous user base. So, what works well for one of your users may not work so well for another. Be open to implementing different forms of VDI, and virtualization in general, depending on the needs of your users.
The next thing I think is important, which builds on my first two points, is that the best solution is the one that fits you best. Overcomplicated, or what I like to call Star Trek, solutions may be great for TV Shows and movies, but in the real world they simply make things more expensive or more difficult to manage and maintain. When talking about this, I often refer to Microsoft's Infrastructure Optimization Model that show optimization in four broad categories - Basic, Standardized, Rationalized, and Dynamic. This model can help provide a roadmap for companies to develop strategies and initiatives that allow them to optimize how things are done within their IT organization. It is usually presented in a way that leads people to think they should ALWAYS be moving to the right (or towards Dynamic). That isn't necessarily a bad thing, but it isn't always a fit either. What is optimal for one organization or scenario is overkill for another. Think about it like this - most everyone can agree that elevators are a more optimized way of going from one floor to another in a building, compared to stairs. But, that is only part of the story (no pun intended). If the building in question has 50 floors, an elevator is a great idea and the cost and maintenance of that elevator can be justified many different ways. But, what if the building has 10 floors, or 5 floors? What if it has only 2 floors? The justification can be more difficult depending on the building. Even though elevators are great, and I really like them, not every building NEEDS an elevator - maybe stairs are fine, or escalators, whatever. Not every organization needs VDI - maybe traditional PCs are best, or thin clients with virtualized applications, some combination of the two, or some other solution altogether. There are a lot of cases where the 'best' solution to a problem is the easiest and/or cheapest. Also, there are opportunities to optimize processes within each of those scenarios - it doesn't have to be all-or-nothing.
The last thing (for this article anyway) to keep in mind is not to bite off more than you can chew. This also expands on the previous topics, and is important to consider. Much like you wouldn't (or at least I wouldn't) try to ski a Black Diamond trail on my first ski trip, you probably shouldn't try to implement VDI for your entire organization, or even your most complicated group of users, as your first VDI effort. I think of VDI, like anything else, as a process. Since different users, organizations, and groups will have different requirements and limitations, it makes sense to take a slow and steady step-by-step approach to VDI. By starting with lower-complexity users, or even lower-complexity virtualization options, you can gather quite a lot of information and "lessons learned" that can be applied to the next group, and the next, and so on. This has the benefit of reducing risk, and this approach will also allow you to mature with VDI at a deliberate rate which will lessen the chance that you implement something you aren't capable of supporting. The majority of VDI options available are not all-or-nothing - they can be implemented and expanded as needed, and at a pace that makes sense for you and your organization.
As good as VDI is, it’s also worth noting that there are some new(er) technologies available that can make VDI even better, and that can even make VDI fit in situations that it may not have a year or so ago. These are worth thinking about as well.
Technologies like Application Layering can take a lot of the pain out managing Operating System images and applications by leveraging virtual disks in different ways to very cleanly separate apps from the OS and infrastructure. Application layering has really come into its own over the past couple of years, and there are options and solutions available from companies like Unidesk, Liquidware, Citrix, and VMware, just to name a few.
Another technology that is really improving the VDI landscape is Hyper-convergence. Hyper-converged solutions combine compute, storage, network switching, deduplication, integrated backup, and federated management into one package. This makes scaling and management much easier and addresses the most common VDI hurdles (IOPS, storage, bandwidth requirements, etc…), all while improving operational efficiency and reducing overall costs. Hyper-converged solutions are available from vendors like Simplivity, Nutanix, EMC, HP, and others.
It may seem like I am trying to talk people out of VDI - and in some cases I am. For some organizations, VDI is simply not the best fit. For others, it is a perfect fit. My goal here is to provide some food for thought so that if you choose VDI, you do so for the right reasons and with open eyes. Here are some suggestions that I would make to anyone thinking about VDI:
- Do your homework:
- What problem(s) are you trying to solve?
- What benefits do you expect from VDI?
- What are your cost/effort estimates for VDI implementation, and are they realistic?
- Know your organization and your users:
- Does VDI make sense for your users/organization?
- What other options are available, and do they make more sense?
- What additional technologies can be leveraged to improve it?
- Work with a provider or partner that you trust to give you honest information and make honest recommendations.