Сезім — факт емес
Дамыту барысында өзіңді алдау өте оңай. Сайтты ашып, басып, күтіп, "бірнәрсе баяу жұмыс істеп тұр" деп ойлайсың. Мәселе мынада, бұл факт емес. Бұл сезім. Менде нақты жағдай болды. Тауарды себетке қосу баяу жұмыс істеп тұрғанын көрдім, оны сезіндім. Бірден оңтайландыруға кіріскім келді. CTO-ға бардым. Жауап қарапайым болды: "сандық деректерді көрсетпейінше, ештеңеге тиіспейміз". Дұрыс жауап. Сандық деректерсіз сен мәселені шешпейсің, тек болжам жасайсың.

Алғашқы метрикалар
Ол кезде бізде мүлдем дұрыс метрикалар болмады: latency, қателер, мәселенің нақты қай жерде екенін түсіну. Біз негізгі нәрседен бастадық: Prometheus қостық, Grafana орнаттық, деректер жинай бастадық. Тек содан кейін жүйенің нақты қай жерде әлсіреп тұрғаны көрінді. Кейін өнім командасын қосып, воронканы қарадық: пайдаланушылар қай жерде шығып кетеді, бұл конверсияға қалай әсер етеді. Техникалық тұрғыдан жүйе жұмыс істеп тұрды, қателер аз, ештеңе құламайды. Бірақ метрикалар бойынша көрініп тұрды: кідіріс бар, пайдаланушылар жоғалады, ақша жоғалады. Осыдан кейін шешім қабылдауға болатын еді, болжам жасамай. Нәтижесінде конверсия 2-3 есе өсті.
Не нәрсені көру керек
Орташа latency мәні дерлік пайдасыз. Маңыздысы p95 және p99 көрсеткіштеріне назар аудару, "ең нашар" пайдаланушыларда не болып жатқанын білу, себебі дәл солар кетіп, сатып алмайды. Error rate тек 500 қателіктері емес, бұл таймауттар, сәтсіз операциялар, ішінара ақаулар. Ең маңыздысы өнімдік метрикалар: жүйенің техникалық жағдайы конверсия мен ақшаға қалай әсер етеді. Метрикасыз архитектура пікірге айналады: "бұл тезірек сияқты", "қайта жазайық", "маған ұнамайды". Бұл инженерия емес. Бұл болжам жасау.

Метрикалар мен өсу
Егер өскің келсе, тек кодпен ойлауды тоқтату керек. Middle деңгейінде және одан жоғары деңгейде сенен "код жазу" емес, жүйені өлшенетін нәтижемен жақсарту күтіледі. Бұл метриканы орната білу, оны оқу, мәселе мен байланыстыру, шешім ұсыну дегенді білдіреді. Егер сенің жобаңда метрикалар болмаса, сен соқыр жұмыс істеп жатырсың. Тіпті бәрі дұрыс сияқты көрінсе де.