There is little difference in concept between maintaining your car and maintaining Sitefinity – or any software for that matter. If you decide to never service your vehicle, it will probably run just fine for a long time, but then will come that moment when it doesn’t. You will get it looked at and the cost and effort of fixing it will be big and most likely bring to your attention a raft of other problems.
Software is just the same. If you ignore security patches, avoid application updates, and stick with IE 8 sooner or later things will stop working. Windows 98 on a x486 computer will run just as awesome as it did back in 1999, but we imagine it just won’t work in today’s environment.
"I always look to used car references when talking about IT," Sitefinity Developer Darrin Robertson said. "Even if you are not a car enthusiast, you can still understand the analogies. You can understand that the radio and engine are separate pieces of equipment but can also relate that they will both fail if your battery is flat."
Some Practices to Maintaining Your Sitefinity Site
- Major Updates are considered when you move from a 12.x version to a 12.y or 13.x version. These often require updates to your database and take longer to happen depending on the size of your database content. They can also contain new versions of third-party references and sometimes breaking changes.
- Minor Updates are considered when you go from version 13.3.x to 13.3.y. These are often just bug fixes.
- Security Patches aren’t frequent, but if one is announced and you should perform it, it generally requires downloading the patch file for your version and including it with a release. Instructions will accompany the notification.
Plan for the Major Upgrades
Once you have your site going and your marketing team is accomplishing their objectives, there may be reluctance to interfering or risking downtime with a major upgrade.
But you and your team don’t want to be the car that never gets serviced then suddenly need to do the latest fandangle fad and the current system cannot easily support it. Or, worst you suffer from a security breech that was fixed a long time ago.
Work together to plan a future date where an upgrade can be done. Perhaps it’s in a low season period or you adjust some product release dates to ensure you have that window. You want to be looking at a major upgrade once a year.
The upgrade itself should be just that. The upgrade itself. You should take a stable release and do the upgrade without adding in any extra features. Your testing should confirm that things are running just as they were before, or better with bug fixes and performance enhancements that come with the release.
You might want to consider a mini sprint, if you are running sprints. A mini sprint is just a shorter more compact sprint. A Sitefinity upgrade done regularly is quite quick and you can get it into your test environments within the day. If it has been some time since an upgrade, it may take a little longer.
These can usually be included with your next release and you can wait for a particular bug fix that affects you in particular. It’s always a good idea to keep yourself informed of these minor releases as they come out.
These should be applied as soon as possible. If you have a good deployment process then this shouldn’t be major issue.
After an Upgrade
An upgrade can often contain improvements that will help with performance, improve security, or ensure you are prepared for the future direction of the web. But some of these things may not be enabled by default with an upgrade. They will be on with a new install of Sitefinity, but to avoid breaking something in your system it is not automatically turned on. Planning a sprint after the upgrade to look at implementing these things is a good idea. You may need to change some of your code to take advantage of it or perhaps retire some code that the platform now does out of the box. Addressing these improvements right after an upgrade and before developing new business features allows you to better track the impact of such changes on your system without muddying the results by changing multiple things.
How to Make an Upgrade Go Smoothly
The best way to ensure that the upgrade goes well is to have a well-used and automated deployment process. What we are looking at here is that the computer takes care of the deployment and you just click the buttons.
Think of it like this: “I am terrible at cleaning my car. But the car washing machine at the garage station is awesome at it. It doesn’t miss a spot or make a mess in my drive way.”
The Sitefinity upgrade process is also automated. You use a Command line tool to tell it what version you want to upgrade to and it takes care of upgrading your project. No need to rely on following a long Word document.
When humans repeat steps there is still a chance they do something wrong. A computer never does it wrong – it always does as instructed.
The common term is Continuous Integration and Deployment (CI\CD) and this is considered a best practice.
Thus, part of a good upgrade strategy is to ensure you have a good deployment strategy – this is a wide encompassing topic that includes things such as testing, backups, and rollbacks. A good deployment should be boring and a chance to have a good cup of coffee as you mindlessly watch progress indicators and hit approval buttons.
When deployments are predictable it requires less planning and less interference to the business. A well-engineered deployment process can ensure that even if the deployment goes horribly wrong the company website is still up and running.
Most of us are not car enthusiasts. Our car gets us to work and back and we enjoy listening to the radio. That can be the same for our website. It gets our message out and collects customers to our business.
But your young nephew is always on about the latest muffler and disk jockey hydro pads. Much like that young IT girl who keeps on about HTTP2/3 protocols and parallel cyber network cables.
To our nephew and IT girl these things are no brainers to get but you’ll need to understand them in order to commit and invest resources.
Consider regular ‘architecture’ meetings. A meeting where ideas are thrown around and discussed between technical and business owners and are focused more on non-customer features. Things that will improve maintenance, performance, make IT’s life easier, make the management easier.
Once agreement is had on an idea the work can be moved into an official Backlog item for inclusion and implementation in a sprint.
Have a Professional Keep You Informed
You may not have ongoing requirements to have a Sitefinity specialist on staff, but calling one in on a regular basis to give you updates on the Sitefinity product and report on your current site is just like taking your car in for a regular service. The mechanic may say and suggest a lot of things that you may or may not decide to act on, but at least you are informed.
For all advice and support for upgrading your Sitefinity instance, look to Americaneagle.com. Your trusted Sitefinity upgrade partner.