“Everything fails, all the time” – Zitat Werner Vogels (CTO Amazon.com)
Für ein Kundenprojekt sind wir gerade auf der Suche nach „Best Practice“. Dabei sind wir (unter anderem) auf ein Konzept einesg der großen Public-Cloud-Anbieter, Amazon, gestoßen und haben Tipps parat, wie das umzusetzen wäre:
- Vermeinden Sie „single points of failure“, also nichtredundante Elemente. Wenn ein solches versagt, steht alles.
- Nehmen Sie an, dass alles schief gehen kann und planen Sie rückwärts mit dem Ziel, dass Ihre Anwendung auch noch verfügbar ist, wenn die zugrundeliegende Hardware versagt, ausfällt oder ersetzt werden muß.
Lernen kann man von den vorgeschlagenen Möglichkeiten zur Realisierung – im speziellen für für Amazon, aber die Ratschlage sind allgemein gültig:
- Verwenden Sie für Ihr Design nicht-geroutete IPs, um eine interne Umschaltung einfach zu machen.
- Bei Amazon nutzen Sie EC2 Availibility Zonen (ein Service von Amazon, das mehrere autonome Zonen zusammenschließt.
- Verwenden Sie mehrere Datenbankserver in verschiedenen Zonen/Standorten.
- Verwenden Sie replizierende Filesysteme zur Verteilung und Syncronisation Ihrer Daten.
Natürlich fließen solche Erkenntnisse laufend in unsere Arbeit ein. Mehr Info im speziellen bei Slideshare oder bei der Software Company in Innsbruck, Salzburg oder Wien.