Kako napraviti statusnu stranicu: komponente, incidenti i provjere dostupnosti
Statusna stranica na jednom mjestu govori vašim korisnicima da li vaša usluga radi. Za njenu izradu potrebna vam je lista komponenti (web stranica, API, plaćanja, slanje e-pošte), trenutni status za svaku, incidenti s vremenski označenim ažuriranjima, istorija ranijih incidenata i, po želji, pretplate kako bi ljudi saznali za probleme bez provjeravanja. Sama stranica je jednostavna. Važna odluka je gdje će se pokretati: statusna stranica mora ostati dostupna kada je vaša aplikacija nedostupna, pa ne smije dijeliti hosting, bazu podataka ni proces objavljivanja sa stvarima o kojima izvještava.
Čemu služi statusna stranica
Kada nešto pukne, korisnici žele znati tri stvari: je li problem samo kod njih, jesu li vi svjesni problema i kada će biti popravljen. Statusna stranica odgovara na sva tri pitanja bez lavine upita podršci. Također gradi povjerenje tokom vremena, jer vidljiva istorija incidenata s iskrenim izvještajima pokazuje kako rješavate probleme.
Nije to dnevnik promjena. Nove funkcije idu na stranicu dnevnika promjena; prekidi i održavanje idu ovdje.
Šta stranica treba da sadrži
Podaci
| Tabela | Ključna polja |
|---|---|
| Komponente | Naziv (Web aplikacija, API, Plaćanja, Slanje e-pošte), opis, trenutni status, redoslijed prikaza, grupa |
| Incidenti | Naslov, uticaj (manji, veliki, kritični), status (Istražuje se, Identifikovano, Praćenje, Riješeno), pogođene komponente, vrijeme početka, vrijeme rješavanja |
| Ažuriranja incidenata | Incident, poruka, status u tom trenutku, vrijeme objave, ko je objavio |
| Vremena održavanja | Naslov, pogođene komponente, planirani početak i kraj, poruka |
| Pretplatnici | E-pošta, da li je potvrđena, komponente koje ih zanimaju, token za odjavu |
Statusi komponenti su obično kratka fiksna lista: Operativno, Smanjene performanse, Djelimičan prekid, Veliki prekid, Pod održavanjem.
Stranice
- Javna statusna stranica: opšti natpis ("Svi sistemi rade" ili najgori trenutni status), svaka komponenta sa svojim statusom, aktivan incident sa ažuriranjima, najavljeno održavanje i traka istorije za 90 dana ako imate podatke o provjerama.
- Stranica incidenta: kompletna vremenska linija ažuriranja za jedan incident, sa vlastitom adresom kako bi podrška mogla da je podijeli.
- Istorija: ranije incidenti po mjesecima.
- Pretplata: prijava e-poštom uz potvrdu i postavke po komponentama.
- Administracija: kreiranje incidenta, objava ažuriranja, promjena statusa komponenti, zakazivanje održavanja.
Dozvole
Javnost vidi sve što je objavljeno. Objavljivati mogu samo članovi vašeg tima. Ako možete, držite prijavu u administraciju odvojeno od glavnog sistema za prijavu u aplikaciju, kako prekid kod vašeg pružaoca autentifikacije ne bi zaključao i vas iz vlastite statusne stranice.
Ključna odluka: neka bude nezavisna
Ovdje većina samostalno pravljenih statusnih stranica otkaže. Ako vaša statusna stranica:
- radi na istom serveru ili hosting nalogu kao vaša aplikacija,
- čita iz iste baze podataka,
- nalazi se iza iste konfiguracije domene ili CDN-a,
- ili se objavljuje istim procesom,
onda će je mnogi prekidi oboriti takođe, baš kada je ljudima najpotrebnija. Praktični koraci:
- Odvojen hosting. Drugi projekat ili pružalac usluge u odnosu na glavnu aplikaciju.
- Sopstveni subdomen, kao što je
status.primjer.com, zasebno usmjeren u DNS-u. Pogledajte kako rade domene i DNS. - Sopstveni podaci. Incidenti se čuvaju u sopstvenom skladištu statusne stranice, a ne u bazi vaše aplikacije.
- Statička rezerva. Neki timovi javnu stranicu prave kao statičku i ponovo je generišu pri svakom ažuriranju, tako da gotovo ništa ne može da pukne.
Ručna ažuriranja ili automatske provjere
Ručno (počnite ovdje)
Vaš tim ručno objavljuje incidente i mijenja statuse komponenti iz administracije. Tako rade mnoge statusne stranice u praksi, jer je ljudska procjena ("plaćanja su spora za neke vrste kartica") korisnija od automatske crvene tačke.
Da biste brzo saznali za probleme, koristite eksterni monitor dostupnosti koji provjerava vašu aplikaciju otprilike svake minute i šalje upozorenja e-poštom, SMS-om ili u chat. Mnoge usluge za praćenje imaju besplatne planove.
Automatski
Automatizacija znači da nešto redovno provjerava svaku komponentu i ažurira njen status. Za to je potreban kod koji radi po rasporedu, izvan infrastrukture vaše glavne aplikacije. Dva uobičajena obrasca:
- Eksterni monitor poziva vašu statusnu stranicu preko webhook-a kada provjera ne uspije ili se oporavi, i statusna stranica ažurira komponentu.
- Zakazani posao u hostingu same statusne stranice pinguje svaku komponentu i bilježi rezultat. Prije oslanjanja na to provjerite kako vaš hosting podržava zakazane zadatke; naš vodič o pokretanju pozadinskih poslova objašnjava opcije.
Automatske promjene mogu da osciliraju (gore, dolje, gore) na sporoj mreži. Zahtijevajte dva ili tri neuspjela provjeravanja prije promjene statusa, i neka čovjek potvrdi prije nego što se objavi veliki prekid.
Pisanje ažuriranja incidenata
- Objavite rano. "Istražujemo prijave o neuspjelim prijavama" za nekoliko minuta bolje je od savršene poruke sat kasnije.
- Recite šta korisnici primjećuju, a ne šta je interno pokvareno.
- Obećajte vrijeme sljedećeg ažuriranja i ispunite ga.
- Zatvorite kratkim sažetkom kada se riješi: šta se dogodilo, koliko je trajalo i šta mijenjate.
Prvi prompt koji funkcioniše
Napravi samostalnu statusnu stranicu za našu aplikaciju Parcelio, hostovanu odvojeno na status.parcelio.com. Komponente: Web stranica, API za praćenje, Obavještenja, Plaćanja, svaka sa statusom Operativno, Smanjene performanse, Djelimičan prekid, Veliki prekid ili Pod održavanjem. Javna stranica prikazuje opšti natpis koji koristi najgori trenutni status, svaku komponentu sa statusom, aktivne incidente sa vremenski označenim ažuriranjima od najnovijeg ka najstarijem, najavljeno održavanje i listu ranijih incidenata po mjesecima. Svaki incident ima sopstvenu stranicu. Dodaj administracijsku stranicu zaštićenu lozinkom za kreiranje incidenata (naslov, uticaj, pogođene komponente), objavu ažuriranja (poruka i status: Istražuje se, Identifikovano, Praćenje, Riješeno), promjenu statusa komponenti i zakazivanje održavanja. Dodaj krajnju tačku POST /api/check-result koja prihvata naziv komponente i gore/dolje od eksternog monitora, zaštićenu tajnim tokenom, i označava komponentu kao Smanjene performanse tek nakon tri uzastopna pada. Sve čuvaj u sopstvenoj bazi podataka ove aplikacije. Jednostavan, miran dizajn koji se brzo učitava na telefonima.
Koraci izrade
- Javna stranica i administracija s ručnim incidentima. Ovo samo po sebi je radna statusna stranica.
- Hostujte je odvojeno i usmjerite subdomenu na nju.
- Stranice incidenata i istorija.
- Vremena održavanja.
- Pretplate. Prijava e-poštom s dvostrukom potvrdom i obavještenja o novim incidentima i ažuriranjima. E-pošta zahtijeva pružaoca usluge; pogledajte kako slati e-poštu iz aplikacije.
- Webhook za monitor ako želite automatske promjene statusa.
- Probna vježba. Napravite lažni incident, objavite ažuriranja, riješite ga, provjerite e-poštu, pa ga obrišite.
Česte greške
- Hostovanje uz aplikaciju. Najčešća i najozbiljnija greška.
- Stranica koja uvijek kaže "Svi sistemi rade". Ako nikada ne prikazuje probleme, korisnici prestaju da joj vjeruju.
- Bez vremenskih oznaka ili vremenske zone. Uvijek prikazujte vrijeme sa zonom.
- Oslanjanje na prijavu glavne aplikacije za administraciju.
- Tišina između ažuriranja. "Bez promjene, još radimo na tome" je valjano ažuriranje.
- Oscilirajući automatski statusi. Zahtijevajte ponovljene padove prije promjene.
Kada je bolji izbor hostovana usluga za statusnu stranicu
Usluge hostovanih statusnih stranica građene su oko problema nezavisnosti: rade na odvojenoj infrastrukturi, obrađuju obavještenja pretplatnicima e-poštom i SMS-om, a često uključuju praćenje i integracije s alatima za upravljanje incidentima. Ako dostupnost čini dio onoga što kupci plaćaju ili imate ugovorne obaveze da prijavljujete incidente, namjenska usluga obično vrijedi troška. Mnoge imaju besplatne ili jeftine planove za male timove, pa provjerite prije nego što gradite sami.
Gradite sopstvenu kada želite punu kontrolu nad dizajnom i formulacijama, kada su vaše potrebe jednostavne (nekoliko komponenti, ručna ažuriranja) ili kada je statusna stranica dio proizvoda koji pravite za druge.
Izrada s Mythexom
Na Mythexu statusnu stranicu možete napraviti kao zaseban projekat, odvojen od glavne aplikacije, što joj daje zaseban hosting i sopstvenu bazu podataka. Opišite je u chatu, provjerite u živom pregledu, zatim je objavite i povežite subdomenu poput status.vasadomena.com (prilagođene domene su u Pro planu). Imajte na umu da objavljene Mythex aplikacije i njihove baze podataka miruju kada su neaktivne i bude se pri sljedećoj poseti, pa prvo učitavanje nakon tihog perioda može biti sporije; jednostavna, laka stranica tome pomaže.
Mythex ne dokumentuje zakazane poslove, pa za automatske provjere koristite eksterni monitor dostupnosti koji poziva krajnju tačku webhook-a u vašoj statusnoj stranici (pogledajte recept za webhook-ove). Obavještenja pretplatnicima e-poštom idu preko vašeg pružaoca usluge, a ključ se čuva kao tajna projekta (recept za slanje e-pošte).
Pitanja
Šta je statusna stranica?
Javna stranica koja prikazuje da li svaki dio vaše usluge radi, navodi trenutne i ranije incidente s vremenski označenim ažuriranjima i često omogućava ljudima da se pretplate na obavještenja. Smanjuje broj upita podrške tokom prekida.
Treba li moja statusna stranica biti hostovana uz aplikaciju?
Ne. Ako dijeli hosting, podešavanje domene ili bazu podataka sa vašom aplikacijom, može past u istom prekidu koji treba da prijavi. Hostujte je odvojeno, na subdomeni kao što je status.vasadomena.com.
Da li su mi potrebne automatizovane provjere?
Pomažu, ali nisu obavezne za početak. Mnogi mali timovi ručno objavljuju incidente i koriste eksterni monitor dostupnosti da ih obavijesti. Automatske promjene statusa mogu doći kasnije.
Šta treba da piše u ažuriranju incidenta?
Šta je pogođeno, šta će korisnici primijetiti, šta radite i kada dolazi sljedeće ažuriranje. Kratko, jasno i s vremenskom oznakom, čak i ako je ažuriranje 'još istražujemo'.