VMware Horizon Community
btkrausen
Enthusiast
Enthusiast

View Environments for Developers

Wondering if anybody has experience in deploying View environments for developers, specifically .NET developers. Wondering which route you chose to go, linked clone vs full desktop, why, and how it's working for you.

We're looking at deploying linked clones for remote developers to prevent us from deploying any physical hardware for them.

vExpert 2014 & 2015, VCAP-DCA, VCP5-DCV, VCP5-DT, VCP4, VCP3, CCNA, MCSA, MCTS, MCDST, A+, Net+, Sec+
10 Replies
mittim12
Immortal
Immortal

In my experience developers tend to require more flexibility from an app installation standpoint and resource standpoint.    We use Unidesk for our development staff but if we didn't have that I would opt for full desktops.      Then again you didn't say how many development staff you had and full desktops could become a pain to manage.  

0 Kudos
btkrausen
Enthusiast
Enthusiast

Thanks for the quick reply.

The intent here isn't to replace physical desktops at this point, only to provide remote developers a place to work. They are currently over-tasking a MS remote desktop server so we're trying to split them into their own environment. Backend storage isn't a problem as the virtual desktops will live on 4TB of SSD on an IBM storage array. Absolute max for this deployment would be 50 remote users. The other 200 developers will remain on their physical desktops for now.

vExpert 2014 & 2015, VCAP-DCA, VCP5-DCV, VCP5-DT, VCP4, VCP3, CCNA, MCSA, MCTS, MCDST, A+, Net+, Sec+
0 Kudos
MayurPatel
Expert
Expert

Prior to broker solutions from Leostream, Propero VDM (now what we know it as Horizon View) and a few others came on the scene for enabling virtual desktops I have deployed a couple of hundred XP virtual desktop instances to  offshore based developers. During those days we did not have link cloning capabilities so the virtual desktop were deployed from templates as full desktops. (We had scripted the creation of the desktops from a master gold template) A good proportion of these required back/restore capabilities so we deployed Netbackup agents also.

We had tried the Windows server option with RDP remoting but this was not efficient both in terms of ESX resource utilization and the larger storage footprint. In my experience the developers also wanted to have the capability of being able to take snapshots of their desktops from time to time. But due to the storage constraints and the impact this has on the storage arrays this option was only offered through a Help Desk request process.

If you were to use a standard VDI broker solution like View to deploy and manage the virtual desktops then I would recommend that you consider full desktop method for some of the reasons mentioned above. Technologies like Unidesk would bring you added benefits especially for full desktops whereby you could leverage the rollback capabilities, i.e. you can set time intervals when the backups of the personal layer is done in the background and you can selectively revert back to a point in time depending on how long you want to retain the backups for.

btkrausen
Enthusiast
Enthusiast

Thanks for the info. Id really like to stick with linked clones for this particular deployment as it'll allow a smaller footprint as well as giving us the ability to limit the software installed on the desktop. Monthly recomposing would allow us to patch the master image and add any requested software if approved through our team. We want to give them a fast, stable environment but flexibility isn't a huge concern considering that these aren't our employees, although they go through background checks and all that. These are mostly contractors through a third party vendor who are developing applications which we don't have the bandwidth to do with our 200 in-house developers.

One thing I'm considering is whether to use a Persistent Disk to redirect their My Documents, etc or whether to redirect those folders to a file share. I'm afraid of the performance cost by redirecting to a file share which isn't backed by SSD and the affects it'll have on compiling code if they use My Docs to store stuff. We do have 4TB of flash available for this project, so I might stick with a 20-30 GB Persistent Disk or move that disk to SAS on the same array if the flash starts running low.

Thoughts?

vExpert 2014 & 2015, VCAP-DCA, VCP5-DCV, VCP5-DT, VCP4, VCP3, CCNA, MCSA, MCTS, MCDST, A+, Net+, Sec+
0 Kudos
mittim12
Immortal
Immortal

If your IO footprint for those areas has shown to be high then the persistent disk on SSD might not be a bad idea but it really boils down to what kind of IO is driven during a compile.   Other than folder redirection do you utilize any type of persona management such as View, Appsense, Liquidware labs, etc?    Just curious what you would be using if persistent disk are not deployed. 

0 Kudos
btkrausen
Enthusiast
Enthusiast

We'll likely utilize Persona Management if we decide not to use Persistent disks. Some of these developers will be working on our development projects and then move on to something else outside of our scope, so it's highly likely that long term storage for them won't be needed. We currently have two remote developers utilizing a virtual desktop as a user acceptance testing with the plan to move additional developers on next week to get a better idea of performance metrics. For the few tests that I had a developer run, compiling code pushed IO to around 450 at 88% write.

For what it's worth, with about 10 worker processes in IOmeter, I was able to hit over 40,000 IOPs from a single VDI.

vExpert 2014 & 2015, VCAP-DCA, VCP5-DCV, VCP5-DT, VCP4, VCP3, CCNA, MCSA, MCTS, MCDST, A+, Net+, Sec+
0 Kudos
kclinden
Enthusiast
Enthusiast

I am in a similar situation right now. We currently have about 350 developers (who are contractors) that are working remotely. Right now they have our laptops, and we want to get those back and give them VDI using VMware View. I want to give them a non-persistent desktop using linked clones. Since they are developers and will be IO intensive I wanted to put Fusion IO cards in the servers. Their profiles and applications (hopefully thinapped) would then be stored on a backend SAN.

Do you think it would be better to present the fusion IO cards as storage to each host or to instead use them for caching?

Whats is better, Persistent disk for local profiles, or Persona Management? Right now everyone in our organization uses local profiles.

0 Kudos
btkrausen
Enthusiast
Enthusiast

Correct me if I'm wrong, but I don't think you can use persistent disks on a floating pool. You'd likely have to utilize persona management for that setup(or GPOs or other solution). If you are going to use non-persistent VMs, I'd use the Fusion-IO for storage rather than cache. If a VM drops, you shouldn't care about HA restarting it, therefore shared storage shouldn't be a big deal. However, you'd want to be sure that your file server, or whatever is hold the users data through Persona Management, is highly available.

So far I have 5 developers on my new setup and all are reporting great results. I can't put many more on there because the POC ESXi server only has 64GB of RAM and the desktops I provisioned for them have 8GB each.

Please keep us up to date as you deploy your solution and I'll do the same. I went from 0 View knowledge to a full environment in 4 days Smiley Happy Now comes the tweaking of the master image and settings to make everyone happy.

vExpert 2014 & 2015, VCAP-DCA, VCP5-DCV, VCP5-DT, VCP4, VCP3, CCNA, MCSA, MCTS, MCDST, A+, Net+, Sec+
mittim12
Immortal
Immortal

btkrausen is correct in that persistent disk have to be used with dedicated View pools.   

0 Kudos
kclinden
Enthusiast
Enthusiast

What kind of stuff are your developers doing? I want mine to use their virtual desktops to replace their laptops and allow them access from anywhere. My goal is to have them write the code and such on the VM, but then when they need to compile or test the code that should be done in a separate vm that is maybe restricted to a local vswitch.

0 Kudos