Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: What is your work's programming computer spec/environment?
4 points by nicota on Oct 3, 2019 | hide | past | favorite | 5 comments
We're currently having an inside debate as to whether or not to invest in really high end desktop pcs or Xeon based virtualized servers (proxmox, vmware, etc) with shared storage and resources...

Edit: Assuming a ~100 employees environment, developing mostly C++



I've moved to purely virtual desktops. It allows me to have a 100% deterministic desktop, to rebuild without losing the underlying OS, and the ability to move my workspace to another machine without the pain.

I've got the builders backed up to github [1] [2], and with this setup it takes about 20 minutes to build a complete work environment, ready to go. Then I connect to it via chrome remote desktop or x2go. I've even run desktops on a $3 a month VPS.

I'll never turn back. This just makes everything so much easier, and I never worry about a machine dying with all my stuff on it.

[1] https://github.com/kstenerud/virtual-builders

[2] https://github.com/kstenerud/work-installer


That seems quite good, but I'm wondering about scalability - it's not a single desktop, but rather around ~100 employees that need serving...


Shouldn't be too hard... Just do the same thing as a docker image, then spin them up and mount a zfs-backed home directory for each.

Mind you, once you do this, you take on the IT job of maintaining it.


You can use an hyperconvergence solution. On a former job, we used ProxmoxVE, a cluster of 6 nodes with 256GB RAM, 64 cores and with 40TB each.

That's 1PB RAM, 384 cores and 200TB of distributed storage. People connected with Intel NUC, but we boot from PXE and connected to our own desktop via x2go.

Scalling the solution is straight forward. If you need more capacity, just add another node, add it to the proxmox cluster, and rebalance the storage with GlusterFS on top of ZFS. Speaking of that, ZFS performs perfect with NVMePCI disks acting as L2ARC cache.

GlusterFS adds redundancy and scalability to the storage solution, and having an extra node to allocate VMs in case of a node failure, makes the solution robust.

You can integrate as well the development environment with a kubernetes cluster living inside the Proxmox cluster.


Interesting! May I ask how many employees did it serve? Did you have to compile large C++ projects and noticed any performance issues? Were the cores shared among different users? (overbooking the number of cores)

Thanks!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: