Miks insenerid ei hooli rakenduste jÀlgimisest?

Headset kĂ”igile! SĂ”brad, tĂ€na jĂ€tkame koolituskursusele pĂŒhendatud postituste seeriat «DevOps praktikad ja tööriistad», sest uue grupi tunnid algavad juba jĂ€rgmise nĂ€dala lĂ”pus. Nii et alustame!

Miks insenerid ei hooli rakenduste jÀlgimisest?

JĂ€lgimine on lihtsalt. See on tuntud fakt. KĂ€ivitage Nagios, seadistage NRPE kaugsĂŒsteemis, seadistage Nagios NRPE TCP pordile 5666 ja te ei ole enam jĂ€lgimata.

See on nii lihtne, et pole isegi huvitav. NĂŒĂŒd on teil pĂ”hilised mÔÔdikud protsessori ajast, kettaalaste, mĂ€lust, mis tulevad vaikimisi Nagiosesse ja NRPEsse. Kuid tegelikult ei ole see „jĂ€lgimine” sellisel kujul. See on vaid algus.

(Tavaliselt installitakse PNP4Nagios, RRDtool ja Thruk, seadistatakse teavitused Slackis ja minnakse otse nagiosexchange'i, kuid jÀtame selle praegu kÔrvale).

Hea jĂ€lgimine on tegelikult ĂŒsna keeruline, peate tĂ”esti teadma rakenduse sisemust, mille ĂŒle te jĂ€lgite.

Kas jÀlgimine on keeruline?

Iga server, olgu see Linux vĂ”i Windows, teenib definitsioonilt mingit eesmĂ€rki. Apache, Samba, Tomcat, failiserver, LDAP — kĂ”ik need teenused on millegipĂ€rast ainulaadsed ĂŒhes vĂ”i mitmes aspektis. Igal teenusel on oma funktsioon ja omadused. On erinevaid viise mÔÔdikute, KPI-de (vĂ”tme efektiivsuse nĂ€itajate) hankimiseks, mis teile huvi pakuvad, kui server on koormuse all.

Miks insenerid ei hooli rakenduste jÀlgimisest?
Pilt autor Luke Chesser . Tundub, et Unsplash

(tahaks, et mu armatuurlaud oleks vĂ€rvitud neoon-sinisele — unistavalt sigh
 hmmm
)

Igal teenusepakkujal, mis teenuseid pakub, peab olema mehanism mÔÔdikute kogumiseks. Apache'il on moodul mod-status, mis nĂ€itab serveri oleku lehte. Nginx'il on stub_status. Tomcat'il on JMX vĂ”i spetsiaalsed veebirakendused, mis nĂ€itavad vĂ”tme mÔÔdikuid. MySQL'is on kĂ€sk „show global status“ jne.
Aga miks arendajad ei integreeri selliseid mehhanisme rakendustesse, mida nad loovad?

Kas ainult arendajad teevad seda?

Teatud mÀÀral ĂŒkskĂ”iksus mÔÔdikute integreerimise osas ei piirdu ainult arendajatega. Olen töötanud ettevĂ”tetes, kus arendati rakendusi Tomcat'i kasutades ja ei antud vĂ€lja mingeid mÔÔdikuid, mingit teenuse tegevuse logi, vĂ€lja arvatud Tomcat'i ĂŒldised tĂ”rke logid. Teatud arendajad genereerivad kĂŒlluslikult logisid, mis ei tĂ€henda sĂŒsteemi administreerijale, kes peab neid kell 3:15 hommikul lugema, midagi.

Miks insenerid ei hooli rakenduste jÀlgimisest?
Pilt autor Tim Gouw . Tundub, et Unsplash

SĂŒsteemi insenerid, kes vĂ”imaldavad sellistel toodetel turule tulla, peavad samuti kandma teatud vastutust olukorra eest. VĂ€hemalt mĂ”ned sĂŒsteemi insenerid ei leia aega ega tunne huvi tĂ€henduslike mÔÔdikute saamiseks logidest, ilma konteksti ja vĂ”imaluseta neid tĂ”lgendada rakenduse aktiivsuse valguses. MĂ”ned ei saa aru, millist kasu nad sellest saavad, vĂ€lja arvatud nĂ€itajad, mis nĂ€itavad, et "midagi on praegu (vĂ”i peagi) valesti".

MĂ”tlemise muutmine mÔÔdikute vajalikkuse osas peaks toimuma mitte ainult arendajate, vaid ka sĂŒsteemi inseneride seas.

Iga sĂŒsteemi inseneri jaoks, kellele on vajalik mitte ainult reageerida kriitilistele sĂŒndmustele, vaid ka tagada nende puudumine, on mÔÔdikute puudumine tavaliselt tĂ”kkeks.

Kuid sĂŒsteemi insenerid ei kaeva tavaliselt koodi, teenides oma ettevĂ”ttele raha. Neil on vaja juhtivaid arendajaid, kes mĂ”istavad sĂŒsteemi inseneride vastutuse tĂ€htsust probleemide avastamisel, probleemide teadlikkuse tĂ”stmisel ja sarnastel teemadel.

See devops asi

Devops mentaliteet kirjeldab arendajate (dev) ja opereerimise (ops) mĂ”tlemise sĂŒnergiat. Iga ettevĂ”te, kes vĂ€idab, et nad "teevad devopsi", peaks:

  1. ĂŒtlema seda, mida nad tĂ”enĂ€oliselt ei tee (viide filmi "Printsess-pruut" meemile - "Ma ei arva, et see tĂ€hendab seda, mida sa arvad, et see tĂ€hendab!")
  2. soodustama pideva tÀiustamise positsiooni.

Te ei saa toodet tÀiustada ja teada, et see on paranenud, kui te ei tea, kuidas see praegu töötab. Te ei saa teada, kuidas toode töötab, kui te ei mÔista, kuidas toimivad tema komponendid, teenused, millest ta sÔltub, tema peamised probleemid ja kitsaskohad.
Kui te ei jĂ€lgi potentsiaalselt kitsaskohti, ei saa te jĂ€rgida "Viie miks" tehnikat postmortemi kirjutamisel. Te ei saa koguda kĂ”ike ĂŒhele ekraanile, et nĂ€ha, kuidas toode töötab vĂ”i teada, kuidas see nĂ€eb vĂ€lja "normaalselt ja Ă”nnelikult".

Kallutamine vasakule, VASAKULE, MA KÄSIN, VAALEEEEEE—

Minu jaoks on ĂŒks Devopsi vĂ”tmeprintsiipidest "Kallutamine vasakule" (shift left). Kallutamine vasakule selles kontekstis tĂ€hendab vĂ”imaluse nihkumist (mitte vastutust, vaid mitte ainult vĂ”imaluste) teha seda, millest tavaliselt hoolivad sĂŒsteemiinsenerid, nĂ€iteks luua jĂ”udluse mÔÔdikuid, kasutada logisid tĂ”husamalt jms, tarkvaraprogrammide kohaletoimetamise elutsĂŒkli (Software Delivery Life Cycle) alguses.

Miks insenerid ei hooli rakenduste jÀlgimisest?
Pilt autor NESA by Makers . Tundub, et Unsplash

Tarkvaraarendajad peavad saama kasutada ja tundma ettevÔtte jÀlgimise tööriistu, et realiseerida jÀlgimist kÔikides selle vormides, mÔÔdikutena, logimisena, jÀlgimisliidestena ja, mis kÔige tÀhtsam, vaatama, kuidas nende toode tootmises töötab. Te ei saa sundida arendajaid panustama aega ja energiat jÀlgimisse, kui nad ei nÀe mÔÔdikuid ja ei saa mÔjutada, kuidas need vÀlja nÀevad, kuidas toote omanik tutvustab neid jÀrgmises infokogumisel CTO-le jms.

LĂŒhidalt öeldes

  1. Tooge hobune vette. NÀidake arendajatele, kui palju probleeme nad saavad enda jaoks vÀltida, aidake neil tuvastada Ôiged KPI-d ja mÔÔdikud oma rakenduste jaoks, et vÀhendada toote omanikult tulevat karjumist, millele reageerib tehniline direktor (CTO). Tooge need valgusesse, Ôrnalt ja rahulikult. Kui see ei Ônnestu, siis korruptseerige, Àhvardage ja veenke kas neid vÔi toote omaniku, et vÔimalikult kiiresti rakendada nende mÔÔdikute hankimist rakendustest, ja siis joonistage diagrammid. See on keeruline, kuna seda ei peeta prioriteetseks ning toote arengukaardil on palju ootel projekte, mis toovad tulu. SeetÔttu vajate majandusuuringut, et Ôigustada aega ja vahendeid, mis kulutatakse jÀlgimise rakendamiseks tootes.
  2. AitĂ€h sĂŒsteemiinseneritele korraliku une nimel. NĂ€idake neile, et "vĂ€ljalaskmis-checklisti" rakendamine igasuguste vĂ€ljaantavate toodete puhul on hea. Ja see, et kĂ”ik tootmises olevad rakendused on mÔÔdikute kattega, aitab saavutada Ă”iget und öösel, vĂ”imaldades arendajatel nĂ€ha, mis ja kus ei tööta. Siiski on Ă”ige viis Ă€rritada ja hĂ€irida iga arendajat, tooteomanikku ja tehnilist direktorit see, et takistada ja vastu seista. Selline kĂ€itumine mĂ”jutab iga toote vĂ€ljalaskekuupĂ€eva, kui oodata jĂ€lle viimase minutini, seega viige jĂ€lle vasakule ja kaasake need kĂŒsimused projekti plaani niipea kui vĂ”imalik. Kui vaja, siseneda tooteĂŒritustele. Kandke vale vuntse ja fetr vĂ”i midagi sarnast, see ei petta kunagi. Teatage oma probleemidest, nĂ€idake ilmseid eeliseid ja propageerige.
  3. Veenduge, et nii arendajad (dev) kui ka operatsioon (ops) mĂ”istavad toote mÔÔdikute ĂŒlemineku "punasesse tsooni" tĂ€hendust ja tagajĂ€rgi. Ärge jĂ€tke operatsiooni ainukeseks toote töövĂ”imekuse valvseks, veenduge, et arendajad osaleksid ka selles (#productsquads).
  4. Logid on suurepĂ€rane asi, kuid mÔÔdikud ka. Koondage need ja Ă€rge laske oma logidel muutuda prĂŒgi tohutuks, leegitsevaks kasutu palliks. Selgitage ja nĂ€idake arendajatele, miks keegi peale nende ei saa aru nende logidest, nĂ€idake neile, kuidas on nĂ€ha kasutu logisid kella 3:15 hommikul.

Miks insenerid ei hooli rakenduste jÀlgimisest?
Pilt autor Marko Horvat . Tundub, et Unsplash

Selleks on kÔik. Uus materjal ilmub jÀrgmisel nÀdalal. Kui soovite kursuse kohta rohkem teada, ootame teid avatud uste pÀev, mis toimub juba esmaspÀeval. Ja praegu ootame traditsiooniliselt teie kommentaare.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster