We run a SaaS business today, all servers run Ubuntu Server and usually a LAMP stack on top of that.

We are reasearching a little bit how we should upgrades our servers. One option is to stay on LTS 10.04 which we run today until it's about to run out and then go to the next LTS, the other option is to upgrade to all intermediate versions between LTS as soon as they are released.

What are the pros/cons, are there any other ways? How do enterprises usually do?

Are there any downsides to performing an upgrade rather than going to clean installs every time?

We'd like to benefit of the major version upgrades of MySQL / Apache / PHP etc even if it might take some extra compability work to verify everything.

1 Answer
1

LTS are usually for business, and are usually more stable, and the server version is supported for 5 years.
https://wiki.ubuntu.com/LTS has some pretty pictures.

Cons of upgrading each release

Upgrading each release is

A pain

a small risk; new release may contain bugs that the previous one didn't, or may be less stable

Pros of upgrading each release

You get newer versions of programs though apt-get (Although that is not a problem if you install from source)

Upgrading vs Clean install

I will always prefer clean installs, but this is a personal preference, and doesn't really have a solid grounding. However saying that every time I have upgraded there always seems to be some small annoying problem that a clean install gets rid of.

I suppose a clean install will also allow you to think about what programs are actually needed, and allows you to have a clean start, installing root kit checkers, etc

I will always use LTS releases for my servers. If I want the absolute latest program I will install from source, but then bear in mind that you will have to update these manually.

LTS may not get the latest and greatest, but will be pretty solid and stable, and will get security updates.

As you would like to benefit of the major version upgrades of MySQL / Apache / PHP I would install these from source.

But again this is all personal preference based on nothing more than a couple of years experience

How do enterprises usually do?

I would assume they all use LTS as that is who it is designed for!

Final thought

If you do decide to upgrade each release, I would have a 'test' server that I would upgrade first, run for at least a couple of weeks to make sure there are no problems, before upgrading the whole lot.