Istnieje istotna różnica między uczynieniem usługi wysoce dostępną a wysoce indywidualną maszyną.
W większości przypadków celem jest zapewnienie wysokiej dostępności usługi, a dostępność poszczególnych maszyn jest jedynie środkiem do osiągnięcia tego celu. Istnieje jednak limit, jak daleko można osiągnąć cel, poprawiając dostępność poszczególnych maszyn.
Nawet jeśli możesz usunąć wszystkie przestoje z powodu konieczności aktualizacji oprogramowania, poszczególne komputery nadal nie będą w 100% dostępne. Dlatego, aby zwiększyć dostępność usługi ponad dostępność poszczególnych maszyn, należy zaprojektować redundancję na wyższym poziomie. Ostatnie zdanie twojego pytania pokazuje, że przynajmniej w zasadzie o tym wiesz.
Jeśli zaprojektujesz usługę, która będzie bardziej dostępna niż pojedyncze maszyny, to nie będzie już presji na osiągnięcie wysokiej dostępności poszczególnych maszyn. Dlatego w przypadku wysoce dostępnych usług nie trzeba unikać ponownego uruchamiania. Zamiast tego możesz poświęcić pewną niezawodność poszczególnych maszyn, aby uzyskać oszczędności, które można przeznaczyć na inne obszary, w których można uzyskać znacznie wyższy wzrost niezawodności.
Kiedy system wysokiego poziomu zostanie zaprojektowany tak, aby był niezawodny w przypadku awarii poszczególnych komponentów sprzętowych, łatanie jądra na żywo zmienia się z przewagi w ryzyko.
Jest to ryzyko, ponieważ mogą występować subtelne różnice między zachowaniem maszyny, która została załatana na żywo, a maszyną uruchomioną z najnowszą wersją jądra. Może to spowodować ukryty błąd, który może spowodować awarię przy następnym uruchomieniu komputera. Ryzyko to zwiększa się poprzez ponowne uruchomienie, aby uzyskać czystą kartę, która jest postrzegana jako metoda łagodzenia niektórych awarii.
Pewnego dnia możesz mieć awarię, w której Twoim zdaniem może pomóc ponowne uruchomienie komputera. Ale podczas restartu zostajesz dotknięty ukrytym błędem, który uniemożliwia maszynie powrót do pożądanego stanu. Patchowanie na żywo nie jest jedynym sposobem, w jaki może wystąpić taki ukryty błąd, może się również zdarzyć, ponieważ coś tak przyziemnego jak usługa została włączona ręcznie i nigdy nie została skonfigurowana do uruchamiania podczas rozruchu lub została skonfigurowana do uruchamiania zbyt wcześnie, aby nie pojawia się z powodu niezadowolonych zależności.
Z tych powodów wysoce dostępna usługa może być łatwiejsza do osiągnięcia przy regularnym ponownym uruchamianiu poszczególnych komputerów w wystarczająco wolnym tempie, aby można było wykryć problemy i wstrzymać sekwencję ponownego uruchamiania, gdy tylko wystąpią problemy.