Heute nacht hat man aber was Besseres vor.
Wer in Größenordnungen wie Amazon oder ebay denkt, hat einen ganzen IT-Stab um sich herum und wird mit Sicherheit nicht in einem PHP-Forum solche Fragen stellen. Also bleiben wir mal in einem realistischen Rahmen:
a) Anfangs ist es eine zentrale, monolithische Applikation.
Updates können in einer parallelen DB eingespielt werden. Das kann ruhig sehr lange dauern. Die Applikation läuft unvermindert weiter mit der originalen DB.
Wenn das Update durch ist, werden die (zentral abgelegten) DB-Zugangsdaten geändert. Die Applikation war keine Sekunde offline.
Bei Code-Updates funktioniert es ähnlich. Parallele Installation und Änderung der Webserverkonfig.
b) Später kommt vielleicht Replikation und Balancing dazu.
Bei gewissen Änderungen an DB und/oder Applikation kann man wie bei a) verfahren. Die wenigen Updates, die sich nicht parallel einspielen lassen, werden Host für Host aufgezogen. Ist die Hälfte des Clusters mit Updates versorgt, wird umgeschaltet. Dann werden die restlichen Hosts aktualisiert und nach und nach wieder zugeschaltet. Die Applikation war zwischendurch also immer langsamer geworden und dann wieder schneller, war aber nie wirklich offline. (Wer den Leistungseinbruch vermeiden muß, vergrößert seinen Cluster vorrübergehend um 50%.)
c) Amazon, ebay, ... Träumerei!
Wer in Größenordnungen wie Amazon oder ebay denkt, hat einen ganzen IT-Stab um sich herum und wird mit Sicherheit nicht in einem PHP-Forum solche Fragen stellen. Also bleiben wir mal in einem realistischen Rahmen:
a) Anfangs ist es eine zentrale, monolithische Applikation.
Updates können in einer parallelen DB eingespielt werden. Das kann ruhig sehr lange dauern. Die Applikation läuft unvermindert weiter mit der originalen DB.
Wenn das Update durch ist, werden die (zentral abgelegten) DB-Zugangsdaten geändert. Die Applikation war keine Sekunde offline.
Bei Code-Updates funktioniert es ähnlich. Parallele Installation und Änderung der Webserverkonfig.
b) Später kommt vielleicht Replikation und Balancing dazu.
Bei gewissen Änderungen an DB und/oder Applikation kann man wie bei a) verfahren. Die wenigen Updates, die sich nicht parallel einspielen lassen, werden Host für Host aufgezogen. Ist die Hälfte des Clusters mit Updates versorgt, wird umgeschaltet. Dann werden die restlichen Hosts aktualisiert und nach und nach wieder zugeschaltet. Die Applikation war zwischendurch also immer langsamer geworden und dann wieder schneller, war aber nie wirklich offline. (Wer den Leistungseinbruch vermeiden muß, vergrößert seinen Cluster vorrübergehend um 50%.)
c) Amazon, ebay, ... Träumerei!
Kommentar