-
Never run a touchy system
Autor: twothe 01.12.20 - 13:31
Die Information was für ein OS diese Beschränkungen hat wäre noch interessant gewesen.
Abseits davon wirft das schon einige Fragen auf was da bei Amazon passiert. Erst mal sollte es Allgemeinwissen sein, dass man nicht tausende Threads auf macht, allein schon wegen dem Overhead den das verursacht. Und dann sollte ein System nicht komplett ausfallen wenn eine Komponente ausfällt.
Jetzt könnte man sagen "Ja war ja ne zentrale Komponente, kann ja mal passieren" aber nein: in so einer Architektur darf es keine "zentrale" Komponente geben die einen völligen Systemausfall verursachen kann. D.h. nicht nur die Softwarequalität rückt sich damit in ein fragwürdiges Licht, die Systemarchitektur ebenfalls.
Nimmt man dazu noch die extrem teuren Gebühren die man sich bei Amazon bezahlen lässt, sollte sich jeder Software-Entwickler 2x überlegen ob es wirklich AWS sein muss. Für gewöhnlich sind die alternativen einfacher und sicherer. -
Re: Never run a touchy system
Autor: NeoChronos 01.12.20 - 15:15
Welches System hat denn kein Prozesslimit?
Allein schon weil dein Stack irgendwann voll ist, ist irgendwann mal Ende, die Limits sind meistens standardmäßig eh viel niedriger angesetzt
Welches System das war? Bei amazon wohl Linux, würde ich vermuten
Warum das zusammengebrochen ist und ob man das mit besserer Architektur, Softwarequalität, etc. verhindern hätte können? Keine Ahnung - mit viel Aufwand sicher möglich, aber dann wäre es bestimmt nochmal um 1-2 Faktoren teurer und der Fehler wird wohl eh kein 2. Mal auftauchen -
Re: Never run a touchy system
Autor: xUser 01.12.20 - 17:25
twothe schrieb:
--------------------------------------------------------------------------------
> Jetzt könnte man sagen "Ja war ja ne zentrale Komponente, kann ja mal
> passieren" aber nein: in so einer Architektur darf es keine "zentrale"
> Komponente geben die einen völligen Systemausfall verursachen kann. D.h.
> nicht nur die Softwarequalität rückt sich damit in ein fragwürdiges Licht,
> die Systemarchitektur ebenfalls.
Es gab keine völligen Systemausfall. Das ist eine Behauptung von Golem.
Außerdem hatte man das Problem schon vorher erkannt und bereits an der Umsetzung gearbeitet. Ein perfekte Architektur gibt es nicht. Es sind immer Kompromisse. -
Re: Never run a touchy system
Autor: gadthrawn 03.12.20 - 06:24
NeoChronos schrieb:
--------------------------------------------------------------------------------
> Welches System hat denn kein Prozesslimit?
> Allein schon weil dein Stack irgendwann voll ist, ist irgendwann mal Ende,
> die Limits sind meistens standardmäßig eh viel niedriger angesetzt
>
> Welches System das war? Bei amazon wohl Linux, würde ich vermuten
>
> Warum das zusammengebrochen ist und ob man das mit besserer Architektur,
> Softwarequalität, etc. verhindern hätte können? Keine Ahnung - mit viel
> Aufwand sicher möglich, aber dann wäre es bestimmt nochmal um 1-2 Faktoren
> teurer und der Fehler wird wohl eh kein 2. Mal auftauchen
Die Frage ist ob ein System nicht weiterlaufen sollte wenn ein Limit gesetzt wird was unterhalb der Systementwicklung ist. Dann werden keine neuen Prozesse mehr Gespanne, bzw. landen in einer queue. Keine sonderlich schwere Lösung, haben einige altsysteme. Dann skaliert im aws Fall einfach etwas nicht weiter oder nur bestimmte Funktionen können nicht gestartet werden. Es reißt aber nichts unbetroffenes mit. -
Re: Never run a touchy system
Autor: xUser 03.12.20 - 13:40
gadthrawn schrieb:
--------------------------------------------------------------------------------
> NeoChronos schrieb:
> ---------------------------------------------------------------------------
> -----
> > Welches System hat denn kein Prozesslimit?
> > Allein schon weil dein Stack irgendwann voll ist, ist irgendwann mal
> Ende,
> > die Limits sind meistens standardmäßig eh viel niedriger angesetzt
> >
> > Welches System das war? Bei amazon wohl Linux, würde ich vermuten
> >
> > Warum das zusammengebrochen ist und ob man das mit besserer Architektur,
> > Softwarequalität, etc. verhindern hätte können? Keine Ahnung - mit viel
> > Aufwand sicher möglich, aber dann wäre es bestimmt nochmal um 1-2
> Faktoren
> > teurer und der Fehler wird wohl eh kein 2. Mal auftauchen
>
> Die Frage ist ob ein System nicht weiterlaufen sollte wenn ein Limit
> gesetzt wird was unterhalb der Systementwicklung ist. Dann werden keine
> neuen Prozesse mehr Gespanne, bzw. landen in einer queue. Keine sonderlich
> schwere Lösung, haben einige altsysteme. Dann skaliert im aws Fall einfach
> etwas nicht weiter oder nur bestimmte Funktionen können nicht gestartet
> werden. Es reißt aber nichts unbetroffenes mit.
Die hatte ein Thread pro Instance um mit den anderen Instanzen zu reden , d.h. das mit erreichen des Limits die Daten unvollständig wurden. Die Software lief ja weiter.



