Ngano nga ang mga inhenyero wala magtagad sa pag-monitor sa aplikasyon?

Maayong Biyernes sa tanan! Mga higala, karon gipadayon namon ang serye sa mga publikasyon nga gipahinungod sa kurso "Mga gawi ug himan sa DevOps", tungod kay ang mga klase sa bag-ong grupo alang sa kurso magsugod sa katapusan sa sunod nga semana. Busa, magsugod kita!

Ngano nga ang mga inhenyero wala magtagad sa pag-monitor sa aplikasyon?

Ang pagmonitor mao makatarunganon. Kini usa ka nahibal-an nga kamatuoran. Dad-a ang Nagios, padagana ang NRPE sa hilit nga sistema, i-configure ang Nagios sa NRPE TCP port 5666 ug ikaw adunay monitoring.

Sayon ra kaayo nga dili kini makapaikag. Karon ikaw adunay sukaranan nga mga sukatan alang sa oras sa CPU, disk subsystem, RAM, nga gihatag pinaagi sa default sa Nagios ug NRPE. Apan dili kini tinuod nga "monitor" sa ingon. Kini mao lamang ang sinugdanan.

(Kasagaran ilang gi-install ang PNP4Nagios, RRDtool ug Thruk, nagbutang mga pahibalo sa Slack ug diretso sa nagiosexchange, apan biyaan na naton kana sa karon).

Maayong pagmonitor sa tinuud medyo komplikado, kinahanglan gyud nimo mahibal-an ang mga internal sa aplikasyon nga imong gibantayan.

Lisod ba ang pagmonitor?

Ang bisan unsang server, ma-Linux man o Windows, sa kahulugan magsilbi nga usa ka katuyoan. Apache, Samba, Tomcat, file storage, LDAP - kining tanan nga mga serbisyo mas talagsaon sa usa o daghan pa nga mga bahin. Ang matag usa adunay kaugalingon nga function, kaugalingon nga mga kinaiya. Adunay lain-laing mga paagi sa pagkuha sa metrics, KPIs (key performance indicators), nga makapainteres kanimo kung ang server ubos sa load.

Ngano nga ang mga inhenyero wala magtagad sa pag-monitor sa aplikasyon?
Awtor sa litrato Luke Chesser sa Unsplash

(Unta neon blue ang akong mga dashboard - nanghupaw nga nagdamgo -... hmm...)

Ang bisan unsang software nga naghatag serbisyo kinahanglan adunay mekanismo sa pagkolekta sa mga sukatan. Ang Apache adunay module mod-status, nga nagpakita sa panid sa status sa server. Ang Nginx adunay - stub_status. Ang Tomcat adunay JMX o naandan nga mga aplikasyon sa web nga nagpakita sa hinungdanon nga mga sukatan. Ang MySQL adunay sugo nga "ipakita ang global nga kahimtang" ug uban pa.
Busa ngano nga ang mga developers dili magtukod og susama nga mga mekanismo sa mga aplikasyon nga ilang gihimo?

Ang mga developers ra ba ang naghimo niini?

Ang usa ka lebel sa pagkawalay pagtagad sa pag-embed sa mga sukatan dili limitado sa mga developer. Nagtrabaho ko sa mga kompanya diin nagpalambo sila og mga aplikasyon gamit ang Tomcat ug wala maghatag bisan unsa sa ilang kaugalingon nga sukatan, wala’y mga log sa kalihokan sa serbisyo, gawas sa kinatibuk-ang mga log sa sayup nga Tomcat. Ang ubang mga developers makamugna og daghang mga troso nga walay kahulogan sa system administrator kinsa walay swerte sa pagbasa niini sa alas 3:15 sa buntag.

Ngano nga ang mga inhenyero wala magtagad sa pag-monitor sa aplikasyon?
Awtor sa litrato Tim Gouw sa Unsplash

Ang mga inhenyero sa sistema nga makahimo sa ingon nga mga produkto nga ipagawas kinahanglan usab nga adunay responsibilidad alang sa sitwasyon. Pipila ka mga inhenyero sa sistema ang adunay oras o pag-atiman sa pagsulay sa pagkuha sa makahuluganon nga mga sukatan gikan sa mga troso, nga wala ang konteksto sa mga sukatan ug ang abilidad sa paghubad niini sa kahayag sa kalihokan sa aplikasyon. Ang uban wala makasabut kon sa unsang paagi sila makabenepisyo niini, gawas sa "usa ka butang sa pagkakaron (o sa dili madugay mahimong) sayop" nga mga timailhan.

Ang pagbag-o sa panghunahuna bahin sa panginahanglan alang sa mga sukatan kinahanglan nga mahitabo dili lamang sa mga nag-develop, apan usab sa mga inhenyero sa sistema.

Para sa bisan kinsang inhenyero sa sistema nga kinahanglan dili lamang motubag sa mga kritikal nga panghitabo, apan masiguro usab nga dili kini mahitabo, ang kakulang sa mga sukatan kasagaran usa ka babag sa pagbuhat sa ingon.

Bisan pa, ang mga inhenyero sa sistema sa kasagaran dili mag-usik sa code aron makaganansya alang sa ilang kompanya. Kinahanglan nila ang nanguna nga mga developer nga nakasabut sa kamahinungdanon sa responsibilidad sa system engineer sa pag-ila sa mga problema, pagpataas sa kahibalo sa mga isyu sa pasundayag, ug uban pa.

Kini nagdaot sa butang

Ang devops mentality naghulagway sa synergy tali sa development (dev) ug operations (ops) nga panghunahuna. Ang bisan unsang kompanya nga nag-angkon nga "naghimo mga devops" kinahanglan:

  1. nagsulti sa mga butang nga tingali dili nila mahimo (nagtumong sa The Princess Bride meme - "Sa akong hunahuna wala kini gipasabut kung unsa ang imong gihunahuna nga gipasabut!")
  2. Pag-awhag sa usa ka kinaiya sa padayon nga pagpaayo sa produkto.

Dili nimo mapauswag ang usa ka produkto ug nahibal-an nga kini gipauswag kung wala ka nahibal-an kung giunsa kini molihok karon. Dili nimo mahibal-an kung giunsa ang paglihok sa usa ka produkto kung dili nimo masabtan kung giunsa ang paglihok sa mga sangkap niini, ang mga serbisyo nga gisaligan niini, ang panguna nga mga punto sa kasakit ug mga bottleneck.
Kung dili ka magbantay sa mga potensyal nga bottleneck, dili ka makasunod sa teknik nga Five Whys kung nagsulat usa ka Postmortem. Dili nimo mabutang ang tanan sa usa ka screen aron makita kung giunsa ang usa ka produkto molihok o mahibal-an kung unsa ang hitsura niini "normal ug malipayon."

Shift left, left, ingon ko LEEEEβ€”

Para nako, usa sa mga importanteng prinsipyo sa Devops mao ang "shift left". Ang pagbalhin sa wala niini nga konteksto nagpasabut sa pagbalhin sa posibilidad (walay responsibilidad, apan mga kapabilidad lamang) sa pagbuhat sa mga butang nga kasagarang giatiman sa mga inhenyero sa sistema, sama sa paghimo og mga sukatan sa performance, paggamit sa mga troso nga mas episyente, ug uban pa, sa wala sa Software Delivery Life Cycle.

Ngano nga ang mga inhenyero wala magtagad sa pag-monitor sa aplikasyon?
Awtor sa litrato NESA ni Makers sa Unsplash

Ang mga nag-develop sa software kinahanglan nga makagamit ug makahibalo sa mga himan sa pag-monitor nga gigamit sa kompanya aron mahimo ang pag-monitor sa tanan nga mga porma, sukatan, pag-log, mga interface sa pag-monitor ug, labing hinungdanon, tan-awa kung giunsa ang ilang produkto molihok sa produksiyon. Dili nimo makuha ang mga developer nga mamuhunan sa paningkamot ug oras sa pag-monitor hangtod makita nila ang mga sukatan ug maimpluwensyahan kung unsa ang ilang hitsura, kung giunsa ang pagpresentar sa tag-iya sa produkto sa CTO sa sunod nga briefing, ug uban pa.

Sa hinay nga pagkasulti

  1. Dad-a ang imong kabayo ngadto sa tubig. Ipakita sa mga developers kung unsa ka dako ang kasamok nga ilang malikayan para sa ilang kaugalingon, tabangi sila sa pag-ila sa saktong KPIs ug metrics para sa ilang mga aplikasyon aron gamay ra ang singgit sa tag-iya sa produkto nga gisinggitan sa CTO. Dad-a sila ngadto sa kahayag, kalumo ug kalmado. Kung dili kana mosalir, suborno, hulga, ug awhagon sila o ang tag-iya sa produkto nga ipatuman ang pagkuha niini nga mga sukatan gikan sa mga aplikasyon sa labing madali nga mahimo, ug dayon idrowing ang mga diagram. Lisod kini kay dili man kini malantaw nga prayoridad ug ang roadmap sa produkto adunay daghang revenue generating projects nga pending. Busa, kinahanglan nimo ang usa ka kaso sa negosyo aron mahatagan katarungan ang oras ug gasto nga gigasto sa pagpatuman sa pag-monitor sa produkto.
  2. Tabangi ang mga inhenyero sa sistema nga makatulog og maayo. Ipakita kanila nga ang paggamit sa "let's release" checklist alang sa bisan unsang produkto nga gipagawas usa ka maayong butang. Ug ang pagsiguro nga ang tanan nga mga aplikasyon sa produksiyon gitabunan sa mga sukatan makatabang kanimo nga makatulog nga mas maayo sa gabii pinaagi sa pagtugot sa mga developer nga makita kung unsa ang sayup ug kung diin. Bisan pa, ang husto nga paagi sa pagpalagot ug pagpakyas sa bisan kinsa nga developer, tag-iya sa produkto, o CTO mao ang pagpadayon ug pagsukol. Kini nga pamatasan makaapekto sa petsa sa pagpagawas sa bisan unsang produkto kung maghulat ka pag-usab sa katapusan nga minuto, busa pagbalhin pag-usab sa wala ug ibutang kini nga mga isyu sa imong plano sa proyekto sa labing madali. Kung gikinahanglan, pag-adto sa mga miting sa produkto. Pagsul-ob og peke nga bigote ug gibati o usa ka butang, dili kini mapakyas. Ipahibalo ang imong mga kabalaka, ipakita ang klaro nga mga kaayohan, ug pag-ebanghelyo.
  3. Siguruha nga ang pag-uswag (dev) ug mga operasyon (ops) nakasabut sa kahulugan ug sangputanan sa mga sukatan sa produkto nga nagbalhin sa pula nga sona. Ayaw ibilin ang Ops isip bugtong tigbantay sa kahimsog sa produkto, siguruha nga ang mga developer apil usab (#productsquads).
  4. Ang mga log usa ka maayo nga butang, apan mao usab ang mga sukatan. Paghiusa sila ug ayaw tugoti nga ang imong mga troso mahimong basura sa usa ka dako nga nagdilaab nga bola nga wala’y kapuslanan. Ipatin-aw ug ipakita sa mga developers nganong walay lain nga makasabut sa ilang mga troso, ipakita kanila kon unsa ang hitsura sa pagtan-aw sa walay pulos nga mga troso sa 3:15 sa buntag.

Ngano nga ang mga inhenyero wala magtagad sa pag-monitor sa aplikasyon?
Awtor sa litrato Marko Horvat sa Unsplash

Mao ra. Ang bag-ong materyal ipagawas sa sunod semana. Kung gusto nimo mahibal-an ang dugang bahin sa kurso, gidapit ka namon sa Bukas nga Adlaw, nga mahitabo sa Lunes. Ug karon naandan na namon nga naghulat sa imong mga komento.

Source: www.habr.com

Idugang sa usa ka comment