This series of posts will concentrate on the challenges of upgrading from an older version (6.x, 7.0 to 7.2) of Sitecore to the latest and greatest. I don’t need to bore you with all the cool things you get with Sitecore 8. Let me sum it up with one image:
Our journey starts with a lot of decisions:
- Is the upgrade worth the cost?
- My current system works fine, can we do the upgrade later?
- How much is this going to cost?
- Do we need a new infrastructure?
- We have no internal resources who know Mongo, What do I do about MongoDB?
- — and more?
Some of the things which will help you make your decision:
- Do you purge/archive Analytics database often?
- Are you on pre-Sitecore 7 version?
- Do you rely on Sitecore support for your development effort?
- Are you planning on implementing or enhancing your DMS capabilities/goals?
- and the ton of features Sitecore 8 provides!
For Sitecore versions 6.5 and 6.6 the main stream support ends this year. Please check out the Sitecore Product Support Lifecycle.
There are several factors to consider before planning for a Sitecore upgrade. A few of them are listed below:
- Are all your custom config changes isolated in include configs in App_Config\Include folder?
- Are you using Sitecore shared modules?
- Do you have third party integrations into Sitecore?
- Do you have custom Sitecore Support DLL’s for your current solution?
- Do you have a lot of Sitecore customizations (Pipelines, processors, commands, etc.)?
- Are your running Sitecore 6.5/6.6 (Search code consideration since Sitecore search changed drastically starting Sitecore 7)?
Our case study is a hypothetical Sitecore 6.5 solution which we will assume that it has been in production for a few years. It was written in Web Forms. With a few shared source modules and a couple of external integrations. Config for the most part was in an external config but some changes needed to be done in the web.config due to the external integrations.
The wants are simple, we want the best for the site going forward. So in the best interest of the site, Sitecore 8 was picked. Now that release 3 is out, it should be a lot more stable!!
Also we want to move to Sitecore MVC and do it the right way with Dependency Injection with unit testing, the whole 9 yards!
Current Environment in this Hypothetical Situation
A typical Sitecore environment is shown in the images below:
As with any upgrade the main concern is the infrastructure and ongoing costs for the upgrade. Along with this concern if we look at the upgrade path for a 6.5 instance to a Sitecore 8 release 3, its mind blowing.
Technology considerations such as SQL Server version minimal requirement for 8 as opposed to an old 6.5 install, search technology like Solr or Coveo, WFFM and Mongo DB among others will come into play.
The normal upgrade path from a Sitecore 6.5 Initial release to Sitecore 8 Update 3 is depicted in the flow below:
Based on all of the above information, it looks like its a huge undertaking and it is. After each version upgrade there is testing to do, may be code changes etc. Is this enough for you to call it quits??
Well wait for my next blog post in this series to find out about a different approach. This might help you make your decision and cut your costs.
As usual if you have any questions or comments, do not hesitate to get in touch with me.