*HOPEFULLY* this might be a case where I do not have to wander down any further.
Assumptions being made:
Company: Fuzzywhatzit, Inc.Fuzzywhatzit has completely computer automated it's production control so the only things that people need to do, is load in raw materials (and the logistics of that) and unload, inspect and pack product for shipment.
Products:FooBalls. A Product that has made it's way on every automobile currently made in the world. It's part of the steering.
FooRetainers. The single most important retainer in the automobiles that have kiniminer bearings. It retains them.
FooControls. These are the knobs and switches that are used to control the odometer and tripometer, in cars.
Fuzzywhatzit has a problem, they have to keep the "Control Systems" running 24/7/365, just to keep up with the demand. Yes they are doing online backups of things, which makes it tricky but still. Systems need to be running and DOING the function they have period. 0% downtime.
Systems are managed by a set of computers running an OS. This OS and Applications have to be able to be run the "Computer Automated Systems" without interuption, else Fuzzywhatzit has losses @USD $1M/hour rate.
Good systems design has already been accomplished as they have six tasks, each task has a primary controller, secondary controller and tertiary controller, each with four seperate power sources and each power source with two power supplies attached to them. Each of the power sources have a battery backup as well as a primary and secondary generators to keep things alive and running, whihch includes the shop and machines as well. Gotta keep things running.
1 task is the operational database and control application server, the other 5 tasks are controlled by the first task, along the path of production.
Fortunately for Fuzzywhatzit, they get a new contract calling for 50% more capacity, than they currently are able to produce. Expansions are ready and waiting.
Well, wouldn't you know it, to increase capacity on the 6 tasks, a new "production acceleration timing system" that has been guaranteed to Fuzzywhatzit to increase production by trimming uneeded pauses and shortening working times, to the 50+% needed. This new software worth $500K/hour, it only runs on the "latest version" of the OS. Bad thing is, the database (from the 3 year old version of OS) has a single feature in it that this and only this version of the Database product has, and the whole production system revolves around the feature turned bug in later versions. Hmm. We are stuck at this version of the DB.
Since the current production system cannot be stopped without losing $1M/hour, how would you do this.
Given this story:1) The company is doing wonderful in it marketing.
2) Due to the marketing, it has acquired a contract worth $500K per hour.
3) The needed changes to increase capacity 50+% are to be software related only. And are attainable easily.
4) The three year old version of the OS has a very much newer version available, but it ALSO comes with a newer, but incompatible version of the DB.
5) The new product can and does use the older version of the DB just as well as the older version, no problems there as the existing production system depends on the old version.
6) The machines that run as primary the primary, secondary and tertiary are well capable of running the new version OS without hardware changes or upgrades.
7) The Owner of the company (yes Fuzzywhatzit is privately held) says this must be done without ANY down time, the new software must be implemented without interruption either. Thereby dis-allowing any machine to be out of service for any amount of time.
8) The success of the company rests on this project working without problems.
9) The ground work done here will mean a whole new area of work for the comapny. FooProduction Consulting.
Given all of these, please describe a good method for the upgrade without being able to "break" any machine or compatibility. Any OS can be used for this, the one you select is the one assumed to be have already been loaded previously. And Please limit your selections to those products managed by the operating system using the default tools available. (IOW, something like Linux, Apache, MySQL and PHP (LAMP) or MS2K,SQL,ASP and .NET(2SA.N))
Please be clear as to how you would manage these issues specifically with the OS upgrade and the DB staying the exact same version with the "bug" Production revolves around.