Kiedy jest odpowiedni czas na wprowadzenie wysokiej dostępności strony internetowej?
Istnieje wiele artykułów na temat opcji wysokiej dostępności. Nie jest to jednak takie oczywiste, KIEDY jest właściwy czas na przejście z konfiguracji pojedynczego serwera na konfigurację wysokiej dostępności.
Proszę wziąć pod uwagę moją sytuację:
http://www.postjobfree.com to witryna internetowa 24/7 ze znacznym ruchem:
http://www.similarweb.com/website/postjobfree.com
Obecnie uruchamiam go na jednym serwerze: zarówno serwer sieci Web IIS 7.0, jak i SQL Server 2008 działają na tym samym sprzęcie.
Czasami (~ jeden raz w miesiącu) ~ 5 minut przestoju, zwykle spowodowanego ponownym uruchomieniem wymaganym przez niektóre aktualizacje systemu Windows Server. Zazwyczaj przestoje są planowane i zdarzają się w nocy. Nadal jest to nieprzyjemne, ponieważ Google Bot i niektórzy użytkownicy są nadal aktywni w nocy.
Obecne przychody ze strony wynoszą ~ 8 000 $ / miesiąc.
Rozważam przejście na konfigurację z dwoma serwerami (farma internetowa 2 serwerów WWW i klaster 2 serwerów SQL hostowanych na dwóch serwerach sprzętowych).
Plusy:
1) Wysoka dostępność (teoretycznie brak przestojów). Nawet jeśli jeden z serwerów ulegnie awarii - inny serwer przejmie kontrolę.
2) Brak utraty danych: bez klastra SQL w przypadku awarii sprzętu może dojść do utraty jednego dnia danych (wykonujemy codzienne kopie zapasowe).
Minusy:
1) Więcej wysiłku w celu skonfigurowania i utrzymania takiej konfiguracji.
2) Wyższy koszt hostingu. Zamiast ~ 600 $ miesięcznie byłoby to około 1200 $ / miesiąc.
Jakie byłoby twoje zalecenie?
źródło
Odpowiedzi:
Krótka odpowiedź: gdy przestój lub ryzyko z tego powodu kosztuje Cię więcej niż koszt wysokiej dostępności.
Jest to zasadniczo decyzja gospodarcza. Jako przykład. 8 000 USD miesięcznie oznacza, że 2-godzinna przerwa w pracy kosztuje 22 USD. Jeśli możesz skonfigurować system tak, abyś mógł przejść od zera do w pełni funkcjonalnej witryny w ciągu 2 godzin, wysoka dostępność zapewniłaby ci tylko 22 USD więcej.
Innymi słowy, możesz zaoszczędzić pieniądze, chyba że będziesz mieć 54 godziny nieuniknionego przestoju w danym miesiącu.
źródło
Twoi interesariusze / przedsiębiorcy (którym możesz być Ty!) Muszą zdecydować
Utratę dochodów można łatwo oszacować: na resztę nie można tutaj odpowiedzieć przepraszam ...
źródło
Myślę, że większość użytkowników może sobie poradzić z zaplanowanym czasem przestoju. Weź pod uwagę, że eBay ma cotygodniowe aktualizacje w piątkowe wieczory, a stawki w takich przypadkach czasami nie działają. Bankowość internetowa mojego (dużego australijskiego) banku planuje przerwy w pracy co godzinę. Twitter cały czas przechodzi w tryb offline. Heroku / EC2 ostatnio nie działało.
Trzymałbym to w tej perspektywie, jeśli tak naprawdę rozmawiasz tylko 5 minut miesięcznie, wykonujesz całkiem dobrą robotę jako administrator systemu.
źródło
Wspomniałeś już o Google jako o indeksie, ale warto też wziąć pod uwagę wpływ, jaki opóźnienie / czas reakcji strony mogą mieć na SEO. To czarna skrzynka i wszystko to, tak trudne do oszacowania - choć za to, co jest warte, Matt Cutts uważa, że jest to jedna sprawa . Bardziej martwi mnie reputacja, jak stwierdzili inni.
źródło
Pamiętaj, że HA, podobnie jak bezpieczeństwo, nie jest produktem, ale procesem.
Na przykład replikacja bazy danych doprowadzi cię tylko do momentu, w którym każde dublowanie bazy danych będzie mogło kontynuować samodzielnie, ale będziesz potrzebować strategii ponownej synchronizacji po wymianie uszkodzonych komponentów.
Rozważmy system zamówień jako przykład: klient składa zamówienie, a podczas przetwarzania fizyczny system, z którym rozmawiał, nie działa po zapisaniu informacji o zamówieniu w lokalnej kopii bazy danych. Zniecierpliwiony klient ponownie naciska „prześlij” i zostaje przekierowany na inny serwer, który przyjmuje zamówienie. Jeśli Twoje bazy danych ponownie zsynchronizują się, odtwarzając po prostu brakujące instrukcje INSERT po drugiej stronie, kolejność zostanie zduplikowana, co może nie być tym, czego chcesz.
Jak sugeruje @Slartibartfast, wszystko sprowadza się do decyzji ekonomicznej, jednak zalecam zaplanowanie tutaj również kilku lat w przyszłości. Jeśli zatem potrzebujesz odpowiedniej konfiguracji HA, to teraz byłby dobry moment na zarezerwowanie zasobów na prace przygotowawcze.
źródło
Myśląc o tym, myślę, że zastanawiasz się nad utworzeniem strony „wieloryb”
Istnieje wiele sposobów, aby to zrobić, ale połączenie aws tras53 i s3 działa dobrze na moich małych stronach.
Skonfigurowałem domenę za pomocą kontroli poprawności, aby w przypadku awarii DNS wysyłał użytkowników do użytkowników na statycznej stronie HTML siedzącej w s3; Kosztuje prawie nic.
Z mojego doświadczenia wynika, że twoja witryna mówi „przepraszam, że coś jest nie tak, ale pracujemy nad tym”, co stanowi dla użytkowników świat. Konto na Twitterze, na którym można nawet komunikować się z użytkownikami, jest jeszcze lepsze.
To długa droga do złagodzenia „utraty reputacji”, która może być najbardziej znaczącym skutkiem awarii.
zobacz: https://aws.amazon.com/blogs/aws/create-a-backup-website-using-route-53-dns-failover-and-s3-website-hosting/, aby uzyskać przewodnik na temat konfiguracji.
Awaria społecznościowa DynDns http://dyn.com/managed-dns/social-failover/ jest czymś prostym .
Możesz rzucić własne i wykonać kontrole zdrowia, a następnie skrypty zmian DNS, pod warunkiem, że twoje rekordy DNS mają niski TTL i masz jakiś sposób programowego manipulowania nimi.
źródło
Czy zastanawiałeś się nad użyciem czegoś takiego jak EC2, który pozwoli Ci elastycznie skalować, a także negować twoje wady? Jest to ostatecznie decyzja ekonomiczna, czy warto skorzystać z EC2, czy nie, ale przynajmniej jest to opcja do rozważenia.
źródło
Aby uniknąć utraty danych, powinieneś sprawdzić konfiguracje RAID przed klastrami. Należy również skonfigurować adres IP trybu failover, który można przełączyć z jednego serwera na inny w przypadku awarii bez konieczności oczekiwania na propagację DNS.
źródło