at flere redundante udgaver burde have forhindret systemet i at gå ned.
Umiddelbart skulle man tro, at der med flere redundante systemer, menes flere uafhængige redundante systemer. Desvære ser det ud til, at ordet redundans ikke umiddelbart kræver uafhængighed. Det betyder, at to redundante systemer, også kan have redundante softwarefejl, fordi softwaren ganske enkelt er identisk.
Redundant, betyder hellerikke altid, at systemerne kører samtidigt, og tjekker hinanden. Det er ikke ualmindeligt, at der anvendes redundans, hvor der blot haves en "backup" der står klar til at overtage, når det ene system selv må erkende, at det er falit. Systemet tjekker altså sig selv (lader sig ikke tjekke af uafhængig program/eller kode), og lader så bare det hele swappe over til en anden computer, når der opdages uheld. Egentligt vil jeg hellere betragte et sådant system, som et automatisk backupsystem, der automatisk overtager. Imidlertid, er dette også, med samme kode, og kun når der opdages, at der er opstået fejl, og grund til at skifte til backupsystemet.
Redundans, betyder altså langtfra, at systemet er redundant i alle ender og kanter. Og det er ikke identisk med fejltollerant.
Skal redundans reelt fungere, er vigtigt at det er på flere uafhængige systemer - det betyder også, at de fysisk skal placeres forskellige steder, at de skal indeholde forskelligt hardware, og forskelligt operativsystem og kode. Softwaren, må have samme funktion, men ikke være skrevet af samme personer. Og der må ikke bruges ens moduler. Alle de steder, hvor noget gå igen, er det brud på uafhængig redundans princippet. I praksis, er systemer derfor ikke uafhængigt redundans, og normalt forstås med redundans blot, at man kopierer fejlene til flere afhængige systemer, der består af samme hardware og software. I nogle tilfælde, er de end ikke fysisk placeret bort fra hinanden, og på forskellige strømforsyninger.
De fleste større computere, har flere strømforsyninger, hvilket gør strømforsyningen redundant. Der er også flere tilslutninger, så de kan sættes eksempelvis på forskellige faser. Imidlertid, er ikke altid, at de er på forskellige faser, og hvis de er, er de ofte på samme sikring, og denne sikring er designet til at slå alle faser ud samtidigt. I princippet, bør de være på forskellige sikringsgrupper, og på forskellige HPFI afbrydere, således de er robuste, hvis en sikring går, eller hvis en HPFI afbryder slår fra. Skal det være meget sikkert, har mange dog en nødstrømforsyning, der fungerer her.
Moralen er, at redundans ikke er så meget værd. Det kan - i nogen grad - forhindre uheld, hvis en harddisk går, eller hvis noget hardware går i stykker. Men det forhindrer ikke softwarefejl, eller hardwarefejl, der skyldes design - eller fejltyper der på anden måde kan være kopieret mellem de redundante systemer. Eller, hvis at man fordi det var nemmest, har sat alt på samme gruppe.
En gang troede jeg, at redundans betød flere uafhængige systemer. Men jeg er blevet meget klogere. Der hvor der er flest fejl, er i software, og end ikke dette kræves udviklet uafhængigt af uafhængige programmører, når det er redundante systemer.
I stedet, betales gerne 50 gange mere for softwaren, uden de redundante dele er uafhængigt kodet. Oftest er det samme kode, på samme hardware, med samme operativsystem, oversat af samme compiler, brugt samme bibliotekssystemer, og kodet, sat op, og indstalleret, af samme personer, der har gjort de samme fejl.
De lever ikke op til kravet om uafhængig redundans.