Enterprise SharePoint Development Environment
Unlike normal .Net development which can be performed on an XP or Vista workstation, SharePoint development must be performed on a SharePoint Server. Most of the developer environment guides out there are for solo consultant developers and involve using Virtual PC or equivalent products.
The closest thing to team development is:
http://msdn2.microsoft.com/en-us/library/bb428899.aspx
The problem with these solutions is scaling them out to a number of developers and maintaining constancy of the image builds. The other problem is that large companies who want to do in-house SharePoint development may have the following IT constraints:
- Servers must be in the data center, not under the desk
- Only Standard desktops can be connected to the network
- Users are not local administrators to prevent them from installing unauthorized software
- IT is particularly strict on developers because they are the ones who install rogue DHCP servers and domain controllers on the network
They also don't provide a productive development environment because of the following issues:
- Provisioning and versioning of virtual machine images
- Backup of virtual machine images
- Hardware allocation
My solution which tries to address these enterprise requirements/restrictions depends on the TCP Port translation feature of RRAS. This allows multiple developers to RDP on different port numbers to the Virtual server and RRAS will forward them on to the appropriate virtual machine using the standard 3389 port.
Key IT compliance features of this solution are:
- The Virtual Server Host and Virtual Machine Manager are part of the domain and developers do not have local administrator rights
- Developers only need remote desktop client which is available by default on corporate standard desktop
Key components of the solution are:
- Windows Server 2003R2 Enterprise Edition
- Virtual Server
- System Center Virtual Machine Manager (SCVMM)
- Team Foundation Server
- Developer Virtual Machines
- Visual Studio and MSDN Premium
The first part of this article looks at the physical setup of this environment, the second part (yet to be done) will look at the development process.
1. Windows Server 2003R2 Enterprise Edition
Support for 8-processor servers, and access to up to 2 TB of RAM. Ideal for a Virtual server that will be running 10 or more virtual machines each requiring 2 Gb RAM. 4 Quad core CPU's and 32 Gb RAM should do nicely ;-)
My basic setup steps for this server are:
- Install OS
- Join to domain
- Install IIS
- Install Windows Remote Management (required by SCVMM)
- Disable Windows Firewall Service
- Start RRAS (will go into RRAS configuration in more detail later)
- Install OS SP2 and any security updates
- Install Virtual Server (will go into VS configuration in more detail later)
Detaild RRAS configuration
[Insert screen shots here]
Details Virtual Server configuration
[Insert Screen Shots here]