Das Problem bei Hochverfügbarkeit ist auch weniger, dass der Dienst von extern und/oder über die Welt verteilt erreichbar ist, sowas kann man im Grundansatz über BGP mit Anycast-IPs recht simpel lösen.
Teilausfälle (z.B. Packetloss im einstzelligen Prozentbereich oder flappende Routen) sind hier ein Problem welches man wenig bis gar nicht vollumfänglich abbilden / verhindern kann weil man es schlichtweg nicht Ende-zu-Ende (Client zu Server) messen kann bevor man nicht Code auf dem Client ausführen kann.
Das wirklich große Problem ist aber, dass die einzelnen Inseln den gleichen Datenstand haben müssen.
Korrigiert mich falls ich was verpasst habe, aber afaik gibt es keine allgemeine Lösung dafür, dass eine Anwendung, die Daten schreiben muss, im Grunde fast nie mit einem Split-Brain Szenario klarkommt (auch nicht mit orgendwelchen witness-Konstrukten).
Wenn du ein Split-Brain hast und 2 User einen Datensatz gleichzeitig in 2 Clustern verändern wollen, dann kracht es zwangsläufig sofern die Anwendung das nicht irgendwie abfangen bzw. im Nachhinein konfliktfrei zusammenführen/mergen kann.
Dazu kommen natürlich noch beliebige Probleme mit DNS und SSL-Zertifikaten auf die man größtenteils kaum Einfluss hat.
Um auf das eigentliche Thema zurückzukommen:
Das pw-Tool (und andere ähnliche Tools wie interne Wikis oder die eigene Doku auf nem CIFS-Share) könnte man (hinter einer Firewall über die man per VPN connecten muss) bei Anbieter A hosten und da mehrmals täglich einen Sync zu Anbieter B (selbes Setup in kleiner) machen.
Dann kann man vielleicht ne Stunde lang nichts ändern wenn A ausfällt, hat aber seine wichtigsten Daten parat.
Wenn Abieter A in Straßburg steht hat man dann auch den Fall abgedeckt, dass die Bude abbrennt.
