
Ich habe gelesen, dass man durch vollständige Redundanz eine nahezu 100-prozentige Verfügbarkeit der unternehmenskritischen Anwendungen (Verarbeitung von Finanzdaten) erreichen kann, die auf einem dedizierten Server ausgeführt werden. Aber ich kann immer noch nicht verstehen, wie ich dies erreichen könnte.
1) Angenommen, ich habe mehrere Webanwendungen (mit großen und häufigen Dateien und Datenbankaktualisierungen) auf meinem aktuellen Server laufen. Nach dem, was ich gelesen habe, müsste ich mir einen weiteren dedizierten Server (als Backup-Server) besorgen, auf dem ich alle Dateien und Datenbankdaten spiegeln könnte, und wenn mein primärer Server aus irgendeinem Grund ausfallen würde, würde mein Backup-Server die Last sofort übernehmen. Die Übertragung vom primären Server zum Backup-Server erfolgt über DNS. Ist das richtig? Gibt es eine bessere Möglichkeit, Redundanz zu erreichen als diese?
2) Wenn wir das tun würden, was ich unter Punkt 1 erwähnt habe, was würde passieren, wenn der primäre Server wieder online ginge? Wie würde der primäre Server alle Änderungen aufholen, die auf dem Backup-Server vorgenommen wurden?
3) Gibt es da draußen eine Anleitung, die ich nachlesen könnte, wie ich das am besten mache? Ich habe bereits bei Google gesucht, aber was ich meistens finde, würde für uns nicht funktionieren, da unsere Web-Apps nicht länger als mindestens 5 Minuten ausfallen dürfen und wir keine Daten im Umfang von 5 Minuten verlieren können.
4) Gibt es einen Dienst, der das für uns erledigen könnte? Da wir bereits einen dedizierten Server haben, müsste der Dienst mit der vorhandenen Arbeitsumgebung zusammenarbeiten. Aber ich würde es vorziehen, wenn ich lernen könnte, wie ich das selbst machen kann.
Ich wäre Ihnen sehr dankbar, wenn Sie mir hier den richtigen Weg weisen könnten.
Antwort1
Dies hängt ganz von der Architektur und den Verfügbarkeitsoptionen der jeweils eingesetzten Anwendungen ab.
Unterstützt Ihre Datenbank eine Cluster-Bereitstellung? Eine gespiegelte/replizierte Bereitstellung? Beides? Welche Einschränkungen gibt es bei beiden? Wie sieht der Failover-/Wiederherstellungsprozess aus? Die Anforderungen an die Ressourcenzuweisung? Und was ist mit Ihrer Web-App? Kann diese geclustert werden? Lastenausgleich? Beides? Was ist mit Ihrem ISP? Haben Sie redundante Internetverbindungen? Von verschiedenen Leitungen, die in verschiedene Seiten des Gebäudes führen, damit die Bauarbeiten nicht beide beeinträchtigen? Wie ist Ihre Stromversorgungskonfiguration? Haben Sie redundante Stromversorgungen? Redundante USVs? Einen Generator für das Rechenzentrum?
Diese Fragen sollen hier nicht beantwortet werden – sie sollen Ihnen nur die Spitze des Eisbergs bei der Entwicklung dieser Art von Lösung zeigen. Eine Verfügbarkeit von 100 % ist ein unerreichbares Ziel, aber wenn Sie diesem Ziel so nahe wie möglich kommen möchten, sollten Sie jemanden mit Erfahrung damit beauftragen, denn basierend auf dem Inhalt Ihrer Frage sind Sie noch lange nicht so weit.
Antwort2
MDMarra hat Recht, dies ist keine Frage, die hier vernünftigerweise definitiv beantwortet werden kann (+1).
Sie müssen Ihre Anwendung in allen sieben Schichten des OSI-Modells betrachten und dann Redundanz hinzufügen beijedeEbene. Sie werden höchstwahrscheinlich Input von allen beteiligten Entwicklern und Administratoren benötigen.
Wenn das Management anfängt, sich über den Preis zu beschweren, sollten Sie sich auf eine Diskussion über die Kosten von Ausfallzeiten im Vergleich zu Redundanz einstellen. Eine gute Faustregel ist, dass jede Dezimalstelle (99,9 % -> 99,99 % -> usw.) einer weiteren Null am Ende der Kosten entspricht. Es wird also wahrscheinlich auf ein gut durchdachtes Design und eine Ausführung hinauslaufen, die den technischen Anforderungen und den Kostenbedenken des Managements gerecht wird. Es ergibt wenig Sinn, eine Millionen-Dollar-Lösung zu entwickeln, um eine 1000-Dollar-Anwendung zu schützen.
Wenn Ihnen das Management jedoch einen Blankoscheck ausstellt, bin ich sicher, dass es viele Leute gibt, die bereit wären, sich zu beraten =)