Blog Support FAQs Contact Login
NEED TO TALK?
1.877.426.6834
  • Business Needs
  • Solutions
  • Why Contegix
  • Company
  • Customers
  • Resources



Tech  ::  Automatic Upgrades: Yay or Nay?

Automatic Upgrades: Yay or Nay?


30
Jun 2008
2
Comments



We’re often asked at Contegix, “Do you perform automatic upgrades of Application XYZ?”, and are answer is always emphatically, “No”. This tends to spark some debate, since we do tend to perform RHEL updates automatically. First, let’s define “automatic”, because obviously we’re not shutting down instances/servers without explicit permission from you or your team. In regards to standard RHEL updates, we inform you after the updates have passed a rigorous round of testing and have both the Redhat and Contegix internal “go-ahead” that we need to perform updates on your servers. We consider these mandatory for the reasoning of security. Redhat doesn’t push superfluous updates down the pipe to your servers. They’re generally provided for very specific means, and the number one reason is security. We can push these updates because 99% of the time, the end-user (you) won’t even notice the difference in most cases. On the rare occasion an update may have an odd effect, but I’d like to stress that the case of that happening is excruciatingly rare.

Let’s compare this to… well, -any- web application you’re running right now. First off, keeping up with what’s running on every customer’s server is a massive chore in of itself. Keeping up with that list, and checking to make sure every web application is running the newest version is just a research nightmare. Obviously, the big applications (aka our managed applications) we’re aware of, such as the Atlassian suite of applications, WordPress, Jive’s suite of applications, and so on. Unfortunately, keeping tabs on all the various web applications we use, and their version numbers, is a bit rough, but is something we plan on tackling in the future. The real problem however exists in the following question: “Do you really want to upgrade?”

The problem is that many applications have introduced the wondrous world of plugins into their applications. Honestly, from our side of the fence, plugins create a lot of havoc. For one, they’re not always supported by the main developers of the application in question, which leaves us restricted in the level of support we can offer to a product using them. Secondly, they make application upgrades comparable to a roller coaster where the cars may or may not come unhinged from the track, sending you careening into a brick wall. That’s not to say we don’t like plugins, because we love plugins. For instance, the WordPress Automatic Upgrade Plugin turns WordPress upgrades into a quick 5 minute ordeal. No need to worry about asking us to upgrade your WordPress, take backups, and hope that we catch any theme changes that need to be made in the process. Instead, a few button clicks and this plugin will complete the upgrade in no time flat, bringing you to the latest version of WordPress. I’ve used it on my personal blog a couple times now, and it worked flawlessly. Obviously, your mileage may vary, but if nothing else it performs backups before it does anything, so if the upgrade fails, reverting back is a snap.

Why on Earth would a WordPress upgrade fail though? Plugins. It’s the same reason we have upgrade problems with any application we work with, plugins inherently create issues for upgrade procedures because they introduce new quirks that may fail when the core application is upgraded. Depending on how integral that plugin is to your application instance, this could cause an upgrade to become a complete failure. A default instance of Confluence/JIRA/Crowd upgrades smoothly, no problems to worry about. An instance of Confluence with a bunch of plugins, theme changes, and so on, however tends to be a bit more interesting. It’s not really Confluence’s fault, in fact it’s quite likely that weird plugin you were skeptical about installing is breaking something internally, thus causing the upgrade to fail. More often than not though, Confluence upgrades can fail due to heavy edits to themes, generally via the Theme Builder plugins. This causes theme anomalies, as the Theme Builder plugin is out of date, not functioning properly, and the changes in Confluence between versions have also contributed to some issues with your themes, such as in 2.8 when the theme was prettied up quite a bit (nice job Atlassian!). All of sudden, what should have been an easy, smooth ride, is now resulting in an extra half hour of down time as we scramble to fix the problems. Then we have to come to a decision on rolling back, or progressing through the issues.

This is why we generally frown on automatic upgrades, because plugins add a significant curve ball to the mix that we can’t foresee. If keeping up with every web application is a documentation job of epic proportions, imagine trying to track compatibility of plugins, the plugins installed, and the ones not installed on all customer Confluence instances! We like to keep downtime to an absolute minimum, which is half the reason you’re with us we hope, and that’s why we avoid automatic upgrades. Instead we encourage staging instances, scheduled tasks, and taking each upgrade on a case by case basis. Do you want us to merely say “Confluence 2.8.1 is out, and we’ll be upgrading you on MM/DD/YYYY at 00:00″? We believe it’s in everyone’s best interest for you to decide when to upgrade, and to let us know. We’ll work through the process with you, check compatibility/dependency issues, and set the event up for a time that suits your needs best. If you’d like to see it staged out first, that’s fine too, we’re more than happy to setup a small staging instance for the upgrade when necessary, assuming it’s not detrimental to the overall health of the server. We want to work with you, as much as we work for you and your company. If you have any thoughts or suggestions on our upgrade procedures, feel free to drop them in the comment box!



 mark.rogers      Posted in: Tech     Tags: confluence | plugins | security | upgrades | wordpress



Responses



Reply
Ben W | July 1, 2008 at 4:06 am

Nice to see you using our Confluence instance as the model for all that could go wrong!


Reply
Guy Fraser | July 6, 2008 at 8:10 pm

Any customisation to a product will make upgrading more difficult.

We always do upgrades on a staging environment first, then let the customer check to see if everything is working for them (they know their wiki better than anyone else) while we monitor the logs and application for any errors or warnings.

The average upgrade takes about 10 minutes to complete – it’s pretty easy to spot and fix the majority of teething troubles, although sometimes you’ll run in to something new that needs deeper investigation – not too much of a problem when the upgrade is being done on a staging environment.

Two things that really help are:

1. Avoid x.x.0 releases – they are always broken. Wait for the x.x.1 or later release instead.

2. Wait about a month after a new release before upgrading to it – give plugins time to catch up.


Leave a Reply

Your email address will not be published. Required fields are marked *





  Cancel Reply

  • Categories

    • Culture
    • Employees
    • Events
    • Knowledge
    • News
    • Staff Development
    • Tech
    • Technology
    • Uncategorized
  • Archives

  • January 2012
  • December 2011
  • November 2011
  • October 2011
  • September 2011
  • July 2011
  •    More »

    Popular Posts

    Contegix Announces Our New Controller

    Contegix is happy to announce the newest addition to our…

    January 19, 2012

    Best & Brightest Wanted Here!

    Here at Contegix we are once again looking to add…

    January 16, 2012

    Welcome to the Team!

    We are pleased to announce the addition of Matt Steiner…

    December 20, 2011

    Hyper Wars: IT Industry Disrupted by Multihypervisor Approach

    For the past month, InformationWeek has featured several pieces covering…

    December 14, 2011

  • NEED SOME ASSISTANCE?
    We’re here to help you, 24/7/365. Give us a call at 877.4.CONTEGIX or drop us a line.
    1.877.426.6834
    sales@contegix.com




  • Contegix Headquarters
    900 Walnut Street, Suite 110
    Saint Louis, MO 63102

    Phone: 314.622.6200
    Toll-Free: 877.4.CONTEGIX
    or 877.426.6834
    Fax: 314.621.4422

  • Locations

    Contegix Data Center – STL1
    900 Walnut Street
    Saint Louis, MO 63102

    Contegix Data Center – STL2
    1111 Olive Street

    Saint Louis, MO 63101

    Contegix Data Center – LDN1
    11 Hanbury Street
    London
    E1 6QR
    England

    ©2011 Contegix LLC, All Rights Reserved.

  • Recent Tweets

    • RT @dzhu: Really impressed by @contegix support's response time and expertise today.
    • @dzhu thanks! Let us know if you need anything!
    • Happy New Year!
    • RT @appfusions: Smooth website upgrades & data imports in process w/ @Contegix today - Good stuff! #atlassian #Skilled #ManagedHosting