Setting Up a Home Dev/Testing Environment?
An anonymous reader writes "I'm a Project Manager (hold the remarks) who recently decided that I want/need to get my dev skills more up-to-date, as more projects are looking for their PM's to be hands-on with the development. Looking around my house, I have quite the collection of older (read: real old — it's been a while) PCs — it's pretty much a PC graveyard. Nothing that would really help me set up a nice dev infrastructure for developing web/database apps. So, my question is as follows: Should I buy a number of cheaper PC's, or should I buy one monster machine and leverage (pick your favorite) virtual machine technology?"
You can setup multiple boot or VM environments for Windows, Linux, and of course Mac OS X. You can easily use that to learn just about anything you want to learn (aside from SPARC or Power assembly language)...
We were all warned a long time ago that MS products sucked, remember the Magic 8 Ball said, "Outlook not so good"
Vmware server is a free download as well. Or you could purchase workstation for a reasonable cost. Stock up on RAM though!
I'm testing ESX by installing it inside workstation then putting virtual machines inside ESX.
superman runs linux
Since it's a dev environment, check out Virtual box.
The simple truth is that interstellar distances will not fit into the human imagination
- Douglas Adams
Contrary to what a lot of people are suggesting, you don't need extra computers at all (in fact, recycle all those old ones, they're only taking up space).
You don't need to worry about performance if you're just learning the basics, and so there's no reason for all kinds of over-engineered setups like separate development and testing environments and stuff. Spend too much time setting up all this junk and you won't have any time left to actually write code.
I do all my development on my laptop. I'm running Apache, MySQL, PHP, and Rails, most of which come stock with OS X, and that's all I need. Add VMware for testing sites in IE and you're done. If you're using Windows, check out WAMP; if you have a Mac, either try MAMP or use the stuff that came with the system (you'll have to install MySQL separately in this case, which is what I did); if you're running another *nix variant it's all just an apt-get or yum away.
I was working with 2GB RAM which was fine for everything but VMware and just yesterday upgraded to 4GB. Two is usable though, so don't even consider this a requirement. As far as that goes, don't worry about testing in IE at all if you're really just doing stuff to learn. Worry about that if/when you decide to make something public. Skip VMware and you can do it all in 1GB easy.
Web consulting +
Since you don't need boxes all the time and running using Amazon's EC2 seems to be the way to go:
http://aws.amazon.com/ec2/
Also gives you the ability to experiment at scale, while paying $0.10 / hour.
All weakness is within you, As is all courage.
I completely agree. The only thing I would (should?) add is that trying many configurations will tear through storage like you wouldn't believe. Sure, you could expand the disks as needed, but that kills performance. I ended up putting together a SAN (single box, but with an actual backend network tier) for something like a grand a year and a half ago.
You just need a box with at least 5 bays, an external 5 drive hot-swap canister, a 'gaming' motherboard with a decent south bridge and a bunch of SATA ports, a few gigs of RAM and four or five drives (from different lots!). I setup a plain old Slackware box with iSCSI, carved up some partitions and threw them on to my network. The external hot-swappable trays are worth the $100 just for the ease of adding storage without rebooting or having to crack open the box.
If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.