# Cloud Desktop using FreeBSD



## fred974 (Feb 19, 2017)

Hi,

I am seeing more and more cloud desktop infrastrure been offer to businesses..
Could anyone please tell me if they even tried such infrastructure using FreeBSD?
How do does it work and what applications are needed?
I know that bhyve can run windows but not sure if it can be use to quiclky deploy or delete workstation

Thank you


----------



## sko (Feb 20, 2017)

fred974 said:


> I know that bhyve can run windows but not sure if it can be use to quiclky deploy or delete workstation



Windows isn't designed for quick deployment and automated configuration, so prepare for a lot of permanent brain damage when trying to achieve such a thing.
I'm in the process of rolling out TrueOS desktop systems with Windows 7 VMs for a legacy application - all automatically deployed by ansible. 
As all clients here are heavily overpowered and the legacy application is terribly written and unoptimized, the VMs should run the VM locally. The VM gets cloned from a 'master-VM' I keep updated manually and that gets cleaned up with the Sysprep tool (found under `%windir%System32SysprepSysprep.exe`). Thanks to ZFS I can take snapshots before/after any changes and before using sysprep and can later just rollback to install the next updates without having to deal with the initial setup every time - still lots of manual overhead, but much more bearable than anything Windows itself has to offer.

Cloning the zfs-dataset to the TrueOS clients (via zfs send | receive) and handling activation, configuration and software installations on the VM are fully managed by ansible and chocolatey [1].

The infrastructure-, setup- and manual overhead (for the "master"-VM) is just insane compared to any "proper" OS and even if these VMs basically all run on the same virtual hardware and are being deployed exactly the same way, on 5 simultaneously deployed Windows VMs you get 5 different outcomes and most likely one of the VMs just doesn't work as expected and has to be deployed again. Only upside of this setup: If the Windows VM decides to blow up, just rollback to the latest local snapshot or at the worst case just re-run the ansible deployment...
As the networking is handled by the TrueOS boxes, I was able to easily put all these Windows-clients into a confined VLAN (which Windows still doesn't support OOTB...) where they can scream at each other the whole day without polluting the main LAN or other Networks.

Regarding your question, I wouldn't call such a setup cloud-ready or suitable for instantiated VMs in any way, mainly because Windows isn't suitable for any kind of instantiated deployment - or automated deployments in general.
Actually the full TrueOS installation, configuration and installation of additional packages takes 1/4-1/3 of the time of a full client deployment - the rest is only needed for the (pre-installed!) windows VM being deployed and configured, which needs manual intervention and a total of 5 (!!) reboots of the VM.

[1] http://chocolatey.org/


----------



## fred974 (Feb 20, 2017)

sko thank you for sharing your experience in this area..
I can confirm that I am not in a rush to try such experiment anymore lol 
The idea sound great but it look like its a really pain and I don't have that much experience as sysadmin to dive in yet.


----------

