Since it is now in the Servicelink tab, I get asked this occasionally, and I agree mostly with lundah here...
Make absolutely sure you have Software Assurance if you are changing major revisions... for example you can go from 9.4.0.25 to 9.4.1.21 without SWA, but you cannot go to 10.0.0.76, the upgrade shouldn't be allowed but there have been instances where the system allows you to then it can't license itself to the MSL servers and you are left with a system that is working but cannot process any calls (so basically a useless system). If you are not confident in this, seek out your vendor.
Reboot your system... Power it off completely and power it back on and make sure things come back to normal... If you are not confident doing this then maybe seek out you vendor.
Make 2 backups... backups equals backups minus 1... If you trust it, test it... do a restore... Well, at least be comfortable enough that you COULD do one... if you are not confident doing a restore then maybe seek out your vendor, or at least make sure your vendor is comfortable doing it. I have seen some small shops where they can "work on" a MiVB, but when things get hairy, they flake out. Make sure you understand the two types of backups, the one you do in the MiVB and the one you do in Server Manager.
Make sure you understand the process... there are two kinds of upgrades you can do, Perform Upgrade and Download and Install are different even though the end result is identical. I NEVER do a "Perform Upgrade" anymore as I have had instances where it can take a very long time, more than 12 hours and I have seen downtime get pretty high... You can download and install and upgrade whenever you wish, this method will still have downtime, but significantly less than the Perform Upgrade method... Typically 45 minutes to 2 hours depending on system size and how many phones need to upgrade.
If you have other ancillary systems, like MiCollab, Call Recording, Call Center Manager, etc... make sure those don't need an upgrade as well... Usually you are fine, but sometimes things can get wonky if the systems get too far apart.
I make this all sound scary, but it really isn't if you have done your homework... I have a few customers that do this and at least one has a newer version than my test platform. It usually goes smoothly and when I do it for customers it's often just two hours of babysitting the system to make them feel good about it... BUT if you have to make that call at 2am because your system is down, your on-call tech isn't going to be very happy and the bill probably won't be cheap either.