Vaša objavljena aplikacija sada ostaje dostupna dok je ponovo objavljujete
Kad ponovo objavite aplikaciju na Mythexu, vaš živi sajt sada nastavlja da servira prethodnu verziju dok novi build ne bude spreman, pa tek tada prelazi na novu. Ranije je ponovna objava na ceo build skidala sajt sa mreže. Posetioci su videli poruku „Ova objavljena aplikacija je van mreže ili link nije pronađen” otprilike minut, a onda je ista stranica radila pri osvežavanju. Popravili smo i dva druga načina na koje je živa aplikacija mogla pogrešno da izgleda kao neaktivna.
1. Ponovna objava više ne obara vaš sajt
Iza scene, svaka objavljena aplikacija ima zapis koji kaže koji build da servira. Ponovna objava je koristila isti zapis i označavala ga kao „building” za trajanje builda. Deo naše ivice koji usmerava posetioce servirao je samo zapise označene kao „live”, pa je svaka ponovna objava činila sajt nevidljivim dok se build ne završi. Reprodukovali smo to na maloj test aplikaciji: oko 50 sekundi van mreže po ponovnoj objavi.
Sada, kad ponovna objava počne na aplikaciji koja je već živa, zapis pamti da prethodni build postoji i nastavlja da pokazuje na njega. Ivica servira prethodni build dok se novi gradi, a pokazivač se pomera na novi build tek kad on uspe. Ako novi build ne uspe, vaši posetioci to nikad ne primete, jer stara verzija jednostavno ostaje na mreži.
Prva objava, ili ponovna objava aplikacije koja je bila pauzirana ili povučena, i dalje postaje živa tek kad se build završi, jer nema prethodne verzije za prikaz.
2. Kratak zastoj više ne izgleda kao „not found”
Servis ispred vaše objavljene aplikacije pita naš API gde živi svaki sajt. Ranije je svaki neuspešan odgovor, bilo privremena serverska greška ili prekinuta veza, tretiran kao „ovaj sajt ne postoji”, pa je prikazivao stranicu van mreže. Osvežavanje sekund kasnije radilo je, što je bilo zbunjujuće.
Sada samo pravi odgovor „not found” važi kao not found:
- Svaki drugi neuspeh se pokušava ponovo jednom.
- Ako i dalje ne uspe, ivica servira sajt iz poslednjeg poznatog dobrog odgovora do sat vremena.
- Samo ako nikad nije dobio odgovor, prikazuje se stranica „privremeno nedostupno”, nikad „not found”.
Prilagođeni domeni takođe pitaju naše produkcione i stejdžing sisteme paralelno, pa spori stejdžing server nikad ne može da zadrži produkcioni domen.
3. Pauzirana aplikacija kaže da je pauzirana
Objavljene aplikacije rade na vašem kreditnom saldu. Ako ponestane kredita, aplikacija se pauzira dok ne dopunite, i sama se vrati kad to uradite. Ali pauzirana aplikacija je ranije izgledala potpuno kao obrisana.
Sada posetilac pauzirane aplikacije vidi „Ova aplikacija je pauzirana”, sa načinom da se vlasnik vrati. Odgovor se nikad ne kešira, pa je aplikacija ponovo dostupna čim se nastavi. Ako je aplikacija nedostupna iz nekog drugog razloga, posetioci vide „Ova aplikacija nije dostupna”, bez objašnjenja zašto.
Zašto je ovo važno
Objavljena aplikacija je nešto što ste podelili: u biografiji, na vizit karti, sa prvim klijentima. Treba da se ponaša kao pravi sajt. Treba da ostane na mreži dok je poboljšavate, da preživi kratak zastoj i da bude iskrena kad je pauzirana.
Više o objavljivanju u dokumentaciji: kako objaviti i ograničenja hostinga. A infrastrukturna strana iste ideje: kako smo doveli naše sopstvene deploy-e na nula 502 grešaka.