Šta radimo
Nadzor performansi
Ne bi trebalo da saznate da vaša aplikacija ne radi zato što vam kupac pošalje ljutit mejl. Mi nadgledamo vaše sisteme kako bi se problemi uhvatili pre nego što korisnici primete.
Spora aplikacija gubi korisnike. Pokvarena aplikacija gubi poverenje. Nadzor performansi je tu da obezbedi da se nijedna od ovih stvari ne dogodi, a kada nešto krene naopako, da odmah znate za to i možete brzo da reagujete.
U Conimex IT-ju postavljamo i upravljamo nadzorom za aplikacije koje pravimo i hostujemo. Ovo nije samo ping provera koja vam kaže da server odgovara. To je potpuni nadzor na nivou aplikacije koji prati vremena odziva, stope grešaka, performanse baze podataka, propusnost redova i korišćenje resursa.
Šta nadgledamo
Vremena odziva aplikacije. Pratimo koliko dugo svaka stranica i API krajnja tačka treba da odgovori. Kada određena ruta počne da postaje sporija, vidimo to u podacima i možemo da istražimo pre nego što postane problem za korisnike. Postavljamo pragove na osnovu onoga što je normalno za vašu aplikaciju, tako da upozorenja budu smislena, a ne samo šum.
Praćenje grešaka. Kada se u vašoj aplikaciji pojavi izuzetak, hvatamo pun kontekst: poruku greške, stog poziva, zahtev koji ga je pokrenuo i korisnika koji je bio pogođen. Ovo nam daje sve što je potrebno da reprodukujemo i popravimo problem bez traženja od korisnika da opiše šta se desilo.
Performanse baze podataka. Spori upiti nad bazom podataka su jedan od najčešćih uzroka loših performansi aplikacije. Nadgledamo vremena izvršavanja upita i identifikujemo upite koji skeniraju previše redova, kojima nedostaju indeksi ili koji se pokreću češće nego što bi trebalo. U Laravel aplikacijama koristimo alate koji označavaju N+1 probleme sa upitima i druge uobičajene zamke za performanse.
Resursi servera. Korišćenje procesora, potrošnja memorije, prostor na disku i mrežna propusnost. Kada bilo koji od ovih pokazatelja krene u pogrešnom smeru, dobijamo obaveštenje i možemo da reagujemo pre nego što server postane preopterećen.
Nadzor redova i poslova. Mnoge Laravel aplikacije se oslanjaju na pozadinske poslove za zadatke poput slanja mejlova, obrade fajlova ili generisanja izveštaja. Nadgledamo zdravlje redova kako bismo bili sigurni da se poslovi obrađuju na vreme i da se neuspeli poslovi ponovo pokušavaju ili označavaju za pažnju.
Alati koje koristimo
Koristimo kombinaciju alata za nadzor u zavisnosti od projekta i budžeta. Za Laravel aplikacije, Laravel Nightwatch je naš prvi izbor. Napravljen je specifično za Laravel i pruža duboku vidljivost u zahteve, upite, poslove i izuzetke bez dodatnog opterećenja konfigurisanja APM alata opšte namene. Za praćenje grešaka na celom steku koristimo Sentry, koji hvata izuzetke sa punim kontekstom i na serverskoj strani i na React klijentskoj strani. Za nadzor infrastrukture koristimo alate poput Grafana, Prometheus i Datadog. Za provere dostupnosti koristimo eksterne servise za nadzor koji testiraju vašu aplikaciju sa više geografskih lokacija.
Konkretni alati su manje važni od pristupa. Cilj je uvek imati jasnu vidljivost u to kako vaša aplikacija funkcioniše i dobiti obaveštenje kada nešto zahteva pažnju.
Proaktivna optimizacija
Nadzor je najvredniji kada dovodi do akcije. Mi ne samo da prikupljamo podatke i šaljemo vam nedeljne izveštaje. Kada uočimo trend performansi koji zahteva pažnju, istražujemo uzrok i predlažemo popravku.
To može značiti optimizaciju upita nad bazom podataka koji je postao spor kako je skup podataka rastao, dodavanje keširanja na često korišćenu krajnju tačku, promenu veličine servera kome ponestaje memorije ili refaktorisanje dela koda koji troši više resursa nego što bi trebalo.
Vremenom, ovaj proaktivni pristup optimizaciji performansi održava vašu aplikaciju brzom i pouzdanom. Umesto čekanja na krizu, kontinuirano pravimo mala poboljšanja koja sprečavaju da do krize uopšte dođe.
Reagovanje na incidente
Kada nešto krene naopako, vreme reagovanja je bitno. Naš sistem nadzora uključuje procedure eskalacije koje obezbeđuju da kritična upozorenja brzo stignu do prave osobe. Za aplikacije koje hostujemo, mi se bavimo prvom istragom i rešavanjem. Za aplikacije koje se hostuju na drugom mestu, možemo da se koordinišemo sa vašim provajderom hostinga radi rešavanja problema.
Posle svakog značajnog incidenta radimo kratku analizu kako bismo razumeli šta se desilo, zašto se desilo i šta možemo da uradimo da sprečimo ponavljanje. Ovo nije o krivici. Radi se o učenju i unapređenju sistema.
Pokrenite projekat