Server to replace physical dev workstations

Hope I’m posting this in the right section, didn’t see a forum dedicated for server builds.

I need some general help with possibly replacing a portion of dev PCs at my workplace with virtualized dev environments.

We have dedicated PCs/laptops for everyone. A few are redundant, because the person works full-remote or is a “seasonal” contractor. Getting an adequate dev machine, configuring it, the 24/7 electricity it consumes, the UPS, the occupied power/ethernet outlets are all costs.

This is mostly just my initiative, but management is open to it if I can provide numbers to support it. Obviously it wouldn’t be a $30 build, but the budget has to stay within reason.

Software stack:

  • Visual Studio (2019, 2022) C# and Dotnet app development
  • Visual Studio Code, Jetbrains IDEA (Angular web development)
  • Docker for Windows, WSL2, NodeJS
  • MS SQL Server
  • Office software suite, Teams
  • OpenVPN, FortiNet VPN

Workstation specs:

  • Win10 Enterprise
  • Intel 10700 (11700 in newer)
  • 32GB ram
  • 1TB SSD
  • authentication is done via Active Directory

We are not fully utilizing the hardware at the moment. 8 cores were picked over 6 to have extra room in case we need it for whatever, investment into the future basically. Memory usage depends on the project the person is on. Docker for Windows usually likes to leak. We have less projects with Docker support at the moment but obviously that will change as newer projects take off.

Laptops are not as uniform, we basically just got what we could at the time. Some are older 8th gen with 16GB for example.

My goal would be to have a server that can support 8 devs (currently we have ~4 redundant systems).

I’m unaware of any benefits the company may have with brands, I have a feeling the general consensus in our IT dep is still “nobody ever got fired for buying Intel”. Which is fine, but still would need to know the options. We have connections with distributors for anything and everything (Europe)

On Intel I assume there’s some Xeon, but AMD has Epyc and Threadripper. Is either one better suited for this? In my mind Epyc is for serving stuff, and Threadripper is for running actual applications. We want to run a server with desktop applications, an EpycRipper is unavailable at this time :slight_smile:
Single or dual socket board are something to consider?

I assume host systems (like VMWare, dunno what else is there, OpenShift?) have support for a min/max dynamic resource allocation. What would be the recommended host OS?

Can storage be kept somewhat fast? We have some build servers where the bottleneck is IO speed (and reluctance to do anything about it from IT). Builds, npm installs, ng builds needs to run fast so people don’t hang themselves waiting.

Since you plan on building a server, getting a mainboard with options for IPMI may dictate CPU choice.

Hardware wise, I’d guess you are looking for about 10k in budget (give or take 2)
Something like the Supermicro H12-series may work.
To make this an easier sell to your IT, consider an option from the Server-Vendor your company has running. (= Talk to your IT dept. about your plans :wink: )
Not sure if GPU acceleration is needed.

Storage will be an interesting topic. You could set the machine up to provide local storage, which would have some latency benefits. Trouble then is backing up that data, depending on what virtualization-system and backup solution your company is running. Again, talk to your IT.

Software. There will be license costs here in some way or the other. Not sure what current prices for Microsofts Terminal Service are.


To make this an easier sell, with a server like proposed, the individual clients can be considerably cheaper since they do not have to do any heavy lifting themselves. There are also arguments towards Data-Loss Prevention to be made, not sure if they are useful in your case.

Thanks, so you would recommend Epyc for this. Epyc naming seems so unintuitive, how does one even decide which one to buy?

On one hand I could understand marketing people not wanting you to know what you’re buying, but on the other hand when they would want to sell you an upgrade a year later, you’d say I already have Epyc 7432, why would I buy your lower number Epyc 7153? (I made those numbers up before someone starts googling them and telling me those are not correct).

… talking to your IT department.

1 Like

I recommend talking to your IT before you buy hardware. In the end, someone has to support this new box, and since it will be them, they should have considerable say in the way this is done.

First Digit is the product line (7 or 3), then comes a two digit SKU level (say 54) and then follows the generation 1 for Zen1, 2 for Zen2, 3 for Zen3, etc.
The P sometimes found after the four numbers indicates single-socket only.

Builds are very IO sensitive, so you will want to use NVMe drives, since RAID does not increase IOPS, to the contrary, it somewhat lowers it, depending on the solution. This will blow a large-ish amount of your budget.

Another point is to check whether your builds are single thread sensitive - I don’t know if it’s the case for C# or JS. As an example, in Rust linking is often the bottleneck and it doesn’t parallelize well. Using a server, with a server CPU, would likely penalize this unless you choose a special, expensive, SKU.

Hopefully, there is no expectation of remote work with this setup. Or, at the very least, you can ensure stable and low latency connections for your devs. This is the one issue outside your control that has the potential to completely kill the project.

But I’ll second what others said - if you don’t have the knowledge, talk to IT. They’ll be the ones supporting it, and they have the knowledge to help you.

This topic was automatically closed 273 days after the last reply. New replies are no longer allowed.