Configuring a SharePoint 2010 Farm is a non-trivial undertaking. Each of the servers in the farm must have the correct software installed. In addition, a myriad of accounts, databases, applications, and services must be correctly installed, created, and configured on each server. Typically, a project team requires three or four different farms (development, integration, validation/test, production). In the case of issues, one or more of these farms must be re-created to match the initial configuration. And, of course, each environment in which a Farm is created is unique – Active Directory, account rules, network configuration, server configuration all tend to vary from vanilla.
Getting all of this right, however, is critically important to the success of a deployment. Mistakes in the configuration and setup of SharePoint 2010 can lead to subtle, hard to detect issues long after an installation is complete.
Most useful for production deployment is SharePoint 2010 full support for Windows PowerShell. PowerShell can be used as the basis for fully automated and repeatable installations. The companion tool to PowerShell is virtualization (cloud or otherwise).
In recent projects, I’ve had great results proceeding as follows:
- Work with the client to clearly define the architecture for development, integration, validation/testing and production SharePoint 2010 farms
- Translate these architectures into XML files including servers, applications, accounts, databases, etc.
- Provision a cloud-based server to emulate the client’s Active Directory and Database environment
- Provision the required cloud-based servers into the test Active Directory domain
- Execute Power Shell scripts on each of the servers (to read the XML files and build the SharePoint farm using the collection of cloud-based virtual servers)
- Test the configuration via both automated and manual means
- Adjust the specification and configuration until desired results are achieved
- Build the servers/farm within the clients environment via the XML configuration/scripts
- Delete and/or archive the cloud based servers
Key enablers to the above:
- Virtual Servers – easy-to-configure and snapshot virtual servers are necessary to allow the repeated execution of the scripts required to ensure that the configuration is correct. There are a number of vendors providing this service in the cloud including Amazon and Rackspace.
- PowerShell scripts – I’ve found SPAutoInstall on CodePlex to be an excellent tool supporting both the XML specification and PowerShell scripts required for a successful install.
- Verification Tool – in addition to manual verification, use of an automated tool such as SP Doc Gen to report the farm configuration is quite valuable
I’ve found this approach allows for rapid and high-quality SharePoint 2010 farm deployment. The virtual servers enable iterative testing and verification of the configuration. The scripting makes execution of the installation both rapid and repeatable. The use of a verification tool provides a formal means for insuring the end result is what is expected.
SPDocGen is typically for MOSS2007, at least that is what it was designed to run against, but I haven’t tried it on SP2010. For SharePoint 2010 The 2010 SPSFarmReport on codeplex is designed for 2010 and gives a very elegant report of the entire farm config in an HTML file, no less. I’ve taken it and exported it to One Note, Excel and it formats quite nicely.
Pingback: Informasi Online Organisasi Warga Jawa Kelahiran di Sumatera
Pingback: SharePoint 2013: Revisiting Automated SharePoint Installs | Microsoft Enterprise Technologies