Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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.

I have been recommended that I should 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 strictly focus on local development.

share|improve this question
    
Are you talking about development? The answer for a real live website is, of course, neither. –  Michael Hampton Jul 19 '13 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. –  Ash Ketchum Jul 19 '13 at 1:05
2  
Why don't you put a VM on your desktop? –  Michael Hampton Jul 19 '13 at 1:08
    
I am afraid it would take up resources on my computer and potentially slow down my computer. –  Ash Ketchum Jul 19 '13 at 1:24
    
And it wouldn't slow down your laptop? :) –  Michael Hampton Jul 19 '13 at 1:29
show 2 more comments

migrated from serverfault.com Jul 19 '13 at 1:13

This question came from our site for professional system and network administrators.

2 Answers

up vote 1 down vote accepted

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.

share|improve this answer
add comment

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.

share|improve this answer
    
I am afraid it might negatively affect my computer by having the virtual machine on the same computer that I am using to develop. –  Ash Ketchum Jul 19 '13 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. –  Mark Henderson Jul 19 '13 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. –  kobaltz Jul 19 '13 at 2:56
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.