How does VMWare Horizon and other VDIs work?

153 viewsOtherTechnology

We use it at my job and I really don’t understand exactly how it works. Not everyone has a machine with it but most do (including me). I thought of myself as fairly tech savvy, but am somewhat lost here.

In: Technology

2 Answers

Anonymous 0 Comments

VMWare Horizon is a desktop virtualisation software. What this means is that instead of having an operating system (OS) installed on a computer that starts up when the computer is turned on and then communicates directly with the hardware, the VMWare program instead starts and then starts an OS from an ‘Image’ while pretending to be the hardware that OS should run on.

The benefit of doing things this way is that it makes it a lot harder for anything running within the OS (applications and all other activity that the user of the computer is doing) to affect (read: break) the computer itself, since the virtualisation software forms a kind of firewall around the Image. Likewise, if the operating system or any of the applications running within it need to be updated, you can just create a new Image where you carried out the updates and then distribute that Image to all the computers that should use it.

If a virus (or faulty update, as seen recently with CloudStrike) somehow gets into the OS for example, that might normally break the computer itself and/or be very hard to remove or fix afterwards, but with virtualisation those bad changes are contained within the image and can thus just be overwritten by a fresh image that you know will work. In some cases you might even make it so that the image itself can’t actually be changed and instead ‘resets’ whenever the computer is booted up, and any data the user creates or changes by using the computer must instead be saved to a server or some other external storage device outside of the image.

Virtual Machines (VMs) like these can be used in other situations as well. You could make physical servers for example that run one or more ‘Virtual Servers’ as separate VMs. The virtual servers don’t know or care that they are sharing hardware, and if you ever need to move one of them to new hardware, you just move the image to the new hardware and start it up there, and it will basically run identically to how it did on the old hardware. This is essentially how ‘the Cloud’ works.

Anonymous 0 Comments

Let’s start with a simple question: What do you *actually* need in order to do your job?

You need a computer running Windows, and a bunch of applications. That computer needs to be able to take your input (stuff like your keyboard and mouse, or a webcam and microphone) and turn it into output (stuff like your monitor and speakers). Normally, that computer is physically close to you – on or near your desk. But… Does it *need* to be? What if we took your keyboard, mouse, monitor and such, and then we ran a *really long cable* to a computer somewhere else, could you still work?

You could, right?

That’s part one of VMWare Horizon: A way to smoothly implement this sort of thing. Rather than a really long USB cable, everything runs through the network at your office. This allows for really, *really* long cables – with the right setup, it doesn’t even need to be in the office.

But why bother doing this? Well, that’s part two. Instead of everyone getting *one* computer, we make people share a big computer. The computer simulates a bunch of smaller computers. Each computer runs Windows, all your applications, and we use those really long cables to plug everyone’s keyboard and mouse into their own little computer inside the big computer. Windows is just a program, after all – it sends and receives a bunch of messages to the computer. Messages it sends might be something like “calculate this for me” or “store this file in this folder”, while messages it receives might be something like “the user just hit enter”. We can easily catch these messages and translate them a bit so that Windows *thinks* it has access to a normal computer, even though we are just simulating one. The resulting small computers are completely virtual, they’re *virtual machines*. VDI stands for Virtual Desktop Infrastructure – it allows you to have a computer that only exists inside another computer and use it like a normal PC.

Making everyone share a bunch of computers has a bunch of advantages. People don’t use 100% of their computers all the time – they use it in little bits here and there. If you have 200 users, the big computer doesn’t have to be 200x more computer than each user’s little computer. It’s a lot easier to manage and maintain too, everything is in one place for backups and updates. There’s a *bunch* of benefits. If users can handle “running a really long cable into a computer that actually only exists virtually”, it’s great! Some use cases aren’t great for this – a lot of GPUs don’t like virtual machines, the long cable can cause issues and so on – but it’s a great way to save money and make things run more smoothly.

In short: VMWare and other VDI solutions effectively run a long cable to a computer that exists inside another computer.