it-swarm-eu.dev

Proč jsou weby (i tyhle) někdy „Down for Maintenance“?

Osobně jsem to nikdy neudělal. Nechápu, proč tolik webů dělá, pokud děláte svůj vývoj na vývojovém serveru, proč byste někdy potřebovali vypnout produkční web?

Vždy jsem o tom přemýšlel.

Co dělají během této doby, co to vyžaduje?

36
JD Isaacks

Velký kicker pro cokoli s velkým měřítkem spočívá v tom, že pokud někdo nějakým způsobem mění schémata databáze, má obvykle k dispozici některé velké, nepříjemné skripty údržby.

Nyní to může chvíli trvat, než se spustí s vaším datovým souborem vývoje. Ale když začnete měřit data v terabajtech a petabajtech, i přidání jednoho sloupce do tabulky může trvat hodiny.

Takže bez ohledu na to, jak rychlé a automatizované je nasazení, máte stále problémy s údržbou dat, kterými se můžete projít. Pokud plánujete opravdu dobře, můžete během procesu zpracovávat zrcadlo pouze pro čtení, ale pro mnoho webů je čtení pouze zbytečné, a proto nestojí za námahu.

59
Wyatt Barnett

Existuje několik důvodů, proč byste měli chtít stránky odstavit kvůli údržbě. Jmenovat několik:

  • Změny databáze
  • DAL změny
  • Aktualizace služeb

Pokud váš web v zásadě není statický, při provádění logické aktualizace ho chcete odstranit, protože lidé, kteří na váš web zasáhnou, mohou obdržet chyby nebo neočekávané chování.

Pokud se také dotknete webu.config (v ASP.NET) pro svůj web, měli byste jej nejprve odstranit kvůli údržbě, protože to uživatelům vyhodí relaci. Pokud by tedy byli něčím uprostřed, bylo by to ztraceno.

7
Tyanna

Tohle je nějaká abstraktní otázka - dokonce jsem viděl stránky, které používaly "Down for Maintenance" namísto HTTP 500.

U webových stránek musíte někdy provést nějakou aktualizaci. Pokud například měníte databázi, nechcete, aby se během této doby žádný jiný uživatel dotkl databáze. Pokud je databáze offline, musí být web také elegantně vypnut, protože zobrazení SqlException není moc pěkné. Dalším důvodem je nějaké selhání HW nebo selhání systému (jako je únik zdrojů), které vyžaduje restart aplikace nebo dokonce restart systému.

Jednou jsem se podílel na modernizaci systému internetového bankovnictví v jedné z největších bank v mé zemi. Celý proces upgradu webových stránek, střední vrstvy a databází trval tři dny, kdy byl systém offline pro zákazníky. Zahrnoval také úplnou zálohu všeho, takže v případě selhání by se systém mohl vrátit k původní verzi.

7
Ladislav Mrnka

Servery vyžadují spuštění oprav a v mnoha operačních systémech tyto opravy vyžadují restart. To je jedna kategorie prostojů. Mnoho společností naplánuje restartování z oprav na nízkou dobu použití, například v neděli ráno. Pokud neexistují žádné záplaty, restartují servery přesto v pravidelně naplánované době údržby (jedná se o kocovinu z NT4 dní, kdy některé čítače přetékaly každý týden a půl, takže restartování týdnů zabránilo dalším chybám).

Jedna společnost, pro kterou jsem pracoval, měla na konci 90. let web s elektronickým obchodem, který za měsíc přinesl více než 1 000 000 dolarů. Někdo povýšil nesprávnou daňovou tabulku na produkční databázový server. Léčbou bylo obnovení serveru db ze zálohy a použití transakcí od poslední zálohy. Trvalo to několik hodin, během nichž web nemohl přijímat objednávky. Protože část objednávek a statické prodejní brožury probíhaly na stejném místě a byly neoddělitelné, musely se obě sestoupit.

Jedna společnost, pro kterou jsem pracoval, nechal vložit nějaký špatný text na nesprávné místo a generální ředitel vyklouzl ven a nechal webovou stránku „opravit“, zatímco rozvržení a text byly „opraveny“ a příslušná oběť byla obviňována a odpálena.

4
Tangurena

Zatímco ostatní odpovědi jsou správné, můžete se téměř vždy vyhnout prostojům pomocí správných architektur. Ale to má cenu a tato cena za to nestojí: hodinu prostojů stojí Amazon nebo infrastrukturu za NASDAQ hodně. Přetečení zásobníku ? Pravděpodobně ne tolik.

Jak se vyhnout prostojům:

  • vypínání stránek pro poskytování hardwaru: pokud máte před webem servery proxy, můžete je místo toho umístit offline bez jakéhokoli dopadu na uživatele
  • překonfigurování serverů: stejné jako výše
  • aktualizace/změna dat v databázích: můžete svůj web uvést do režimu jen pro čtení atd. ...

Obecně platí, že ve vrstvené architektuře, čím jste blíže k „top“, tím nejtěžší je vyhnout se prostojům, stejně jako u stavových (webový server vs. databáze).

4
David Cournapeau

K tomu je také psychologická a marketingová stránka. V některých případech (troufám si říci většinu případů, ale nejsem tak odvážný * g *), čtení slova „Down for maintenance“ může také znamenat „Server havaroval nebo přestal fungovat z jakéhokoli jiného důvodu“.

Viděl jsem to docela často. Normálně jako vývojář budete chtít „skutečné“ chybové zprávy, které říkají něco jako „Jejda, právě teď zažíváme vysoké zatížení a ne všechny požadavky lze zpracovat“, ale někteří lidé z marketingu vám řeknou „kámo, nemůžete řekněte zákazníkovi, že máme problém. Řekněte jim, že jsme v pravidelné údržbě - bude to vypadat mnohem lépe. ".

Takže „Down for maintenance“ je často jen dalším termínem „out of service“.

3
perdian

Web může naplánovat pravidelné prostoje, i když není naplánováno žádné prostoje pokaždé, když dojde k naplánované době prostoje. Tímto způsobem si uživatelé zvyknou na myšlenku, že web bude vždy po určitou dobu mimo provoz, takže když bude třeba udělat práci nemá, uživatelé si nebudou stěžovat tolik .

3
Barry Brown

Žádný server NEPOTŘEBA jít dolů kvůli údržbě. Můžete se tomu vyhnout pro cokoli, v libovolném měřítku, změnu DB, aktualizace serveru atd.

Problém spočívá v tom, že vytvoření a údržba systému 0-prostoje v určité míře je velmi nákladné. Potřebujete redundanci všude, vyrovnávání zatížení všude, replikaci dat, synchronizaci. To jsou těžké problémy.

V podstatě se musíte dostat na úroveň schopnosti uvolnit Netflix Chaos Monkey v prod, abyste se ujistili, že to funguje, i když část vašeho systému je zaneprázdněna aktualizací, nebo jen mimo synchronizaci. To je určitě proveditelné. Je to také velmi drahé, vyžaduje hodně času a mnoho odborníků, aby na tomto problému pracovali.

Uvedení webu do režimu údržby může být prostředkem, který si vyberete, protože nechcete tolik investovat, abyste se vyhnuli tomu, abyste si stránku na krátkou dobu zlikvidovali.

Ekonomika.

Samozřejmě, pokud si vyberete cestu 0-čas, váš web získá více než jen dostupnost, získá také spolehlivost, protože tyto osvědčené postupy slouží oběma účelům.

2
e-satis

Nechápu, proč tolik webů dělá, pokud děláte svůj vývoj na vývojovém serveru, proč byste někdy potřebovali vypnout produkční web?

Do prdele. Pokud neděláte nějakou formu matematického ověření svých výstupů ( a vaše specifikace jsou platné )), bez ohledu na to, jak opatrní jste, dochází k hovno.

Také jsou časy, kdy budete muset provést změnu klíčové části vaší infrastruktury (řekněme změnu struktury databáze), která vyžaduje prostoje.

Pokud nevyvíjíte kritický systém (řekněme pět-devět nebo šest-devět systém), odpovědnou a nákladově efektivní věcí je vybudovat systém s akceptováním prostojů jako součást reality.

Kromě toho tuto zásadu dále posouváte tím, že zkrátíte časy řízení a přístupné plánování (nebo alespoň zjistitelné) s jasným porozuměním a postupem pro účinné zotavení.

0
luis.espinal