Friday, July 18, 2014

The Next Big Thing - A Small Whinge Expanded Upon

So after my last blog post, the one person who I know still reads this blog asked me a question... why does it matter?

The answer is something that I've seen in really BIG organisations. So I figured I should describe why it matters...

Imagine you're running a big organisation. Your computer systems are vital to the way that work. Computer down time isn't just me stomping around getting pissy about things not working. It's money. When I was working for one of those larger organisations, we were advised that it was our responsibility to have "Public Liability Insurance" to the tune of $1,000,000. That's because if through our actions we caused a problem that resulted in a lack of production, we would be held liable. It was a BIG organisation and so an hour or two could result in millions of dollars in lost production.

What this teaches you is that you ALWAYS have a plan. You should be able to go back to a state before the change. And here's the problem with APT. It's not, in any way whatsoever, enterprise grade. I could not, in good conscience, use it in that sort of environment.

Granted, my position in this organisation meant that I was often on the back foot. I was looking out for the changes to make the desktop software work. It was on me to make sure that part of it worked, the information got back to the software packaging team and the updates rolled out as quickly as humanly possible. React, react, react. I LOVED IT!

But that's beside the point. So the problem and why it's a problem. Imagine you have a package. We'll call it vital-software.

  • The initial version of vital software is 1.0.
  • All the clients have, in the lifetime of their desktops, upgraded to 1.5 without any problems.
  • No security updates have been issued.
  • A new version, 1.6, is available - but it's got a great big giant problem that means that vital-software is no longer working the way that it should... but it's absolutely vital.
Which means vital-software NEEDS to be restored to a working state ASAP.

With the way that apt currently works, apt knows about versions 1.0 and 1.6 only. So once upgraded to 1.6, you can't go back to 1.5. You can only go back to 1.0. What if file formats have changed in that time? 1.0 doesn't work either...

In reality, you'd have a small number of testing machines to mitigate your risk. One of those risks was me... if I didn't know what I was looking for in terms of functionality from an application, I had no idea whether something was wrong. A test lab was the only thing that saved me. It turned out that the software involved would have brought down a call centre... In the end the application had to be "ring fenced" (pinned in Linux terms) due to it having a requirement of an older version of mscomctl.dll. Luckily I had the vendor helping me with this one...

And it opens up opportunities... functionality changes in more recent versions (because the software is updated in the next release anyway... why couldn't you run it on an older release?).

I've been thinking about it and I reckon I need to fork the apt stack... call it RAPT (Really Advanced Packaging Tool) and hopefully have it merged back into APT (because forks are useful but generally should have different aims and/or ideologies behind them for them to be of any value)... Or risk producing my own distribution that leverages Ubuntu packages... In which case, it would have to be a rolling release...

No comments:

Post a Comment