Weźmy problem na małą skalę. Małe biuro z jednym serwerem, na którym działa poczta, ActiveDirectory, udział plików i strona internetowa firmy.
Hakerzy go uderzyli i musisz zrestartować komputer, ponieważ IIS jest popsuty. Lub Exchange wymaga aktualizacji i ponownego uruchomienia. Lub usługa Active Directory uległa uszkodzeniu.
Każdy z tych izolowanych problemów „jedna usługa nie działa” wpływa na cały serwer, więc każde udostępnianie na tym serwerze wpłynie na nie z powodu konieczności ponownego uruchomienia komputera lub czegokolwiek innego.
Gdy pojawi się prawdziwy informatyk i zobaczy ten serwer, zaleci podzielenie ich na osobne serwery (i posiadanie zapasowego serwera kontrolera domeny).
Jest to stare powiedzenie: „nie wkładaj wszystkich jajek do jednego koszyka”
Teraz ta filozofia jest stosowana do serwerów sieciowych. Jeśli mam tylko jeden serwer WWW i publikuję swoją aplikację internetową (nowa MyFaceLink.com) i staje się ona bardzo popularna, mam nowe problemy. Nie mogę zdjąć strony z serwisu w celu konserwacji, gdy użytkownicy są na niej. A jeśli się zawiesi lub otrzymam zbyt wielu użytkowników, jestem chory. Nawet największy na świecie pojedynczy serwer zostanie przytłoczony nadchodzącym 1 miliardem konwersji FB.
Dlatego w grę wchodzi równoważenie obciążenia z tego samego powodu „jaja w koszyku”. Rozłóż witrynę na 3 serwerach, a jeśli jeden ulegnie awarii, pozostałe 2 zajmą pojemność. Jeśli muszę robić łatki, robię je pojedynczo i nikt tego nie zauważa.
Mówiąc najprościej, nie chodzi o cenę mega-serwera ani o to, czy może on naprawdę poradzić sobie z obciążeniem (choć może być). Chodzi o pojedynczy punkt awarii. Gdy firma jest wystarczająco zajęta i dzieje się 24x7 zamiast 5 użytkowników pracujących w wieku 8-5 lat, przestoje są niedopuszczalne. Zaplanowane przerwy są trudniejsze do zaplanowania. Więc rozkładasz obciążenie.