Development Servers on a Budget


Say you want to learn and expand on your development skills,  what is a good development platform?  one thing you can do is to set up xampp or similar virtual server and develop locally on your machine.  the downside is it ignores many of the complexities of setting up a server and networking, and has some limitations as far as accessing remotely and doing penetration testing.  It's great for some limited applications, but not for general purpose development.  You can use a shared hosting server, but there are some drawbacks in that you don't have access to the entire server configuration. Another option is spinning up an ec2 or droplet or similar vps,  It's fairly low cost only about $10 per month for a basic virtual private server, and it allows for playing with the full stack plus networking, but the cost can slowly add up and if you have multiple servers at the same time it can add up quickly.  

This brings us to a great alternative, a physical server.  new servers can cost over a thousand dollars easily, but the used market is full of decent servers for a few hundred dollars that are a few years old, but more than enough to handle development needs.  

A great bare metal operating system to use is proxmox, a free, opensource, debian based system. It allows for server virtualization, and is handled with a gui interface that can be accessed through the browser.  spinning up a virtual server is easy and straightforward.  resources can be dynamically modified, and snapshots, and backups are integrated into the system.

When set up with multiple physical servers proxmox can be set up in high availability clusters, giving it an excellent choice for moving towards production.  within the proxmox interface many of the networking features can be set up and coordinated.  you can load both linux and windows systems.  by networking two proxmox servers together in a cluster, with each server as a proxmox node, you can manage both of them within the same interface.