la socodka ma dhintay? - Korjoogteynta nolosha dheer

la socodka ma dhintay? - Korjoogteynta nolosha dheer

Tan iyo 2008, shirkadeena ayaa ugu horrayn ku hawlanaa maaraynta kaabayaasha iyo taageero farsamo oo saacad kasta ah mashaariicda webka: waxaan leenahay in ka badan 400 macaamiisha, taas oo ku saabsan 15% ee ganacsiga e-commerce Ruush. Sidaas awgeed, naqshad aad u kala duwan ayaa la taageeray. Haddii ay wax dhacaan, waxaa nagu waajib ah inaan ku hagaajinno 15 daqiiqo gudahood. Laakiin si aad u fahamto in shil dhacay, waxaad u baahan tahay inaad la socoto mashruuca oo aad ka jawaabto shilalka. Sidee loo sameeyaa tan?

Waxaan aaminsanahay in ay dhibaato ka jirto abaabulka hab kormeer sax ah. Haddii aysan dhib jirin, hadalkaygu wuxuu ka koobnaan lahaa hal qoraal: "Fadlan ku rakib Prometheus + Grafana iyo plugins 1, 2, 3." Nasiib darro, sidaas kuma sii shaqaynayso. Dhibaatada ugu weyni waa in qof kastaa uu sii wado inuu rumaysto wax jiray 2008, marka la eego qaybaha software.

Marka la eego abaabulka nidaamka kormeerka, waxaan ku dhiiran lahaa in aan sheego in...mashruuc leh kormeer karti leh ma jiraan. Xaaladduna aad bay u xun tahay in haddii ay wax dhacaan, ay jirto khatar ah in aan la dareemin - ka dib, qof kastaa wuxuu hubaa in "wax walba la kormeero."
Malaha wax walba waa lala socdaa. Laakiin sidee?

Dhammaanteen waxaan la kulannay sheeko la mid ah kuwan soo socda: qaar gaar ah, maamule gaar ah ayaa shaqeynaya, koox horumarineed ayaa u timid iyaga oo leh - "waa nala sii daayay, hadda la soco." La soco maxaa? Sidee u shaqeysaa?

OK Waxaan la soconaa qaabkii hore. Oo mar hore way isbeddelaysaa, waxaana soo baxday in aad kormeertay adeegga A, oo noqday adeegga B, kaas oo la falgala adeegga C. Laakiin kooxda horumarinta ayaa kuu sheegaysa: "Ku rakib software-ka, waa inuu la socdaa wax walba!"

Haddaba maxaa is beddelay? - Wax walba way is beddeleen!

2008 Wax walba waa fiican yihiin

Waxaa jira dhowr horumariye, hal server, hal server database. Dhammaan waxay ka socdaan halkan. Waxaan haynaa macluumaad, waxaan ku rakibnay zabbix, Nagios, cacti. Kadibna waxaanu dejinay digniino cad oo ku saabsan CPU, hawlgalka diskka, iyo booska diskooga. Waxaan sidoo kale sameynaa dhowr hubin oo gacanta ah si aan u hubinno in goobta ay ka jawaabto iyo in amarada ay soo galaan xogta macluumaadka. Taasina waa - in badan ama ka yar ayaa la ilaaliyaa.

Haddii aan isbarbardhigno qadarka shaqada ee maamuluhu uu markaas sameeyay si uu u bixiyo kormeerka, markaa 98% waxay ahayd mid toos ah: qofka kormeeraya waa inuu fahmo sida loo rakibo Zabbix, sida loo habeeyo oo loo habeeyo digniinaha. Iyo 2% - jeegag dibadeed: in goobta ay ka jawaabto oo ay codsi u dirto xogta, in amarro cusub ay yimaadeen.

la socodka ma dhintay? - Korjoogteynta nolosha dheer

2010 Culaysku wuu sii kordhayaa

Waxaan bilaabaynaa inaan cabbirno shabakada, ku darnaa mashiinka raadinta. Waxaan rabnaa in aan hubinno in buug-yaraha badeecada uu ka kooban yahay dhammaan alaabooyinka. Iyo raadinta alaabtaas ayaa shaqeysa. In database-ku shaqaynayo, in amarro la sameeyo, in goobta ay dibeda uga jawaabto oo ay ka soo jawaabto laba server oo aan isticmaaluhu goobta laga saarin inta lagu soo celinayo server kale, iwm. Waxaa jira hay'ado badan.

Waxaa intaa dheer, cidda ku xiran kaabayaasha ayaa weli ah tan ugu weyn madaxa maareeyaha. Wali waxaa jira fikrad madaxayga ku jirta oo ah in qofka kormeerka samaynaya uu yahay qofka rakibi doona zabbix oo awood u yeelan kara inuu habeeyo.

Laakiin isla mar ahaantaana, shaqadu waxay u muuqataa samaynta jeegag dibadeed, abuurista tiro ka mid ah qoraallada su'aalaha tusaha raadinta, qayb qoraal ah si loo hubiyo in raadinta isbeddelka inta lagu jiro habka tusmaynta, qayb qoraal ah oo hubiya in alaabta loo wareejiyo adeegga gaarsiinta, iwm. iyo wixi la mida.

la socodka ma dhintay? - Korjoogteynta nolosha dheer

Fiiro gaar ah: Waxaan qoray "qodo qoraal ah" 3 jeer. Taasi waa, qofka mas'uulka ka ah la socodka maahan kan si fudud u rakibaya zabbix. Kani waa qofka bilaaba codaynta. Laakiin wali ma jiro wax iska beddelay maskaxda kooxda.

Laakiin dunidu way isbedelaysaa, way sii adkaanaysaa. Lakabka wax-soo-saarka iyo dhowr nidaam oo cusub ayaa lagu daray. Waxay bilaabaan inay is dhexgalaan. Yaa yidhi "waxay u urayaan adeegaha yaryar?" Laakiin adeeg kastaa wuxuu weli u eg yahay degel si gaar ah. Waan u jeesan karnaa oo fahmi karnaa inay bixiso macluumaadka lagama maarmaanka ah oo ay keligiis u shaqeyso. Oo haddii aad tahay maamule si joogto ah ugu lug leh mashruuc soo socday 5-7-10 sano, aqoontan ayaa uruursanaysa: heer cusub ayaa soo muuqda - waad garatay, heer kale ayaa u muuqda - waad garatay ...

la socodka ma dhintay? - Korjoogteynta nolosha dheer

Laakin dhif iyo naadir ma jiro qof la socda mashruuc muddo 10 sano ah.

resumeyga kormeeraha

Ka soo qaad inaad timid shirkad cusub oo isla markiiba shaqaaleysiiyay 20 horumariye, qoray 15 adeeg-yaraha, oo aad tahay maamule lagu yidhi: β€œDhiso CI/CD. Fadlan." Waxaad dhistay CI/CD oo si lama filaan ah ayaad u maqlaysaa: " Way nagu adagtahay in aan ku shaqayno wax soo saarka "cube", iyada oo aan la fahmin sida codsigu uga shaqayn doono. Inaga samee sanduuq ciid ah oo isku mid ah "cube".
Waxaad ku samaysaa sanduuq ciid ah cubekan. Waxay isla markiiba kuu sheegaan: "Waxaan rabnaa xog-ururinta marxaladda oo maalin kasta laga cusboonaysiiyo wax-soo-saarka, si aan u fahamno inay ku shaqeyso kaydka xogta, isla markaana aysan kharribin xogta wax-soo-saarka."

Waxaad ku nooshahay waxaas oo dhan. Waxaa jira 2 toddobaad ka hor inta aan la sii deyn, waxay kuu sheegayaan: "Hadda aan la socono waxaas oo dhan..." Taasi waa. la soco kaabayaasha kutlada, la soco qaab dhismeedka adeega-yar, la soco shaqada adeegyada dibadda...

Iyo asxaabteyda waxay ka qaadaan nidaamka caadiga ah madaxooda oo waxay yiraahdaan: "Hagaag, wax walba waa cad yihiin halkan! Ku rakib barnaamij la socon doona waxaas oo dhan.” Haa, haa: Prometheus + Grafana + plugins.
Waxayna ku dareen: "Waxaad haysataa laba toddobaad, hubi in wax walba ay ammaan yihiin."

Mashaariic badan oo aan aragno, hal qof ayaa loo qoondeeyay la socodka. Bal qiyaas in aan rabno in aan shaqaaleysiino qof si uu u sameeyo la socodka 2 toddobaad, oo aan u qorno resume isaga. Xirfado noocee ah ayuu qofkani leeyahay, marka la eego wax kasta oo aan sheegnay ilaa hadda?

  • Waa inuu fahmaa la socodka iyo waxyaabaha gaarka ah ee hawlgalka kaabayaasha birta.
  • Waa inuu fahamsan yahay waxyaabaha gaarka ah ee la socodka Kubernetes (iyo qof kastaa wuxuu rabaa inuu tago "cube", sababtoo ah wax walba waad ka soo bixi kartaa, qarin kartaa, sababtoo ah maamuluhu wuxuu la macaamili doonaa inta kale) - laftiisa, kaabayaasha, iyo fahamka sida loola socdo codsiyada gudaha.
  • Waa inuu fahamsan yahay in adeegyadu ay si gaar ah ula xiriiraan midba midka kale, oo uu yaqaanna waxyaabaha gaarka ah ee sida adeegyadu isula falgalaan. Waa suurtogal in la arko mashruuc ay adeegyada qaarkood si isku mid ah ugu wada xiriiraan, sababtoo ah ma jirto waddo kale. Tusaale ahaan, dhabarka dambe waxa uu maraa REST, iyada oo loo sii marayo gRPC adeega buugaagta, waxa uu helayaa liiska alaabta oo dib u soo celiyaa. Halkan kuma sugi kartid Iyo adeegyada kale waxay u shaqeysaa si isku mid ah. U wareeji dalabka adeegga gaarsiinta, dir warqad, iwm.
    Waxaa laga yaabaa inaad mar hore ka dabaashay waxaas oo dhan? Adminkii oo u baahnaa inuu arrintan la socdo ayaa sii wareeray.
  • Waa inuu si sax ah u qorsheyn karaa oo u qorsheyn karaa - marka ay shaqadu sii korodho.
  • Sidaa darteed waa inuu abuuraa istaraatiijiyad ka socota adeegga la abuuray si uu u fahmo sida si gaar ah loola socdo. Wuxuu u baahan yahay fahamka dhismaha mashruuca iyo horumarintiisa + fahamka tignoolajiyada loo isticmaalo horumarka.

Aynu xasuusanno kiis caadi ah: adeegyada qaar waxay ku jiraan PHP, adeegyada qaarna waxay ku yaalaan Go, adeegyada qaarkood waxay ku yaalaan JS. Waxay si uun u wada shaqeeyaan. Halkani waa halka ereyga "microservice" uu ka yimid: waxaa jira habab badan oo shakhsi ah oo horumariyayaashu aysan fahmi karin mashruuca guud ahaan. Qayb ka mid ah kooxda ayaa ku qorta adeegyada JS kaligood shaqeeya oo aan garanayn sida nidaamka intiisa kale u shaqeeyo. Qaybta kale waxay ku qortaa adeegyada Python mana faragelinayso sida adeegyada kale u shaqeeyaan; waxay ku go'doonsan yihiin aaggooda. Midka saddexaad waa qorista adeegyada PHP ama wax kale.
Dhammaan 20-kan qof waxay u qaybsan yihiin 15 adeeg, waxaana jira hal admin oo keliya oo ay tahay inuu fahmo dhammaan waxaas oo dhan. Jooji! Kaliya waxaan u kala qaybinay nidaamka 15 microservices sababtoo ah 20 qof ma fahmi karaan nidaamka oo dhan.

Laakiin waxay u baahan tahay in si uun loola socdo...

Maxaa natiijadu noqotay? Natiijo ahaan, waxaa jira hal qof oo la yimaada wax kasta oo aysan fahmi karin dhammaan kooxda horumarinta, isla markaana waa inuu sidoo kale yaqaannaa oo awood u leeyahay inuu sameeyo waxa aan kor ku soo sheegnay - kaabayaasha hardware, kaabayaasha Kubernetes, iwm.

Maxaan dhihi karaa ... Houston, waxaan leenahay dhibaatooyin.

La socodka mashruuca software casriga ah waa mashruuc software laftiisa

Laga soo bilaabo caqiidada beenta ah ee ah in la socodka waa software, waxaan horumarinaa rumaysadka mucjisooyinka. Laakiin mucjisooyin, hoogay, ma dhacaan. Ma rakibi kartid zabbix oo waxaad filan kartaa in wax walba ay shaqeeyaan. Ma jirto wax macno ah in la rakibo Grafana oo la rajaynayo in wax walba ay hagaagi doonaan. Inta badan wakhtiga waxaa lagu bixin doonaa abaabulka hubinta shaqada adeegyada iyo isdhexgalka dhexdooda, hubinta sida nidaamyada dibadda u shaqeeyaan. Dhab ahaantii, 90% wakhtiga laguma isticmaali doono qorista qoraallada, laakiin horumarinta software. Waana in ay gacanta ku hayaan koox fahansan shaqada mashruuca.
Haddii xaaladdan hal qof lagu tuuro la socodka, markaas masiibo ayaa dhici doonta. Taas oo ah waxa meel walba ka dhaca.

Tusaale ahaan, waxaa jira adeegyo dhowr ah oo midba midka kale kula xiriira Kafka. Dalabkii ayaa yimid, waxaan u dirnay fariin ku saabsan amarka Kafka. Waxa jira adeeg dhegaysata macluumaadka ku saabsan dalabka oo soo rara alaabta. Waxa jira adeeg dhagaysta macluumaadka ku saabsan dalabka oo warqad u soo diraya isticmaalaha. Ka dibna farabadan adeegyo badan ayaa soo muuqda, waxaanan bilownay inaan jahwareerno.

Iyo haddii aad sidoo kale tan siiso maamulka iyo horumariyeyaasha marxaladda marka ay jirto waqti gaaban ka hor inta aan la sii deyn, qofku wuxuu u baahan doonaa inuu fahmo borotokoolkan oo dhan. Kuwaas. Mashruuca miisaankani wuxuu qaadanayaa wakhti aad u badan, tanina waa in lagu daraa horumarinta nidaamka.
Laakiin marar badan, gaar ahaan kuwa bilawga ah, waxaan aragnaa sida korjoogteynta dib loogu dhigo ilaa goor dambe. "Hadda waxaan samayn doonaa caddaynta fikradda, waxaan ku bilaabi doonaa, ha dhaco - waxaan diyaar u nahay inaan hurno. Ka dibna waanu la socon doonaa dhammaan.” Marka (ama haddii) mashruucu bilaabo inuu lacag sameeyo, ganacsigu wuxuu rabaa inuu ku daro xitaa sifooyin badan - sababtoo ah wuxuu bilaabay inuu shaqeeyo, sidaas darteed waxay u baahan tahay in la sii daayo! Oo waxaad joogtaa meesha aad marka hore u baahan tahay inaad la socoto wax kasta oo hore, taas oo aan qaadanaynin 1% wakhtiga, laakiin wax ka badan. Iyo habka, horumariyayaashu waxay u baahan doonaan la socodka, wayna fududahay in loo ogolaado inay ku shaqeeyaan sifooyin cusub. Natiijo ahaan, sifooyin cusub ayaa la qoraa, wax walbana waa la qallafsan yahay, waxaadna ku jirtaa dhimasho aan dhammaad lahayn.

Haddaba sida loo kormeero mashruuc ka bilaabmaya bilowga, iyo waxa la sameeyo haddii aad hesho mashruuc u baahan in la kormeero, laakiin ma garanaysid meel aad ka bilowdo?

Marka hore, waxaad u baahan tahay inaad qorsheysato.

Digression Lyrical: inta badan waxay ku bilaabaan la socodka kaabayaasha. Tusaale ahaan, waxaan leenahay Kubernetes. Aan ku bilowno ku rakibida Prometheus leh Grafana, ku rakibida plugins si loola socdo "cube". Kaliya maaha kuwa horumariya, laakiin sidoo kale maamulayaashu waxay leeyihiin dhaqanka nasiib-darrada ah ee: "Waxaan rakibi doonnaa plugin-kan, laakiin plugin-ku wuxuu u badan yahay inuu yaqaan sida loo sameeyo." Dadku waxay jecel yihiin inay ku bilaabaan kuwa fudud oo toosan, halkii ay ka bilaabi lahaayeen falalka muhiimka ah. Iyo la socodka kaabayaasha waa sahlan tahay.

Marka hore, go'aanso waxa iyo sida aad rabto inaad ula socoto, ka dibna dooro qalab, sababtoo ah dadka kale kuma fekeri karaan adiga. Oo waa inay? Dadka kale waxay u maleeyeen in ay naftooda, oo ku saabsan nidaamka caalamiga ah - ama uma malaynayn at dhan marka plugin this la qoray. Oo kaliya sababtoo ah plugin tani waxay leedahay 5 kun oo isticmaalayaasha macnaheedu maaha inay tahay wax faa'iido leh. Waxaa laga yaabaa inaad noqon doonto 5001-aad sababtoo ah waxaa horay u joogay 5000 oo qof.

Haddii aad bilowdo la socodka kaabayaasha iyo dhabarka dambe ee dalabkaagu joojiyo ka jawaabista, dhammaan isticmaalayaasha ayaa lumin doona xidhiidhka arjiga mobaylka. Khalad ayaa soo bixi doona Way kuu iman doonaan oo waxay odhan doonaan "Codsigu ma shaqaynayo, maxaad halkan ka samaynaysaa?" - "Waan la soconaa." - "Sidee baad ula socotaa haddii aadan arkin in codsigu aanu shaqaynayn?!"

  1. Waxaan aaminsanahay inaad u baahan tahay inaad si sax ah ula socoto meesha laga soo galo isticmaalaha. Haddii isticmaaluhu uusan arkin in codsigu shaqeynayo, taasi waa, waa guuldarro. Nidaamka la socodka waa in uu ka digaa tan marka hore.
  2. Oo markaas uun baan la socon karnaa kaabayaasha dhaqaalaha. Ama si barbar socda u samee. Way ku fududahay kaabayaasha - halkan waxaan ugu dambeyntii ku rakibi karnaa zabbix.
  3. Oo hadda waxaad u baahan tahay inaad tagto xididdada codsiga si aad u fahamto halka arrimuhu aanay shaqaynayn.

Fikradayda ugu weyn ayaa ah in kormeerku uu la socdo habka horumarinta. Haddii aad ka mashquuliso kooxda la socodka hawlo kale (abuurista CI/CD, sandboxing, dib u habeynta kaabayaasha), la socodka waxa ay bilaabi doontaa in ay dib u dhacdo oo laga yaabo in aadan waligaa la qabsan horumarka (ama mar dhow ama dambe waa inaad joojisaa).

Wax walba heerar

Tani waa sida aan u arko abaabulka nidaamka kormeerka.

1) Heerka codsiga:

  • la socodka macquulka ganacsiga codsiga;
  • la socodka halbeegyada caafimaadka adeegyada;
  • la socodka isdhexgalka.

2) Heerka kaabayaasha:

  • la socodka heerka abaabulka;
  • la socodka nidaamka software;
  • la socodka heerka birta.

3) Mar labaad heerka codsiga - laakiin sida wax soo saarka injineernimada:

  • ururinta iyo la socodka diiwaanka codsiga;
  • APM;
  • baafinta

4) Digniin:

  • abaabulka nidaamka digniinta;
  • habaynta nidaamka waajibaadka;
  • abaabulka "saldhigga aqoonta" iyo socodka shaqada ee habaynta dhacdada.

muhiim ah: Waxaan helnaa feejignaanta ka dib, laakiin isla markiiba! Looma baahna in la bilaabo la socodka oo β€œsi uun hadhow” la ogaado cidda heli doonta digniinaha. Ka dib oo dhan, waa maxay hawsha kormeerka: in la fahmo meesha nidaamka wax ka khaldan yihiin, iyo in dadka saxda ah loo sheego. Haddii aad tan ka tagto ilaa dhamaadka, markaas dadka saxda ah waxay ogaan doonaan in ay wax khaldan yihiin oo kaliya iyagoo wacaya "wax noo shaqeynaya ma jiro."

Lakabka Codsiga - Kormeerka macquulka ah ee Ganacsiga

Halkan waxaan kaga hadlaynaa hubinta in codsigu u shaqeeyo isticmaalaha.

Heerkan waa in la sameeyaa inta lagu jiro marxaladda horumarinta. Tusaale ahaan, waxaan haynaa Prometheus shuruudaysan: waxay aadaysaa server-ka sameeya jeegaga, jiida dhamaadka, iyo dhamaadka barta oo tagaa oo hubisa API.

Marka inta badan la weydiiyo in ay la socdaan bogga guriga si loo hubiyo in goobta ay shaqaynayso, barnaamij-sameeyayaashu waxay siinayaan gacan la jiidi karo mar kasta oo ay u baahan yihiin si loo hubiyo in API uu shaqeynayo. Barnaamij-bixiyeyaashu wakhtigan xaadirka ah waxay wali qaataan oo qoraan /api/test/helloworld
Sida kaliya ee lagu hubin karo in wax walba ay shaqeeyaan? - Maya!

  • Abuuritaanka jeegaga noocaas ah asal ahaan waa hawsha horumariyeyaasha. Imtixaannada unugga waa in ay qoraan barnaamijyada qora koodka. Sababtoo ah haddii aad u daadato maamulaha, "Saaxiib, halkan waxaa ah liiska borotokoolka API ee dhammaan 25 hawlood, fadlan wax walba la soco!" - waxba ma socon doonaan.
  • Haddii aad daabacdo "hello world", qofna weligiis ma ogaan doono in API uu shaqaynayo oo uu shaqaynayo. Isbeddel kasta oo API ah waa inuu horseedaa isbeddel ku yimaada jeegaga.
  • Haddii aad hore u leedahay dhibaatadan oo kale, jooji sifooyinka oo u qoondee horumariyeyaasha kuwaas oo qori doona jeegaggaas, ama aqbali doona khasaaraha, aqbal in aan waxba la hubin oo uu guuldareysan doono.

Talooyin Farsamo:

  • Hubi inaad habayso server dibadeed si aad u habayso jeegaga - waa inaad hubisaa in mashruucaagu yahay mid la heli karo aduunka ka baxsan.
  • Abaabul jeegaga dhammaan borotokoolka API, ma aha oo kaliya meelaha dhamaadka shaqsiga.
  • Samee barta-dhamaadka-prometheus oo leh natiijooyinka imtixaanka.

lakabka codsiga - la socodka cabbirada caafimaadka

Hadda waxaan ka hadlaynaa cabbirrada adeegyada caafimaadka dibadda.

Waxaan go'aansanay inaan la soconno dhammaan "gacanta" codsiga annagoo adeegsanayna hubinno dibadda ah, oo aan ka wacno nidaamka kormeerka dibadda. Laakiin kuwani waa "gacanta" uu isticmaaluhu "arko". Waxaan rabnaa inaan hubinno in adeegyadayada laftooda ay shaqeeyaan. Waxaa jirta sheeko ka wanaagsan halkan: K8s waxay leeyihiin baaritaanno caafimaad, si ugu yaraan "cube" laftiisa loogu qanciyo in adeeggu shaqeynayo. Laakiin kala badh jeegaggii aan arkay waa isla daabacaadda β€œhello world”. Kuwaas. Markaa wuu soo jiiday hal mar ka dib markii la diray, wuxuu ku jawaabay in wax walba ay fiican yihiin - taasi waa dhammaan. Adeegguna, haddii uu bixiyo API u gaar ah, wuxuu leeyahay tiro aad u badan oo laga soo galo API-gaas, kaas oo sidoo kale u baahan in lala socdo, sababtoo ah waxaan rabnaa inaan ogaano inay shaqeyso. Horaana waanu ula soconay gudaha.

Sida tan si sax ah loogu hirgeliyo farsamo ahaan: adeeg kastaa wuxuu soo bandhigayaa dhamaadka dhamaadka waxqabadkiisa hadda, iyo garaafyada Grafana (ama codsi kasta oo kale) waxaan aragnaa heerka adeegyada oo dhan.

  • Isbeddel kasta oo API ah waa inuu horseedaa isbeddel ku yimaada jeegaga.
  • Isla markiiba u samee adeeg cusub oo leh cabbir caafimaad.
  • Maamuluhu waxa uu u iman karaa horumariyayaasha oo waydiin kara "igu dar dhawr astaamood si aan wax walba u fahmo oo aan ugu daro macluumaadka tan nidaamka la socodka." Laakiin horumariyayaashu waxay inta badan ku jawaabaan, "Wax kuma dari doono laba toddobaad ka hor intaan la sii dayn."
    Maareeyayaasha horumarku ha ogaadaan in khasaaruhu jiro, sidoo kale ha ogaadaan maamulka maareeyayaasha horumarinta. Sababtoo ah marka wax walba dhacaan, qof ayaa wali wici doona oo dalban doona inuu kormeero "adeegga joogtada ah ee dhacaya" (c)
  • Jid ahaan, u qoondee horumariyeyaasha si ay u qoraan plugins ee Grafana - tani waxay caawin fiican u noqon doontaa maamulayaasha.

Lakabka Codsiga - Kormeerka Is-dhexgalka

Korjoogteynta isdhexgalka ayaa diiradda saara la socodka xiriirka ka dhexeeya hababka ganacsiga-muhiimka ah.

Tusaale ahaan, waxa jira 15 adeeg oo midba midka kale ku xidhiidho. Kuwani hadda ma ahan goobo gaar ah. Kuwaas. Ma soo jiidi karno adeegga keligiis, hel /helloworld oo ma fahmi karno in adeeggu socdo. Sababtoo ah adeegga shabakada dalabka waa inuu u soo diraa macluumaadka ku saabsan dalabka baska - laga bilaabo baska, adeegga bakhaarka waa inuu helaa fariintan oo uu la sii shaqeeyo. Adeegga qaybinta iimaylkana waa in uu tan si uun uga baaraandego, iwm.

Sidaa awgeed, ma fahmi karno, in aan ku dhufanno adeeg kasta oo gaar ah, in ay dhammaan shaqeeyaan. Sababtoo ah waxaan leenahay bas gaar ah oo wax walba ay ku wada xiriiraan oo ay is dhexgalaan.
Sidaa darteed, marxaladani waa in ay calaamad u tahay heerka adeegyada tijaabinta ee la macaamilka adeegyada kale. Suurtagal ma aha in la abaabulo la socodka isgaadhsiinta iyada oo la kormeerayo dallaalka fariinta. Haddii uu jiro adeeg soo saara xogta iyo adeeg hela, marka la kormeero dillaalka waxa aan arkaynaa oo keliya xog kolba dhinac u duulaysa. Xitaa haddii aan si uun u suurtagelinay inaan la soconno isdhexgalka xogtan gudaha - in soo saaraha qaarkood uu soo dhejiyo xogta, qof ayaa akhriya, socodkani wuxuu sii wadaa inuu tago Kafka - tani weli nama siin doonto macluumaadka haddii hal adeeg uu u diro fariinta hal nooc. , laakiin adeegga kale ma fileyn noocaan oo wuu ka booday. Ma ogaan doonno tan, maadaama adeegyadu ay noo sheegi doonaan in wax walba ay shaqeynayaan.

Waxa aan ku talinayaa in la sameeyo:

  • Xidhiidhka isku midka ah: barta dhamaadka waxay soo jeedinaysaa codsiyada adeegyada la xidhiidha. Kuwaas. Waxaan qaadnaa bartan dhamaadka ah, jiid script gudaha adeegga, kaas oo tagaya dhammaan dhibcaha oo dhahaya "halkaas waan jiidi karaa, oo jiidi karaa, halkaas ayaan jiidi karaa..."
  • Xidhiidhka asynchronous: fariimaha soo socda - barta dhamaadka waxay hubisaa baska fariimaha tijaabada waxayna muujisaa heerka habaynta.
  • Xidhiidhka aan iswada lahayn: fariimaha baxaya - barta dhamaadka waxay u soo dirtaa fariimaha tijaabada baska.

Sida caadiga ah waxay dhacdaa: waxaanu haynaa adeeg xogta ku tuura baska. Waxaan u nimid adeegan waxaanan ku weydiineynaa inaad noo sheegto caafimaadkiisa laqabsashada. Oo haddii adeeggu u baahan yahay inuu soo saaro fariin meel ka sii fog (WebApp), markaas waxay soo saari doontaa fariintan tijaabada ah. Oo haddii aan wadno adeeg dhinaca OrderProcessing, marka hore waxay soo dhejisaa waxa ay soo dhejin karto si madaxbannaan, iyo haddii ay jiraan waxyaabo ku tiirsan, ka dibna waxay akhridaa fariimaha tijaabada ah ee baska, waxay fahamsan tahay inay ka shaqeyn karto, ka warbixiso iyo , haddii loo baahdo, ku dheji iyaga oo dheeraad ah, oo arrintan ku saabsan ayuu yidhi - wax walba waa ok, waan noolahay.

Marar badan waxaan maqalnaa su'aasha ah "sidee ayaan tan ugu tijaabin karnaa xogta dagaalka?" Tusaale ahaan, waxaanu ka hadlaynaa adeeg dalbashada isku mid ah. Amarka wuxuu fariin u diraa bakhaarka ay alaabtu ku qoran tahay: tan kuma tijaabin karno xogta dagaalka, sababtoo ah "alaabtayda waa la qori doonaa!" Xalka: Qorshayso tijaabadan oo dhan bilowga hore. Waxa kale oo aad haysaa imtixaano unugyo sameeya majaajilo. Markaa, ku samee heer qoto dheer oo aad leedahay kanaal isgaarsiineed oo aan waxyeello u geysan shaqada ganacsiga.

Heerka kaabayaasha

La socodka kaabayaasha waa wax in muddo ah loo tixgeliyey in lafteeda la kormeero.

  • Korjoogteynta kaabayaasha waa in loo bilaabaa qaab gooni ah.
  • Waa inaadan ku bilaabin la socodka kaabayaasha mashruuca socda, xitaa haddii aad runtii rabto. Tani waxay xanuun ku tahay dhammaan doobyada. "Marka hore waxaan kormeeri doonaa kooxda, waxaan la socon doonaa kaabayaasha" - i.e. Marka hore, waxay la socon doontaa waxa hoos yaal, laakiin ma geli doonto codsiga. Sababtoo ah codsigu waa wax aan la fahmi karin oo loogu talagalay deps. Waa loo daadagay isaga, mana uu fahmin sida ay u shaqeyso. Kaabayaasha dhaqaalahana wuu fahmaa oo ka bilaabaa. Laakiin maya - mar walba waxaad u baahan tahay inaad la socoto codsiga marka hore.
  • Ha ku dhaafin tirada digniinaha. Iyadoo la tixgelinayo kakanaanta nidaamyada casriga ah, digniinaha ayaa si joogto ah u duulaya, waana inaad si uun ula noolaato farabadan digniinaha. Qofka la soo wacay, markuu eegay boqol ka mid ah digniinaha soo socda, wuxuu go'aansan doonaa "Ma rabo inaan ka fekero." Ogeysiisyadu waa inay ogeysiiyaan oo keliya waxyaabaha muhiimka ah.

Heerka codsiga unug ganacsi ahaan

Qodobbada muhiimka ah:

  • ELK. Tani waa heerka warshadaha. Haddii sabab qaar ka mid ah aadan ururin logyada, sida ugu dhaqsaha badan u billow.
  • APM APM-yada dibadda si dhakhso ah loo xidho la socodka codsiga (NewRelic, BlackFire, Datadog). Waxaad ku rakibi kartaa shaygan si ku meel gaar ah si aad ugu yaraan si uun u fahanto waxa adiga kula jira.
  • Baafinta Daraasiin adeeg-yaro ah, waa inaad raadisaa wax walba, sababtoo ah codsigu ma sii noolaado keligiis. Aad bay u adagtahay in lagu daro hadhow, markaa way fiicantahay in isla markiiba jadwal loo sameeyo raadinta horumarinta - tani waa shaqada iyo faa'iidada horumarinta. Haddaadan weli fulin, dhaqan geli! Eeg Jaeger/Zipkin

Digniin

  • Habaynta nidaamka wargelinta: xaaladaha la socodka farabadan waxyaabo, waa in uu jiraa nidaam midaysan oo ogeysiisyada loo diro. Waxaad ka heli kartaa Grafana. Galbeedka, qof kastaa wuxuu isticmaalaa PagerDuty. Ogeysiisyadu waa inay cad yihiin (tusaale meesha ay ka yimaadeen...). Waxaana lagu talinayaa in la xakameeyo in ogeysiisyada la helo gabi ahaanba
  • Habaynta nidaamka waajibaadka: digniinaha waa in aan qof walba loo dirin (ama qof kastaa wuxuu kaga falcelinayaa dad badan, ama qofna kama falcelin doono). Horumariyayaashu sidoo kale waxay u baahan yihiin in la waco: hubi inaad qeexdo meelaha mas'uuliyadda, samee tilmaamo cad oo ku qor cidda sida saxda ah u wacaysa Isniinta iyo Arbacada, iyo cidda wacaysa Talaadada iyo Jimcaha (haddii kale cidna uma yeedhi doonto xitaa gudaha dhacdo dhibaato weyn - waxay ka baqi doonaan inay ku toosiyaan ama ku dhibaan: dadku guud ahaan ma jecla inay wacaan oo ay toosiyaan dadka kale, gaar ahaan habeenkii). Oo sharax in waydiisashadu aanay ahayn tilmaame karti-darro ("Waxaan waydiisanayaa caawimo, taasi waxay la macno tahay inaan ahay shaqaale xun"), ku dhiirigeli codsiyada caawimada.
  • Abaabulka "saldhigga aqoonta" iyo socodka shaqada ee habaynta shilka: dhacdo kasta oo halis ah, waa in la qorsheeyaa baaritaanka dhimashada ka dib, iyo sida ku meel gaadhka ah, ficilada xallin doona dhacdada waa in la diiwaangeliyaa. Oo dhaqan ka dhig in digniinaha soo noqnoqda ay dembi yihiin; waxay u baahan yihiin in lagu hagaajiyo koodhka ama shaqada kaabayaasha.

Xirmada tignoolajiyada

Aynu qiyaasno in xidhmooyinkeenu yahay sida soo socota:

  • xog ururinta - Prometheus + Grafana;
  • falanqaynta log - ELK;
  • loogu talagalay APM ama Baafin - Jaeger (Zipkin).

la socodka ma dhintay? - Korjoogteynta nolosha dheer

Doorashada doorashadu maaha mid muhiim ah. Sababtoo ah haddii bilowgii aad fahamtay sida loo kormeero nidaamka oo aad qorto qorshe, markaa waxaad bilaabaysaa inaad doorato qalab ku habboon shuruudahaaga. Su'aashu waxay tahay maxaad dooratay inaad la socoto marka hore. Sababtoo ah waxaa laga yaabaa in qalabka aad dooratay bilowgii uusan ku habboonayn shuruudahaaga.

Dhowr qodob oo farsamo ah oo aan meel walba ku arko waayadan:

Prometheus waxaa lagu riixayaa gudaha Kubernetes - yaa la yimid tan?! Haddii kooxdaadu burburto, maxaad samayn doontaa? Haddii aad leedahay koox adag oo gudaha ah, markaas waa in uu jiraa nooc ka mid ah nidaamka la socodka gudaha kooxda, iyo qaar dibadda ah, kaas oo xogta ka soo ururin doona kooxda dhexdeeda.

Kooxda dhexdeeda waxaan ku ururinnaa geedo iyo wax kasta oo kale. Laakin nidaamka la socodka waa in uu dibadda ahaadaa. Inta badan, koox ka mid ah meesha uu jiro Promtheus gudaha lagu rakibay, waxaa sidoo kale jira nidaamyo sameeya hubinta dibadda ee hawlgalka goobta. Ka waran haddii xidhiidhkaagii aad la lahayd dunidu ay meesha ka baxday oo codsigu shaqayn waayo? Waxay soo baxday in wax walba ay ku fiican yihiin gudaha, laakiin wax uma fududa isticmaalayaasha.

natiijooyinka

  • Kobcinta la socodka maaha rakibaadda agabka, laakiin waa horumarinta badeecada software. 98% kormeerka maanta waa codayn Codaynta adeegyada, codaynta jeegaga dibadda, hubinta adeegyada dibadda, waana intaas oo dhan.
  • Ha ku lumin wakhtiga horumariyeyaashaada la socodka: waxay qaadan kartaa ilaa 30% shaqadooda, laakiin waa u qalantaa.
  • Devops, ha ka werwerin inaadan la socon karin shay, sababtoo ah waxyaabaha qaarkood waa hab fikirka gabi ahaanba ka duwan. Ma aadan ahayn barnaamij-sameeyaha, shaqada la socodkana waa shaqadooda.
  • Haddii mashruucu hore u socday oo aan lala socon (oo aad tahay maareeye), u qoondee agabka la socodka.
  • Haddii alaabtu ay horeba u soo saartay, oo aad tahay doob oo lagu yidhi "sameeya kormeer" - isku day inaad u sharaxdo maamulka waxa aan waxan oo dhan ka qoray.

Kani waa nuqulka la dheereeyey ee warbixinta shirka Saint Highload++

Haddii aad xiisaynayso fikradahayga iyo fikradahayga ku saabsan iyo mawduucyada la xidhiidha, markaa halkan waad awoodaa kanaalka akhri πŸ™‚

Source: www.habr.com

Add a comment