Sunday, June 6, 2010

SharePoint 2010 Upgrade Preparation

Prepare Phase

The goal of this phase is to take the information that you learned in the previous phase and actually perform a detailed audit of the current SharePoint 2007 implementation. The focus will be to ensure you are ready to do the migration and have accounted for everything you need to. The focus should always be on risk mitigation. The challenge is with SharePoint is that it is commonplace that poor governance has not been put in place and this will lead to challenges with an upgrade.

Pre-Upgrade Checker

One thing you will need to do is run the Pre-Upgrade checker on the current SharePoint 2007 environment. This tool will check the status of your server environment and provide you a list of issues that need to be resolved before doing the upgrade. It will not resolve any issues for you. It will tell you:

  • The upgrade path for each server in the SharePoint 2007 and if it can be upgraded.
  • Will return a list of alternate access mapping settings.
  • Will return a list of all installed and customized elements on the SharePoint 2007 server. This list includes all site definitions, site templates, features and language packs. It will call out customizations to these elements as well. Knowing all these customizations and understanding their upgrade path is critical.
  • Unsupported customizations will also be listed.
  • Orphaned objects any databases will be listed. This would include list items, documents, web sites, and even site collections. These objects need to be resolved by running a tool prior to doing the upgrade otherwise they will not be recoverable after the upgrade.
  • Will report any missing or invalid configuration settings throughout the SharePoint farm. These again should be fixed before performing an upgrade (especially if you are doing an In-Place upgrade).
  • Will perform a check of the database and report if the current database meets the requirements for an upgrade.

The findings of running this tool will assist in making a decision of what upgrade approach you will take.

Technical Considerations

Some other things you will have to take into consideration as part of the upgrade are the following:

  • Upgrade Performance - Is proportional the amount of data to be upgraded. The number of site collections, web, lists, documents, document versions, document size, and basically the overall size of the content database. The more content, the longer it takes. As well, the database environment has a direct affect on the performance of the upgrade. You need to account for SQL Disk I/O, SQL disk layout, Temp DB optimizations, SQL CPU and Memory, Web Front End CPU and Memory. I wish I had great statistics to give you an idea of how long it actually takes.
  • Upgrade complexity - Is proportional to the amount of customizations made to SharePoint. This is rather broad and I have mentioned it before that customizations to SharePoint will make the upgrade process more difficult. Most customizations will be upgradable unless you were not following best practices. However you should pretty much review each every customization that has been made into SharePoint and understand its upgrade path. You also need to think about external application dependencies to SharePoint. If SharePoint is integrated with external applications, you need to consider how the upgrade will affect them. You also need to review all third party products that may have been installed into your SharePoint 2007 environment.
  • URL Changes – This is something you could easily forget about but could have majorly affect business users. You need to know how dependant they are to the current URLs. Even still, URL dependencies are not just user dependant, applications and custom solutions built for SharePoint use them to access content. An In-Place will require no URL changes. A Hybrid Approach where the content databases are attached into an In-Place upgrade will not require a URL change either.
  • Audit the Current Environment - I have mentioned earlier that you need to make sure that you audit your environment. You need to understand such things as how much data you have and what are the characteristics of that data. You need to know how many users you have and what do they do within SharePoint. You need to know how many SharePoint farms you have and what their migration path is. Another thing you need to understand is the topology of the each SharePoint farm and how you will migrate to the new SharePoint farm. Also you need to take into account what is the backup strategy and data recovery of SharePoint environment. The current hardware and network environment should be re-evaluated to ensure that it is still sufficient and if there are plans to move to new hardware, what is it?
  • Third Party Software - A special focus needs to be made on third party software that has been installed into SharePoint 2007. You specifically need to focus on any applications that may have modified the SharePoint DB Schema, configuration changes that will have to be migrated, check to see if you are at the proper path level, does it even support SharePoint 2010 and if it is even needed anymore with the new features of SharePoint 2010.
  • Evaluating Customizations to SharePoint 2007 – The most common customizations that you will need to check into are customizations to site templates, list template, custom css, master pages, SharePoint Designer Modifications, Features, custom web parts, event handlers, application pages and javascript. The most common way to understand what changes have been put into SharePoint it to check to see what solution packages may be deployed. However we have seen a lot of developers not follow best practices when deploying their SharePoint 2007 solutions so you may have to resort to more drastic approaches to find all customizations. One way is to do a complete diff on an out of the box SharePoint 12 hive and compare to a production 12 hive. Can also look at the web.config and look for SaveControls elements that have been added and look at the GAC or webs for custom DLLs.
  • Cleaning Up Environment Before Upgrade – Before doing the upgrade it would be recommended to clean up stuff that is no longer being used or does not need to be migrated. You can delete stale sites or webs, remove documents that are not being utilized anymore, and cleanup or back out of custom templates, features and web parts that are no longer needed.

Non Technical Considerations

I know I have mentioned this before but it is worth mentioning again that a successful SharePoint upgrade is not just driven by understanding the technology. You have to have a solid understanding of how users are using it today and ensure that they do not lose any functionality moving forward. Just because it is newer and better does not mean it is best for the business user. You need make sure you have strong communication plans and provide them a solid understanding of the new features of SharePoint 2010. Providing them early access to a SharePoint 2010 environment to test drive would be a great thing to do. You need to understand all the current use cases of how SharePoint 2007 is used and make sure that matches up with the upgrade approach you plan to use. You need to have an understanding of the functionality of SharePoint 2010 needs to be made available immediately and provide them with a vision of how SharePoint 2010 can better support their needs.

We all know have business owners and stakeholders on your side and allowing them to be part of the decision process is extremely important.

Preparing for the SharePoint Upgrade

To summarize, to prepare for your SharePoint 2010 upgrade you should:

  • Run the upgrade checker as we have discussed.
  • Complete a technical audit of the current SharePoint 2007 environment.
  • Complete functional audit of how SharePoint is used.
  • Create a new logical and physical architecture for SharePoint 2010 and understand how existing functionality will upgrade into.
  • Clean up your current SharePoint 2007 environment.
  • Finalize your upgrade approach based on all the information that has been captured.

No comments: