In the first part of this series the situation of a SharePoint developer was described needing a recreation of the customer’s environment in order to implement a solution which runs on his staging server as well as on the customer’s production environment.
You can create complex environments using a remote environment used by different developers or a local environment for every developer: Both can be achieved using virtualization technology like Hyper-V or VMware ESX. Virtualization technology can be used to create complex autonomous environments and can be run on a remote server or a locally stored server if you use a laptop supporting e.g. Hyper-V. But what is the difference?
Using a remote server for deployment and a local computer to develop your solution requires you to have the SharePoint binaries locally stored. After implementing some lines of code you need to deploy your solution to the remote server to check if it works. It may happen that more than one person wants to check his implementation resulting in an inconsistent state of your solution where you can’t distinguish if an error happens because of your implementation or not. Defining one person who is allowed to deploy will result in waiting time for other developers to check their implementation. The effort to manage this development environment is high.
Using a local server allows you to implement and test your solutions independently. It is easier to manage and you don’t necessarily need internet access or a remote connection to access it. If you decide to use a local server you need to take care of a two things:
• You can copy the environment more than one time for new developers in your team but the environment has to be hidden in your company’s network because of IP and server name conflicts.
• You need to access resources like a source code repository in your companies network.
Using the local server approach is a common practice in Europe which I have seen in different sessions at Tech-Ed Europe 2008 in Barcelona. If you use this approach you need to thing about the possibility to run 64bit guest operating systems. While Hyper-V and VMware ESX supports 64bit guest operating system Virtual PC doesn’t. If you want to be prepared for SharePoint 2010 you need a Windows Server 2008 64bit guest operating system so you can’t (re-)use Virtual PC 2007.