First, I apologize if this is the wrong forum to ask this question. I was wondering if this is a ServerStack or DevOps question. In either case here it goes:
I am building a small software shop and I am trying to figure out the infrastructure and machines required for it.
I bought MSDN Pro Subscription ($600/year) as well as JetBrains All Product Subscription ($600) for the development tools, desktop and server OS licenses, etc etc...
At the moment I have a budget of roughly $1500 (Walmart Credit Card) and I am entertaining the idea of buying 3x refurbished machines (each with Core i7-3770 cpu and 16GB of RAM) at $452 a pop or buying a large server at $1120 and maxing out it's RAM capacity for another $300-$400.
The background info on this is that I want to develop a product and have a full blown development environment (Source Control, Build/Deploy/Test and Release Management, Dev, Beta, and Prod environments). Cloud services (the cheapest) will run me about $200-$300 a month, and over period of 6 months it will become a recurring liability rather than an asset (which I pay out of pocket btw).
If I buy the hardware - it will have an initial cost of about $1500 but it will last me for the duration of the development process which is at least a year or so. Beyond that, if I outgrow it's capacity, I can move to docker containers and maybe a cloud solution for the Dev, Beta, and Prod environments.
So the question is - which is better - multiple dedicated cpu's or a single large server?
1x Large VM Host (64gb RAM) to have the following VMS (from here) (4GB used by Hyper-V 2016 Server):
- 1x - 8GB RAM - TFS - (Git, Active Directory, SQL2016, Sharepoint, IIS)
- 1x - 4GB RAM - TFS - Build Controller
- 1x - 4GB RAM - TFS - Release Agent, Test Agent
- 1x - 4GB RAM - DEV - Linux Mint (Postgre SQL)
- 1x - 4GB RAM - DEV - Linux Mint (Web Server/Apache)
- 1x - 4GB RAM - BETA - Linux Mint (Postgre SQL)
- 1x - 4GB RAM - BETA - Linux Mint (Web Server/Apache)
- 1x - 4GB RAM - PROD - Linux Mint (Postgre SQL)
- 1x - 4GB RAM - PROD - Linux Mint (Web Server/Apache)
Or having multiple smaller hosts:(from here)
1x Small Host - 16GB RAM (4GB used by Hyper-V 2016 Server):
- 1x - 6GB RAM - TFS - (Git, Active Directory, SQL2016, Sharepoint, IIS)
- 1x - 3GB RAM - TFS - Build Controller
- 1x - 3GB RAM - TFS - Release Agent, Test Agent
1x Small Host - 16GB RAM (4GB used by Hyper-V 2016 Server):
- 1x - 4GB RAM - DEV - Linux Mint (Postgre SQL)
- 1x - 4GB RAM - BETA - Linux Mint (Postgre SQL)
- 1x - 4GB RAM - PROD - Linux Mint (Postgre SQL)
1x Small Host - 16GB RAM (4GB used by Hyper-V 2016 Server):
- 1x - 4GB RAM - DEV - Linux Mint (Web Server/Apache)
- 1x - 4GB RAM - BETA - Linux Mint (Web Server/Apache)
- 1x - 4GB RAM - PROD - Linux Mint (Web Server/Apache)