Існує важлива відмінність між тим, щоб зробити послугу високодоступною і зробити індивідуальну машину високо доступною.
У більшості випадків мета - зробити послугу високодоступною, а наявність окремих машин є лише засобом для досягнення цієї мети. Однак існує обмеження в тому, наскільки далеко до мети ви можете досягти, покращуючи доступність окремих машин.
Навіть якщо ви зможете зняти всі простої через необхідність оновлення програмного забезпечення, окремі машини все одно не будуть доступні на 100%. Таким чином, щоб збільшити доступність послуги вище наявності окремих машин, ви повинні розробити надмірність на більш високому рівні. Останнє речення вашого запитання показує, що ви принаймні в принципі це знаєте.
Якщо ви проектуєте послугу, яка буде доступнішою, ніж можуть поставляти окремі машини, більше немає тиску для досягнення високої доступності окремих машин. Таким чином, для високодоступних послуг не потрібно уникати перезавантажень. Натомість ви можете пожертвувати деякою надійністю окремих машин, щоб заощадити, які можна досягти в інших сферах, де ви можете отримати набагато більші виграші в надійності.
Після того, як система високого рівня стане надійною у випадку відмови окремих апаратних компонентів, жива виправлення ядер змінюється від переваги до стану ризику.
Це ризик, оскільки можуть бути незначні відмінності між поведінкою машини, яка була виправлена в режимі реального часу, і машини, завантаженої з новітньою версією ядра. Це може ввести приховану помилку, яка може спричинити аварію при наступному перезавантаженні машини. Цей ризик посилюється перезавантаженням, щоб отримати чистий аркуш як метод зменшення деяких відмов.
Одного разу у вас може виникнути аварія, де ви думаєте, що перезавантаження машини може допомогти. Але під час перезавантаження ви потрапляєте на приховану помилку, що запобігає поверненню машини в потрібному стані. Виправлення в прямому ефірі - не єдиний спосіб, коли може статися така прихована помилка, вона також може статися через щось настільки приземлене, як послуга, яка була ввімкнена вручну і ніколи не налаштована для запуску під час завантаження, або налаштована для запуску занадто рано, щоб вона не з'являється через незадоволених залежностей.
З цих причин високодоступний сервіс може бути легше досягти регулярними перезавантаженнями окремих машин досить повільною швидкістю, що ви можете виявити проблеми та призупинити послідовність перезавантажень, коли проблеми не трапляються.