What water is to a fish?
What a word processor is to a personal assistant and those that write letters?
When it comes to being a developer? Then virtual machine technology is your friend.
VM technology is to developers as much as water is to a fish. Not a day goes by in which I spool up some VM's on my computer.
Today, I spooled up a copy of windows SERVER 2016 on my laptop. I have a identical "VM" copy of a server that has server 2016, and IIS (internet services). This same server is about to go out to some big iron huge server. But, I can test/debug and try my laptop against that web server.
So, now, without a network, just me on some island with my laptop? I am running a virtual machine. The host machine is running Visual Studio, and SQL server. The VM is running server 2016. (with a web server).
And just less then a few hours ago? I am testing a bug/issue with my software installer. In this case, the VM is windows 10 - fresh clean copy - out of the box. Now of course the "instant" you run + test a installer of some software on a virgin windows 10 (clean) install? Well then really any test AFTER that first install is null and void. So, with VM, I am able to roll back (un-do) the windows 10 box back to its original fresh out of the box settings in just a few seconds. Thus I can test my software installer over and over.
lets see the VM's I have:
windows xp.
DOS 5.0
windows 7
SharePoint server 2010.
Windows server 2016
Windows 10
Keep in mind that with any version of windows 10 (beyond home), then hyper-V is included for free. Hyper-V is very nice and is the exact same VM system you find on "server" editions of Microsoft servers. So, if you learn and play with VM on "your" windows box, you now will be comfortable with hyper-V.
Another free one I used (and very popular) is the free oracle/sun's Virtual box. I used it for some time, but hyper-V is what we call a "bare" metal VM system. So, your host OS, and the guest OS both run on top of hyper-V.
About the only downside is that you need install disks of the OS. With hyper-V, you can thus install even Linux distro's into a VM (virtual machine).
so "VM" technology (Virtual Machine) is a nice easy way to spool up another OS on your existing computer - you thus have two OS running. And you can even say create two windows 7 computers - they can be on their own network between each other. Again, no additional hardware.
And speaking of the miracle of VM technology? Well, we all likely used the Android emulator here - again, a smart phone OS running on your computer is achieved by use of this kind of technology.
So, on my laptop, you see this:
So, in above: upper left: Fresh copy of windows 10 (pro)
Upper right: Copy of windows SERVER 2016 running
Lower: DOS 5.0
So the wonderful world of VM is really like the Matrix movie. You can create an imaginary world of computers and even network between them. However, all of the above computers don't actually exist in the real world. They are "virtual".
So, for your test environment, you could setup + run the server in "one" box. And you could well spool up another computer, and with your main host computer - you now have 3 separate computers running. And you can connect them all up together on a network - a virtual network switch which Hyper-V lets you create.
So the days of so called having a physical "test" mule computer laying around? for testing? Long gone! You don't need actual hardware anymore - VM's are the way to go.
Now, you might not have access to all this software, but VM technology is really a fantastic technology to adopt for any kind of development environment. You can test + play with different computers, and even run older legacy software (that's what I do with the DOS 5 box above. While for some games etc. I do use "dosbox", I have some software that don't run on DOS box, but it certainly does run in the above Hyper-V computer.
Another real popular system is vm-ware. I don't know if they have any free developer editions. If you don't have windows 10 (pro or higher) that includes Hyper-V for free, then I high recommend Virtual Box from Oracle/Sun. I used it for a number of years, and it really is rather nice. The system does run on "top" of the Guest host system (unlike Hyper-V which is a bare metal hypervisor system), but Virtual Box does use hardware acceleration, so it not such a big deal for developer testing. In theory with Hyper-V, your main OS could crash, but the other VM's can keep running. With Virtual Box, your main OS goes down, then the "guest" OS's will also fall down.
Now, I note and mention the above since it just a really great developer concept and something to consider adding to your "bag" of developer tools over time.
I would have pictured a Linux distro in above - but I been to busy of late, and my extra spare time that I don't have is me getting up to speed with B4a.
There is just not enough hours in a day. And I dare say with VM technology, so many doors will open for you in regards to testing and playing with software and hardware, that you simply have even less time!!!
Hopefully you saved say some of your win7 disks. There are utilities to "convert" a physical hard drive to a VM. You can even use a USB cable and try and boot those old hard drives. But, best to convert them to single "files" that represent the whole computer + disk drive.
While the above suggests are great - you do have to spend the time to find/have copies of install disks (or ISO images most common these days), and spend the time to install + setup these additional guest OS on your computer. it can be time consuming. But once you get up to speed with VM technology, you wonder how you ever lived without it. With VM technology, you never be short of hardware. (but RAM and hard disk space is another matter!). These VM actually run very nice off a USB external drive (USB 3).
Regards,
Albert D. Kallal
Edmonton, Alberta, Canada