1

I am building a website and I have come upon two options: A.) Use my desktop computer as the server or instead install a virtual machine on my laptop and use that as the server.

It has been recommended that I use a VM instead of using a dedicated server (my desktop PC) because a web server doesn't require much resources and dedicating an entire system to it would be a waste.

Are there any major pros and cons of using a desktop computer vs a virtual machine?

Update: The subject of this thread is developing on a local server. This question is strictly focused on local development.

7
  • Are you talking about development? The answer for a real live website is, of course, neither. Commented Jul 19, 2013 at 0:59
  • Yes. I should have made that clear before. I am developing, but on a local server. Once done, I will push the changes to a live server. Commented Jul 19, 2013 at 1:05
  • 2
    Why don't you put a VM on your desktop? Commented Jul 19, 2013 at 1:08
  • I am afraid it would take up resources on my computer and potentially slow down my computer. Commented Jul 19, 2013 at 1:24
  • And it wouldn't slow down your laptop? :) Commented Jul 19, 2013 at 1:29

2 Answers 2

1

Only way I can answer this is to give you an idea of my personal configuration and experience.

I do a lot of web application development and use a single box for the whole thing.

Development Box Core i7 3770 16GB RAM RAID 10 128GB SSD 1TB HDD (music and pictures)

My primary OS is Windows 8 Pro. I'm running 3 Virtual Machines Two of the VirtualBoxes, Windows XP and OSX Server, are used to test the application across different browsers.

I then have my development box which is Ubuntu 12.04.2 which houses my web server and database server. All three VMs are installed on my RAID10 SSD which is nightly backed up to the 1TB as well as to my WHS2011 server. (Double reads, but beats data loss)

I use Samba on the Ubuntu VM so that I can map a directory on my Windows 8 Pro OS. I do all of the development in Windows 8 Pro (primary OS). I use KiTTY (alternative SSH program to PuTTY) to SSH into my Ubuntu box to execute any necessary scripts/commands. My editor that I primarily use is Sublime Text 3.

I have a 5 monitor configuration where I use Bottom left for the SSH terminals Center for Sublime Text Right for testing locally on site and database access (PHPMyAdmin) Top Left for Music and Email Top Right for split view on the two other testing VMs.

All VMS are in bridged networking mode for ease of networking.

With everything running at time of development and testing, I'm using 1/4 of my CPU and 1/2 of my RAM. I have plenty of HDD space remaining and couldn't ask for a easier setup.

enter image description here

I've been down the same road as you. Should I just run Ubuntu as my primary OS since that is where my applications are being developed under... I have struggled with this question time and time again. Yet, I always find myself going back to Windows as the primary OS and using Ubuntu in the VMs. I'm very well versed in the linux environment, but there are just little annoyances that keeps me going back to Windows. Plus, some of the applications that I'm required to use from time to time only run on Windows.

Best advice that I can give is to stick with what you're most comfortable with and what feels most natural.

1

The correct answer is to install something like VMWare Workstation/VMWare Player/VMWare Fusion/Parallels/VirtualBox on your desktop and install your web server inside there. Best of both worlds - a clean environment that's similar to your production environment to push updates to, and you're not dedicating a whole machine.

Just throw a bunch of ram in your desktop if you don't have much.

3
  • I am afraid it might negatively affect my computer by having the virtual machine on the same computer that I am using to develop. Commented Jul 19, 2013 at 1:29
  • Affect it in what manner? Any modern computer is already vastly over-powered for almost all tasks a web developer can throw at it. Biggest killer is RAM. Depending on what web server you run in the VM, you will probably only need 2-4Gb of RAM for it, so if you have 8Gb+ of RAM you will be fine. Commented Jul 19, 2013 at 2:32
  • In my opinion, RAM is not as big of an issue since most systems are easily and cheaply expandable to 8+ GB. A bigger issue that I've found with virtualization is IOPS. Running one VM may not seem like a big issue, but having multiple VMs running on the same platter will decrease your speeds more so than having lower amounts of RAM on the VMs. Even a system with 4GB of RAM and a SSD is better off than a system with 8GB of RAM and a platter HDD. Commented Jul 19, 2013 at 2:56

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.