• 0

development environment


Question

When you guys develop using for example, Visual Studio or MS SQL server, do you do it directly on your system or use a vm specifically for that?

Link to comment
Share on other sites

22 answers to this question

Recommended Posts

  • 0

Depends on how much you need/use it really.  Personally I have a couple Windows Servers here, one has MSSQL on it already so no need here, plus I use VS2013 pretty much daily for work (among other tools), so that's a "real" install for me obviously.  The IDE lets you target different versions of the platforms as needed too so it's not like you have to for backwards compatibility.. of course if you're using Windows 7 and you need to target Windows 8.x, then a Windows 8 VM will be required.  But if it's just something for curiosity's sake or a once-and-done thing or just not sure if you want to use it, a VM wouldn't be out of the question sure.  Both are rather large, shoot my documentation library alone is pushing 7GB.. if you decide later you don't want/need it cleanup is that much easier.

Link to comment
Share on other sites

  • 0

For me, it depends.

The actual environment I use for writing code I'll install directly. So Visual Studio, Eclipse, and such all get installed locally.

I do tend to virtualize my testing environments though. I don't enjoy the idea of having a full WAMP stack running when I'm writing my web code, nor do I want the ton of dependencies that come with it. For that, I'd rather just set up a sandbox emulating a production environment. That way, when the test environment needs changing, I can isolate my changes to inside the VM, and when I'm finished entirely with a test environment, delete the entire virtual machine. I also have much more fine grained control over the test VM, such as designating the amount of RAM or number of CPU's it can use.

Link to comment
Share on other sites

  • 0

I usually virtualise stuff, so that I can experiment with crap without messing up my local install. Each VM has dev and staging config, with (most of my work is in python) different virtualenvs for each.

Link to comment
Share on other sites

  • 0

For server based apps, I prefer to virtualise the environments. It's better to run a development configuration that is similar to production. Plus virtualisation has a bunch of advantages. VMs are portable/shareable, you don't need to pollute your workstation OS with stuff that you need for one project but not for another, you get snapshots and rollbacks, you can reinstall your workstation OS / move computers without losing your development configuration etc. etc.

 

For client apps, it's usually just a matter of installing an IDE, cloning the repo and I'm good to go. No need to virtualise the development environment there.

Link to comment
Share on other sites

  • 0

Let's say I'm still in the learning process and working on a single project; mainly XML and SQL, recommended that I create a vm for that?

Link to comment
Share on other sites

  • 0

Hello,

When you guys develop using for example, Visual Studio or MS SQL server, do you do it directly on your system or use a vm specifically for that?

You develop things using VS. MSSQL (GUI) is used for queries and not much else.

I do it locally.

Link to comment
Share on other sites

  • 0

Let's say I'm still in the learning process and working on a single project; mainly XML and SQL, recommended that I create a vm for that?

 

do it locally.. better than trying to deal with vm's.  

Link to comment
Share on other sites

  • 0

I prefer to develop in a VM, even if the VM OS is the same as my native OS. Makes life a lot easier.

 

How so? (Not judging, just curious).

Link to comment
Share on other sites

  • 0

How so? (Not judging, just curious).

I like clean, separate environments. Once I setup an environment for VS2013, I'll take an image of it. That will then be my base environment. If I have to do work on a different project/client, and I think a clean environment would benefit, I'll just create a VM from my base image. 

 

Sometimes I'll have projects that have strange dependencies on garbage products. Instead of polluting my machine with them, I'd rather just create a VM for it. I don't have to worry about conflicts or issues caused because that was installed on my machine and it wasn't installed on a test machine. 

Link to comment
Share on other sites

  • 0

I like clean, separate environments. Once I setup an environment for VS2013, I'll take an image of it. That will then be my base environment. If I have to do work on a different project/client, and I think a clean environment would benefit, I'll just create a VM from my base image. 

 

Sometimes I'll have projects that have strange dependencies on garbage products. Instead of polluting my machine with them, I'd rather just create a VM for it. I don't have to worry about conflicts or issues caused because that was installed on my machine and it wasn't installed on a test machine. 

 

All good points. Do you find it significantly slower than running your environment on the host (rather than on the VM)?

Link to comment
Share on other sites

  • 0

All good points. Do you find it significantly slower than running your environment on the host (rather than on the VM)?

I was wondering the same.

 

But he's a developer. But me I'm doing it to learn, so probably I'll go local. I already installed Netbeans because I'm working on a project in java.

Link to comment
Share on other sites

  • 0

For the sake of keeping my dev environments manageable (I have many, from VS 2005 to 2013), I use VMs extensively.  Even though MS has done a good job in the last couple of years allowing you to run things side-by-side, I find it's much, much preferable to keep things isolated.  I've been earning a living as a full-time software developer for over 20 years now, and I've learned many painful lessons and have done countless reinstalls as Windows itself has evolved...I'm NOT moving back to installing anything on physical hardware.  That, and a good source control system (another dedicated VM), lets me get back up and running within minutes.

 

If my hardware dies (last year I've had to replace a motherboard), reinstalling the host OS can be done within 20 minutes.  I literally have nothing else running on the host, except maybe for some custom motherboard drivers to provide better performance.  I don't bother backing up the host OS.  From that clean state, getting a VM going again is just a matter of creating a new one from scratch and then pointing it to the existing VHD, and everything is fully functional again.  For all intents and purposes, the guest OS remains oblivious to any physical hardware change.

 

While this may sound like overkill for a hobbyist, I'll still maintain that it's far preferable to keep a host OS clean, and leave trialware and other such junk to VMs you don't care about.  The same goes for any large app that pukes all over your drive, such as VS and SQL, and leaves behind tons of files when you uninstall it.

 

As an aside, purely for the sake of discussion...nowadays multibooting is dead (even though I've done it for years), unless you have some very specific need to access the physical hardware.

  • Like 2
Link to comment
Share on other sites

  • 0

All good points. Do you find it significantly slower than running your environment on the host (rather than on the VM)?

It really depends on the machine and project. I have a pretty beefy machine (SSD, 16GB RAM, multi core CPU) so the penalty isn't too bad. If your solution is huge, though, you may notice issues. I would just take it case by case. 

Link to comment
Share on other sites

  • 0

These days, I do development on Linux almost exclusively. For recording of performance data that I intend to keep I have to use native environments exclusively. I do have a virtualized Linux sitting around which I use off and on for things.

 

EDIT: worth noting that there is no IDEs involved with anything I do. It's grep, vim, and remote npp. 

Link to comment
Share on other sites

  • 0

I generally keep most recent version of VS on the host machine. SQL Server is always on the host machine, never in the VM.

 

For clients, I always maintain VM for the major projects (>$25K). Each time I successfully release a product that has any environmental change (i.e. .Net Framework, Components Upgrades etc..), I archive that VM.

 

I have a base VM with W7, W8, Server 2012 and then another base with VS installed onto them.

 

.

.

.

 

Now comes the fun part. I keep 2 identical portable disks to carry the most common VMs I use. The laptop has 512GB SSD, 16GB RAM which helps me run 2-3 VMs quite smoothly.

 

 

P.S. Wish Apple would allows us to have a Mac OS on a non Mac hardware, at least on a VM. I understand them selling the hardware but but but.... Ah never mind.

Link to comment
Share on other sites

  • 0

P.S. Wish Apple would allows us to have a Mac OS on a non Mac hardware, at least on a VM. I understand them selling the hardware but but but.... Ah never mind.

 

As long as you've paid for the OS, there's nothing illegal about running a Hackintosh, and Apple know it.  It's merely against the terms of the EULA, which is not a legally binding document.

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.