Sveiks, Habr! Es atbalstu Highload IT sistÄmas jau desmit gadus. Es Å”ajÄ rakstÄ nerakstÄ«Å”u par problÄmÄm, kas saistÄ«tas ar nginx iestatÄ«Å”anu darbam 1000+ RPS režīmÄ vai citÄm tehniskÄm lietÄm. DalÄ«Å”os savos novÄrojumos par problÄmÄm procesos, kas rodas Å”Ädu sistÄmu atbalstÄ«Å”anÄ un darbÄ«bÄ.
Uzraudzība
Tehniskais atbalsts negaida, lÄ«dz tiek saÅemts pieprasÄ«jums ar saturu āKo kÄpÄc... vietne atkal nedarbojas?ā MinÅ«tes laikÄ pÄc vietnes avÄrijas atbalsta dienestam jau vajadzÄtu redzÄt problÄmu un sÄkt to risinÄt. Bet vietne ir aisberga redzamÄ daļa. TÄ pieejamÄ«ba ir viena no pirmajÄm, kas tiek uzraudzÄ«ta.
Ko darÄ«t ar situÄciju, kad no ERP sistÄmas vairs nepienÄk atlikuÅ”Äs interneta veikala preces? Vai arÄ« CRM sistÄma, kas aprÄÄ·ina atlaides klientiem, vairs nereaÄ£Ä? Å Ä·iet, ka vietne darbojas. NosacÄ«tÄ Zabbix saÅem 200 atbildi. Dežūru maiÅa nav saÅÄmusi nekÄdus paziÅojumus no uzraudzÄ«bas un ar prieku skatÄs TroÅu spÄles jaunÄs sezonas pirmo sÄriju.
UzraudzÄ«ba bieži aprobežojas tikai ar atmiÅas, RAM un servera procesora slodzes mÄrÄ«Å”anu. TaÄu biznesam daudz svarÄ«gÄk ir iegÅ«t produktu pieejamÄ«bu mÄjaslapÄ. Vienas virtuÄlÄs maŔīnas nosacÄ«ta kļūme klasterÄ« novedÄ«s pie tÄ, ka trafika pÄrtrauks iet uz to un palielinÄsies slodze uz citiem serveriem. UzÅÄmums naudu nezaudÄs.
TÄpÄc papildus operÄtÄjsistÄmu tehnisko parametru uzraudzÄ«bai serveros ir jÄkonfigurÄ biznesa metrika. Metrika, kas tieÅ”i ietekmÄ naudu. DažÄdas mijiedarbÄ«bas ar ÄrÄjÄm sistÄmÄm (CRM, ERP un citÄm). PasÅ«tÄ«jumu skaits uz noteiktu laika periodu. VeiksmÄ«gas vai neveiksmÄ«gas klientu autorizÄcijas un citi rÄdÄ«tÄji.
MijiedarbÄ«ba ar ÄrÄjÄm sistÄmÄm
Jebkura vietne vai mobilÄ lietojumprogramma, kuras gada apgrozÄ«jums pÄrsniedz miljardu rubļu, mijiedarbojas ar ÄrÄjÄm sistÄmÄm. SÄkot no iepriekÅ”minÄtÄ CRM un ERP un beidzot ar pÄrdoÅ”anas datu pÄrsÅ«tÄ«Å”anu uz ÄrÄju Big Data sistÄmu pirkumu analÄ«zei un klientam produkta piedÄvÄÅ”anai, ko viÅÅ” noteikti iegÄdÄsies (patiesÄ«bÄ nÄ). Katrai Å”Ädai sistÄmai ir savs atbalsts. Un bieži saziÅa ar Ŕīm sistÄmÄm izraisa sÄpes. It Ä«paÅ”i, ja problÄma ir globÄla un jums tÄ jÄanalizÄ dažÄdÄs sistÄmÄs.
Dažas sistÄmas saviem administratoriem nodroÅ”ina tÄlruÅa numuru vai telegrammu. Kaut kur jÄraksta vÄstules vadÄ«tÄjiem vai jÄiet uz Å”o ÄrÄjo sistÄmu kļūdu izsekotÄjiem. Pat viena liela uzÅÄmuma kontekstÄ dažÄdas sistÄmas bieži darbojas dažÄdÄs lietojumprogrammu uzskaites sistÄmÄs. Dažreiz kļūst neiespÄjami izsekot lietojumprogrammas statusam. JÅ«s saÅemat pieprasÄ«jumu vienÄ nosacÄ«tÄ Jira. PÄc tam Ŕī pirmÄ Jira komentÄrÄ jÅ«s ievietojat saiti uz citu Jira problÄmu. OtrajÄ JirÄ aplikÄcijÄ kÄds jau raksta komentÄru, ka lai atrisinÄtu problÄmu, jums jÄzvana nosacÄ«tajam administratoram Andrejam. Un tÄ tÄlÄk.
LabÄkais risinÄjums Å”ai problÄmai bÅ«tu izveidot vienotu saziÅas telpu, piemÄram, Slack. Aicinot pievienoties visus ÄrÄjo sistÄmu darbÄ«bas procesa dalÄ«bniekus. Un arÄ« viens izsekotÄjs, lai nedublÄtos lietojumprogrammas. Lietojumprogrammas ir jÄizseko vienuviet, sÄkot no uzraudzÄ«bas paziÅojumiem lÄ«dz kļūdu risinÄjumu izvadei nÄkotnÄ. JÅ«s teiksiet, ka tas ir nereÄli un vÄsturiski ir noticis tÄ, ka mÄs strÄdÄjam vienÄ trakerÄ, bet viÅi citÄ. ParÄdÄ«jÄs dažÄdas sistÄmas, tÄm bija savas autonomas IT komandas. Es piekrÄ«tu, un tÄpÄc problÄma ir jÄrisina no augÅ”as CIO vai produkta Ä«paÅ”nieka lÄ«menÄ«.
Katrai sistÄmai, ar kuru jÅ«s mijiedarbojaties, ir jÄnodroÅ”ina atbalsts kÄ pakalpojumam ar skaidru SLA, lai atrisinÄtu problÄmas pÄc prioritÄtes. Un ne tad, kad nosacÄ«tajam adminam Andrejam jums ir minÅ«te.
CilvÄks ar saÅ”aurinÄjumu
Vai katram projektam (vai produktam) ir kÄds cilvÄks, kura doÅ”anÄs atvaļinÄjumÄ izraisa konvulsijas viÅu priekÅ”nieku vidÅ«? Tas varÄtu bÅ«t devops inženieris, analÄ«tiÄ·is vai izstrÄdÄtÄjs. Galu galÄ tikai devops inženieris zina, kuros serveros ir instalÄti konteineri, kÄ konteineru pÄrstartÄt problÄmas gadÄ«jumÄ, un vispÄr bez viÅa nevar atrisinÄt jebkuru sarežģītu problÄmu. AnalÄ«tiÄ·is ir vienÄ«gais, kurÅ” zina, kÄ darbojas jÅ«su sarežģītais mehÄnisms. Kuras datu straumes kurp nonÄk. PÄc kÄdiem pieprasÄ«jumu parametriem uz kÄdiem pakalpojumiem, kÄdiem saÅemsim atbildes.
KurÅ” Ätri sapratÄ«s, kÄpÄc žurnÄlos ir kļūdas, un nekavÄjoties novÄrsÄ«s produkta bÅ«tisku kļūdu? Protams, tas pats izstrÄdÄtÄjs. Ir arÄ« citi, bet nez kÄpÄc tikai viÅÅ” saprot, kÄ darbojas dažÄdi sistÄmas moduļi.
Å Ä«s problÄmas cÄlonis ir dokumentÄcijas trÅ«kums. Galu galÄ, ja bÅ«tu aprakstÄ«ti visi jÅ«su sistÄmas pakalpojumi, tad problÄmu bÅ«tu iespÄjams atrisinÄt bez analÄ«tiÄ·a. Ja devops paÅÄma pÄris dienas no sava aizÅemtÄ grafika un aprakstÄ«ja visus serverus, pakalpojumus un instrukcijas tipisku problÄmu risinÄÅ”anai, tad problÄmu viÅa prombÅ«tnes laikÄ varÄtu atrisinÄt bez viÅa. AtvaļinÄjuma laikÄ jums nav Ätri jÄdzer alus pludmalÄ un jÄmeklÄ Wi-Fi, lai atrisinÄtu problÄmu.
Atbalsta personÄla kompetence un atbildÄ«ba
Lielos projektos uzÅÄmumi neskopojas ar attÄ«stÄ«tÄju algÄm. ViÅi meklÄ dÄrgus vidÄjos vai seniorus no lÄ«dzÄ«giem projektiem. Ar atbalstu situÄcija ir nedaudz atŔķirÄ«ga. ViÅi cenÅ”as samazinÄt Ŕīs izmaksas visos iespÄjamos veidos. UzÅÄmumi nolÄ«gst lÄtus vakardienas Enikey strÄdniekus un drosmÄ«gi dodas cÄ«ÅÄ. Å Ä« stratÄÄ£ija ir iespÄjama, ja mÄs runÄjam par Zelenogradas rÅ«pnÄ«cas vizÄ«tkartes vietni.
Ja runÄjam par lielu interneta veikalu, tad katra dÄ«kstÄves stunda maksÄ vairÄk nekÄ Enikey administratora mÄneÅ”alga. Par atskaites punktu Åemsim 1 miljardu rubļu gada apgrozÄ«juma. Tas ir jebkura interneta veikala minimÄlais apgrozÄ«jums no reitinga
Bet nauda taÄu nav galvenais, vai ne? (nÄ, protams, galvenais) Ir arÄ« reputÄcijas zaudÄjumi. PazÄ«stama interneta veikala kriÅ”ana var izraisÄ«t gan atsauksmju vilni sociÄlajos tÄ«klos, gan publikÄcijas tematiskajos medijos. Un draugu sarunas virtuvÄ stilÄ āTur neko nepÄrc, viÅu mÄjaslapa vienmÄr nedarbojasā nemaz nav mÄrÄmas.
Tagad pie atbildÄ«bas. ManÄ praksÄ bija gadÄ«jums, kad dežurÄjoÅ”ais administrators laikus nereaÄ£Äja uz uzraudzÄ«bas sistÄmas paziÅojumu par vietnes nepieejamÄ«bu. PatÄ«kamÄ vasaras piektdienas vakarÄ klusi gulÄja kÄda MaskavÄ pazÄ«stamÄ interneta veikala mÄjaslapa. Sestdienas rÄ«tÄ Å”Ä«s vietnes produktu menedžeris nesaprata, kÄpÄc vietne netiek atvÄrta, un Slack atbalsta un steidzamo paziÅojumu Äatos iestÄjÄs klusums. Å Äda kļūda mums izmaksÄja seÅ”ciparu summu, un Å”im dežurantam savu darbu.
AtbildÄ«ba ir grÅ«ti attÄ«stÄma prasme. Vai nu cilvÄkam tas ir, vai nav. TÄpÄc interviju laikÄ cenÅ”os identificÄt tÄs klÄtbÅ«tni ar dažÄdiem jautÄjumiem, kas netieÅ”i parÄda, vai cilvÄks ir pieradis uzÅemties atbildÄ«bu. Ja cilvÄks atbild, ka izvÄlÄjies augstskolu tÄpÄc, ka tÄ teica vecÄki, vai maina darbu tÄpÄc, ka sieva teica, ka viÅÅ” nepelna pietiekami, tad labÄk ar tÄdiem nesaistÄ«ties.
MijiedarbÄ«ba ar izstrÄdes komandu
Ja lietotÄji darbÄ«bas laikÄ saskaras ar vienkÄrÅ”Äm produkta problÄmÄm, atbalsts tÄs atrisina pats. MÄÄ£ina atveidot problÄmu, analizÄ Å¾urnÄlus un tÄ tÄlÄk. Bet ko darÄ«t, ja produktÄ parÄdÄs kļūda? Å ajÄ gadÄ«jumÄ atbalsts pieŔķir uzdevumu izstrÄdÄtÄjiem, un Å”eit sÄkas jautrÄ«ba.
IzstrÄdÄtÄji ir pastÄvÄ«gi pÄrslogoti. ViÅi veido jaunas funkcijas. Kļūdu laboÅ”ana ar pÄrdoÅ”anu nav pati interesantÄkÄ darbÄ«ba. Tuvojas termiÅi, lai pabeigtu nÄkamo sprintu. Un tad nÄk nepatÄ«kami cilvÄki no atbalsta un saka: "NekavÄjoties pÄrtrauciet visu, mums ir problÄmas." Å Ädu uzdevumu prioritÄte ir minimÄla. It Ä«paÅ”i, ja problÄma nav viskritiskÄkÄ un vietnes galvenÄ funkcionalitÄte darbojas, un laidienu pÄrvaldnieks neskraida apkÄrt ar izspieduÅ”Äm acÄ«m un neraksta: "Steidzami pievienojiet Å”o uzdevumu nÄkamajam laidienam vai labojumfailam."
ProblÄmas ar normÄlu vai zemu prioritÄti tiek pÄrvietotas no laidiena uz laidienu. Uz jautÄjumu āKad uzdevums tiks pabeigts?ā JÅ«s saÅemsit atbildes Å”ÄdÄ stilÄ: "Atvainojiet, Å”obrÄ«d ir daudz uzdevumu, jautÄjiet saviem komandas vadÄ«tÄjiem vai atbrÄ«voÅ”anas menedžerim."
ProduktivitÄtes problÄmÄm ir lielÄka prioritÄte nekÄ jaunu lÄ«dzekļu radÄ«Å”anai. Sliktas atsauksmes nebÅ«s ilgi jÄgaida, ja lietotÄji pastÄvÄ«gi paklups uz kļūdÄm. SabojÄtu reputÄciju ir grÅ«ti atjaunot.
IzstrÄdes un atbalsta mijiedarbÄ«bas problÄmas atrisina DevOps. Å is saÄ«sinÄjums bieži tiek izmantots konkrÄtas personas formÄ, kas palÄ«dz izveidot testÄÅ”anas vidi izstrÄdei, veido CICD konveijerus un Ätri ievieÅ” pÄrbaudÄ«to kodu ražoÅ”anÄ. DevOps ir pieeja programmatÅ«ras izstrÄdei, kad visi procesa dalÄ«bnieki cieÅ”i mijiedarbojas viens ar otru un palÄ«dz Ätri izveidot un atjauninÄt programmatÅ«ras produktus un pakalpojumus. Es domÄju analÄ«tiÄ·us, izstrÄdÄtÄjus, testÄtÄjus un atbalstu.
Å ajÄ pieejÄ atbalsts un attÄ«stÄ«ba nav dažÄdas nodaļas ar saviem mÄrÄ·iem un uzdevumiem. AttÄ«stÄ«ba ir saistÄ«ta ar darbÄ«bu un otrÄdi. SlavenÄ izplatÄ«to komandu frÄze: āProblÄma nav manÄ pusÄā Äatos vairs tik bieži neparÄdÄs, un galalietotÄji kļūst nedaudz laimÄ«gÄki.
Avots: www.habr.com