System komputerowy odporny na błędy to system komputerowy zaprojektowany tak, aby działał pomimo potencjalnych awarii sprzętu i oprogramowania. Opiera się on na koncepcji redundancji, która obejmuje tworzenie dodatkowych rozwiązań sprzętowych i programowych, które mogą być w stanie przejąć kontrolę w przypadku awarii dowolnego pojedynczego komponentu.
Systemy komputerowe odporne na awarie są często wykorzystywane w aplikacjach o znaczeniu krytycznym, takich jak bankowość internetowa, zlecenia kupna-sprzedaży i systemy medyczne. W przypadku awarii jednego z komponentów, system odporny na awarie jest zaprojektowany tak, aby szybko zidentyfikować awarię i obejść ją, umożliwiając systemowi dalsze wykonywanie operacji.
Systemy odporne na awarie zazwyczaj wykorzystują wiele autonomicznych komponentów sprzętowych. Komponenty te działają niezależnie od siebie, jako redundantne kopie zapasowe. Jeśli pojedynczy komponent ulegnie awarii, pozostałe komponenty mogą przejąć operacje.
Podejście to można podzielić na dwie kategorie: aktywne i pasywne. W podejściu aktywnym każdy komponent jest monitorowany, a w przypadku wykrycia usterki komponent jest wymieniany, a zadanie wraca na właściwe tory. W podejściu pasywnym, komponenty ulegają awarii w uporządkowany sposób i zamiast je wymieniać, zadanie jest następnie dzielone na pozostałe komponenty.
Odporne na awarie systemy komputerowe mają dodatkowy poziom odporności na wiele rodzajów problemów. Mogą one współpracować z innymi systemami, których działanie nie opiera się na redundancji i mogą być wykorzystywane w wielu różnych zastosowaniach. Chociaż nie są one odporne na awarie, takie systemy mogą pomóc zmniejszyć ryzyko ich wystąpienia.