While in the process of preparing for some presentations and demos, I have needed to setup several virtual machines (VM’s). This is nothing new to the world of doing SharePoint demos, but it can be new to different presenters or developers who are not accustomed to using VM’s as part of their normal process. This is where various approaches come into play.
My preferred approach to my working environment is to have a regular laptop that is used for everyday communication and all of the other normal things that are needed just to work,. Then I have a separate batch of VM’s to use based on need. (Yes, that’s right, I mentioned several VM’s.) I may use one VM for legacy applications or to be able to setup VPN’s with clients that might now work with the latest versions of Windows and Office that I have on my regular work laptop. I may use another VM for testing various solutions for clients or building proof-of-concepts. There are plenty of needs. I’ll try to walk through three primary needs here.
There are different needs for different VM’s if you are a Developer, IT Pro, or Designer, etc. However, there are a bunch of similarities.
First, the need to try out scenarios and test to see if something works – while not hosing your every day working environment is critical. We spend a lot of time prepping and adjusting our dev environments to make proof-of-concepts, demos, etc. We need to have freedom to try stuff AND have confidence that our regular communications will not break – frustrating us and coworkers and clients who may be waiting for responses and may need something from us. This validates the need that at least one virtual machine can address very well.
Second, the need to share the work that has been done with other coworkers is a big time saver and often required to allow others to help on a project. We can’t exactly hand over our laptop to a coworker every time they need to do something. And, sharing a separate physical machine gets costly with the extra money spent, usually for more than one of them to accommodate multiple users’ needs. Using separate, physical machines clearly does not scale very well. This validates another need that VM’s address very well.
Third, the need to backup work, roll back to previous versions, quickly go back to a previous version without having to change everything in your current environment… well, you probably get the point. There are lots of reasons for backups and versions and the ability to quickly get at them saves both users and IT staff more than a bit of time.
The details of how to share VM environments and work with backups and versions is dependant on what technology use (VMware, Hyper-V, etc.) That is not the topic of this post, but I’m not down playing that when I say easy, it may be much easier for those of us who have done it and have already gone through some of the learning curve. However, after going through that learning curve, I have yet to meet anyone who wishes they went back to not using virtual machines, or who thought their time was wasted.
At J Street, we use both local virtual machines as well as hosted machines to service production needs, demo needs and testing needs. We also use multiple technologies from different vendors, depending on our internal needs. (I almost forgot, testing! That is a huge need and VM’s are a great time saver, facilitating quickly spinning up a new virtual machine to replicate an environment and verify customer issues and fixes.) Even later today I will be handing over a VM to a coworker so that they can fly to another continent, do demos and present on Access Services using SharePoint. He just needs to copy the files and go.
So, when you consider what you need to get your job done, don’t rule out Virtual Machines and don’t neglect some of these tools. Many of them are free! I’ve found that not having an awareness of Virtual Machines and even not trusting them are two of the biggest reasons for not going that route. Hey, you’re not alone! Many folks have thought that way, but recent advances in the technology used and a significantly higher adoption across many organizations has greatly helped this thinking.
I may cover more details about the specific technologies and approaches in a later post. For now I really wanted to emphasize how valuable it is to use virtual machines in pretty much every technology environment I have come across.