Ngaba ukubeka esweni kufile? -Ukubeka iliso ixesha elide

Ngaba ukubeka esweni kufile? -Ukubeka iliso ixesha elide

Ukusukela ngo-2008, inkampani yethu iye yabandakanyeka ngokuyintloko kulawulo lweziseko zophuhliso kunye nenkxaso yobugcisa obujikelezayo ubusuku nemini kwiiprojekthi zewebhu: sinabathengi abangaphezu kwama-400, malunga ne-15% ye-e-commerce yaseRashiya. Ngokuhambelanayo, i-architecture eyahluke kakhulu iyaxhaswa. Ukuba kukho into ewayo, sinyanzelekile ukuba siyilungise phakathi kwemizuzu eyi-15. Kodwa ukuqonda ukuba kwenzeke ingozi, kufuneka ubeke iliso kwiprojekthi kwaye uphendule kwiziganeko. Ukwenza njani oku?

Ndikholelwa ukuba kukho ingxaki ekuququzeleleni inkqubo efanelekileyo yokubeka iliso. Ukuba bekungekho ngxaki, intetho yam iya kuba nethisisi enye: "Nceda ufake iPrometheus + Grafana kunye neeplagi 1, 2, 3." Ngelishwa, ayisasebenzi ngaloo ndlela. Kwaye eyona ngxaki iphambili kukuba wonke umntu uyaqhubeka ekholelwa kwinto eyayikho ngo-2008, ngokwemigaqo yesoftware.

Ngokumalunga nombutho wenkqubo yokubeka iliso, ndingazama ukuthi... iiprojekthi ezinokubekwa kweliso okunobuchule azikho. Kwaye imeko imbi kakhulu kangangokuba ukuba kukho into ewayo, kukho umngcipheko wokuba ingabonwa - emva kwayo yonke loo nto, wonke umntu uqinisekile ukuba "yonke into ibekwe esweni."
Mhlawumbi yonke into ibekwe esweni. Kodwa kanjani?

Sonke siye sadibana nebali elifana neli lilandelayo: i-devops ethile, umlawuli othile uyasebenza, iqela lophuhliso liza kubo lithi- "siyakhululwa, ngoku beka iliso." Beka esweni ntoni? Ingaba isebenza kanjani?

KULUNGILE. Sibeka iliso kwindlela yakudala. Kwaye sele itshintshile, kwaye kuvela ukuba ubeke iliso kwinkonzo A, eyaba yinkonzo B, esebenzisana nenkonzo C. Kodwa iqela lophuhliso likuxelela: "Faka isofthiwe, kufuneka ibeke iliso kuyo yonke into!"

Yintoni ke etshintshileyo? - Yonke into itshintshile!

2008 Yonke into iilungile

Kukho isibini sabaphuhlisi, iseva enye, iseva yedatha enye. Yonke isuka apha. Sinolwazi oluthile, sifaka i-zabbix, i-Nagios, i-cacti. Kwaye emva koko sibeka izilumkiso ezicacileyo kwi-CPU, ekusebenzeni kwediski, nakwindawo yediski. Sikwaphinda senze uhlolo lwezandla ukuqinisekisa ukuba isiza siyaphendula kwaye iiodolo ziyafika kuvimba weenkcukacha. Kwaye yiloo nto-sikhuseleke ngakumbi okanye ngaphantsi.

Ukuba sithelekisa umyinge womsebenzi owenziwe ngumlawuli ngoko ukubonelela ngokubeka iliso, ngoko i-98% yayizenzekelayo: umntu owenza ukubeka iliso kufuneka aqonde indlela yokufaka i-Zabbix, indlela yokuyiqwalasela kunye nokuqwalasela izilumkiso. Kwaye i-2% - ukuhlolwa kwangaphandle: ukuba isayithi iphendula kwaye yenza isicelo kwisiseko sedatha, ukuba ii-odolo ezintsha zifikile.

Ngaba ukubeka esweni kufile? -Ukubeka iliso ixesha elide

2010 Umthwalo uyakhula

Siqala ukukala iwebhu, songeza injini yokukhangela. Sifuna ukuqinisekisa ukuba ikhathalogu yemveliso iqulethe zonke iimveliso. Kwaye loo mveliso yokukhangela iyasebenza. Ukuba i-database iyasebenza, ukuba i-odolo iyenziwa, ukuba isayithi iphendule ngaphandle kwaye iphendule kwiiseva ezimbini kwaye umsebenzisi akagxothwanga ngaphandle kwesayithi ngelixa i-rebalanced kwenye iseva, njl. Kukho amaziko amaninzi.

Ngaphezu koko, iqumrhu elinxulumene neziseko zophuhliso liselelona likhulu kwintloko yomphathi. Kusekho uluvo entlokweni yam ukuba umntu owenza ukubekwa esweni ngumntu oza kufaka i-zabbix kwaye akwazi ukuyiqwalasela.

Kodwa kwangaxeshanye, umsebenzi ubonakala ekuqhubeni iitshekhi zangaphandle, ekudaleni iseti yemibhalo yombuzo wesalathiso sokukhangela, iseti yezikripthi ukujonga ukuba uphendlo luyatshintsha ngexesha lenkqubo yesalathisi, iseti yezikripthi ezijonga ukuba iimpahla zikhutshelwa inkonzo yonikezelo, njl. kwaye nangokunjalo.

Ngaba ukubeka esweni kufile? -Ukubeka iliso ixesha elide

Qaphela: Ndibhale "iseti yezikripthi" ngamaxesha e-3. Oko kukuthi, umntu onoxanduva lokubeka iliso akasenguye ofaka nje i-zabbix. Lo ngumntu oqala ukubhala ikhowudi. Kodwa akukho nto itshintshileyo kwiingqondo zeqela okwangoku.

Kodwa ihlabathi liyatshintsha, liya lisiba nzima ngakumbi. Umaleko we-virtualization kunye neenkqubo ezininzi ezintsha zongezwa. Baqala ukusebenzisana omnye nomnye. Ngubani othe "ivumba njenge-microservices?" Kodwa inkonzo nganye isajongeka njengewebhusayithi nganye. Sinokuphethukela kuyo kwaye siqonde ukuba ibonelela ngolwazi oluyimfuneko kwaye isebenza ngokwayo. Kwaye ukuba ungumlawuli uhlala ebandakanyeka kwiprojekthi eye yaphuhliswa iminyaka eyi-5-7-10, olu lwazi luqokelela: inqanaba elitsha livela - waqaphela, elinye inqanaba livela - waqaphela ...

Ngaba ukubeka esweni kufile? -Ukubeka iliso ixesha elide

Kodwa kunqabile ukuba nabani na ahambe neprojekthi iminyaka eyi-10.

Ukuqhubeka koMonitoringman

Masithi ufike kwisiqalo esitsha esiqeshe ngokukhawuleza abaphuhlisi abangama-20, wabhala ii-microservices ezili-15, kwaye ungumlawuli oxelelwa oku: β€œYakha iCI/CD. Ndiyacela." Uye wakha i-CI / CD kwaye ngokukhawuleza uva: "Kunzima ukuba sisebenze kunye nemveliso kwi "cube", ngaphandle kokuqonda ukuba isicelo siya kusebenza njani kuyo. Senze ibhokisi yesanti kwi "tyhubhu" enye.
Wenza ibhokisi yesanti kule tyhubhu. Ngokukhawuleza bakuxelela: "Sifuna i-database yeqonga ehlaziywa yonke imihla ukusuka kwimveliso, ukuze siqonde ukuba isebenza kwi-database, kodwa kwangaxeshanye ayilonakalisi isiseko sedatha yemveliso."

Uhlala kuyo yonke le nto. Kukho iiveki ezi-2 ezisele ngaphambi kokukhululwa, zikuxelela: "Ngoku makhe sibeke iliso kuyo yonke le nto ...". ukubeka iliso kwiziseko ezingundoqo zeqela, ukubeka esweni ulwakhiwo lweenkonzo ezincinci, ukubeka esweni umsebenzi ngeenkonzo zangaphandle...

Kwaye oogxa bam bakhupha iskimu esiqhelekileyo ezintloko zabo bathi: β€œEwe, yonke into icacile apha! Faka inkqubo eza kubeka iliso kuyo yonke le nto.” Ewe, ewe: Iiplagi zePrometheus + Grafana +.
Kwaye bongeza: "Uneveki ezimbini, qiniseka ukuba yonke into ikhuselekile."

Kwiiprojekthi ezininzi esizibonayo, umntu omnye wabelwe ukubeka iliso. Khawucinge ukuba sifuna ukuqesha umntu ukuba enze ukubeka iliso kwiiveki ezi-2, kwaye simbhalela i-resume. Zeziphi izakhono afanele ukuba nazo lo mntu, xa sijonga yonke into esiyithethileyo ukuza kuthi ga ngoku?

  • Kufuneka aqonde ukubeka iliso kunye neenkcukacha zokusebenza kweziseko zentsimbi.
  • Kufuneka aqonde iinkcukacha zokubeka iliso ku-Kubernetes (kwaye wonke umntu ufuna ukuya "kwi-cube", kuba unako ukukhupha yonke into, ufihle, kuba umlawuli uya kujongana nabanye) - ngokwayo, iziseko zayo, kwaye uqonde indlela yokubeka iliso kwizicelo. ngaphakathi.
  • Kufuneka aqonde ukuba iinkonzo zinxibelelana ngeendlela ezikhethekileyo, kwaye zazi iinkcukacha zendlela iinkonzo ezisebenzisana ngayo. Kuyenzeka ukubona iprojekthi apho ezinye iinkonzo zinxibelelana ngaxeshanye, kuba akukho ndlela yimbi. Ngokomzekelo, i-backend ihamba nge-REST, nge-gRPC kwinkonzo yekhathalogu, ifumana uluhlu lweemveliso kwaye ibuyisele kwakhona. Awunakulinda apha. Kwaye nezinye iinkonzo zisebenza ngokulinganayo. Dlulisa umyalelo kwinkonzo yokuhanjiswa, thumela ileta, njl.
    Mhlawumbi sele uqubha kuyo yonke le nto? Kwaye ke admin ekufuneka ebeke iliso kulonto uye wabhideka ngakumbi.
  • Kufuneka abe nako ukucwangcisa nokucwangcisa ngokuchanekileyo - njengoko umsebenzi uya usanda.
  • Ngoko ke kufuneka enze isicwangciso esivela kwinkonzo eyenziweyo ukuze aqonde indlela yokubeka iliso ngokukodwa. Ufuna ingqiqo yoyilo lweprojekthi kunye nophuhliso lwayo + ukuqonda kobuchwepheshe obusetyenziswa kuphuhliso.

Masikhumbule imeko eqhelekileyo ngokupheleleyo: ezinye iinkonzo zikwi-PHP, ezinye iinkonzo zikwi-Go, ezinye iinkonzo zikwi-JS. Ngandlel' ithile basebenza kunye. Kulapho igama elithi "microservice" livela khona: zininzi kakhulu iinkqubo zomntu ngamnye kangangokuba abaphuhlisi abanakuyiqonda iprojekthi iyonke. Enye inxalenye yeqela ibhala iinkonzo kwi-JS ezisebenza ngokwazo kwaye azi ukuba yonke inkqubo isebenza njani. Elinye icandelo libhala iinkonzo kwiPython kwaye ayiphazamisi indlela ezinye iinkonzo ezisebenza ngayo; babekwe bodwa kwindawo yabo. Owesithathu ubhala iinkonzo kwi-PHP okanye enye into.
Bonke aba bantu bangama-20 bohlulwe bazinkonzo eziyi-15, kwaye mnye kuphela u-admin omele aqonde yonke le nto. Yeka! sivele sahlulahlule inkqubo kwii-microservices ze-15 kuba abantu be-20 abanakuyiqonda yonke inkqubo.

Kodwa kufuneka ibekwe iliso ngandlela thile ...

Uyintoni umphumo? Ngenxa yoko, kukho umntu omnye oza nayo yonke into engenakuqondwa yiqela lonke labaphuhlisi, kwaye kwangaxeshanye kufuneka azi kwaye akwazi ukwenza oko sikubonisile apha ngasentla-iziseko ze-hardware, i-Kubernetes infrastructure, njl.

Ndingathini ... Houston, sineengxaki.

Ukubeka iliso kwiprojekthi yesoftware yale mihla yiprojekthi yesoftware ngokwayo

Ukusuka kwinkolelo yobuxoki yokuba ukubeka iliso yisoftware, sihlakulela ukukholelwa kwimimangaliso. Kodwa imimangaliso, yeha, ayenzeki. Awukwazi ukufaka i-zabbix kwaye ulindele ukuba yonke into isebenze. Akukho sizathu sokufakela iGrafana kwaye sinethemba lokuba yonke into iya kulunga. Uninzi lwexesha luya kuchithwa ekuququzeleleni iitshekhi zokusebenza kweenkonzo kunye nokusebenzisana kwabo kunye, ukujonga indlela iinkqubo zangaphandle ezisebenza ngayo. Enyanisweni, i-90% yexesha liya kuchithwa kungekhona ekubhaleni izikripthi, kodwa ekuphuhliseni isofthiwe. Kwaye kufuneka isingathwe liqela eliwuqondayo umsebenzi weprojekthi.
Ukuba kule meko umntu omnye uphonswa esweni, kuya kwenzeka intlekele. Oko kwenzeka kuyo yonke indawo.

Umzekelo, kukho iinkonzo ezininzi ezinxibelelana omnye nomnye ngeKafka. Umyalelo wafika, sathumela umyalezo malunga nomyalelo eKafka. Kukho inkonzo ephulaphula ulwazi malunga nomyalelo kwaye ithumele iimpahla. Kukho inkonzo ephulaphula ulwazi malunga nomyalelo kwaye ithumele ileta kumsebenzisi. Kwaye ke iinkonzo ezininzi ziyavela, kwaye siqala ukubhideka.

Kwaye ukuba unika oku kumlawuli kunye nabaphuhlisi kwinqanaba xa kukho ixesha elifutshane eliseleyo ngaphambi kokukhululwa, umntu uya kufuna ukuqonda yonke le protocol. Ezo. Iprojekthi yesi sikali ithatha ixesha elininzi, kwaye oku kufuneka kufakwe kuphuhliso lwenkqubo.
Kodwa rhoqo, ngakumbi kuqaliso, sibona ukuba ukubekwa esweni kuhlehliswa njani kude kube kamva. β€œNgoku siza kwenza i-Proof of Concept, siza kuyisungula ngayo, mayiwe – sikulungele ukuzincama. Emva koko siza kuyibeka phantsi yonke into. ” Xa (okanye ukuba) iprojekthi iqala ukwenza imali, ishishini lifuna ukongeza iimpawu ezingakumbi - kuba sele iqalile ukusebenza, ngoko ke kufuneka iqhutyelwe phambili! Kwaye ukwindawo apho kufuneka uqale ukubeka iliso kuyo yonke into yangaphambili, engathathi i-1% yexesha, kodwa ngakumbi. Kwaye ngendlela, abaphuhlisi baya kufuneka ukubeka iliso, kwaye kulula ukubavumela ukuba basebenze kwizinto ezintsha. Ngenxa yoko, amanqaku amatsha ayabhalwa, yonke into ibolekwe, kwaye ukwi-deadlock engapheliyo.

Ngoko indlela yokubeka iliso kwiprojekthi ukususela ekuqaleni, kwaye wenze ntoni xa ufumana iprojekthi efuna ukubeka iliso, kodwa awazi ukuba uqale phi?

Okokuqala, kufuneka ucwangcise.

Ukuphazamiseka kwelizwi: rhoqo baqala ngokujongwa kweziseko zophuhliso. Umzekelo, sineKubernetes. Masiqale ngokufaka iPrometheus kunye neGrafana, sifakela iiplagi zokubeka iliso kwi "cube". Ayingobaphuhlisi kuphela, kodwa nabalawuli banento engalunganga: "Siza kufaka le plugin, kodwa iplagin iyayazi ukuba yenziwa njani." Abantu bathanda ukuqala ngezinto ezilula nezithe ngqo, kunokuba benze ngezenzo ezibalulekileyo. Kwaye ukubekwa esweni kweziseko zophuhliso kulula.

Okokuqala, yenza isigqibo malunga nokuba ufuna ukubeka iliso njani kwaye njani, kwaye ukhethe isixhobo, kuba abanye abantu abanakucingela wena. Yaye ngaba bafanele? Abanye abantu bacinga ngokwabo, malunga nenkqubo yendalo yonke - okanye abazange bacinge konke xa le plugin ibhaliwe. Kwaye ngenxa yokuba le plugin inabasebenzisi abangamawaka ayi-5 ayithethi ukuba yilo naluphi na ukusetyenziswa. Mhlawumbi uya kuba ngowe-5001st kuba bekukho abantu abangama-5000 ngaphambili.

Ukuba uqala ukubeka esweni isiseko kunye nomva wesicelo sakho uyeke ukuphendula, bonke abasebenzisi baya kuphulukana nonxibelelwano nesicelo seselfowuni. Impazamo iya kuvela. Baza kuza kuwe bathi "Isicelo asisebenzi, wenza ntoni apha?" - "Sibeke iliso." β€” "Ubeka iliso njani ukuba awuboni ukuba isicelo asisebenzi?!"

  1. Ndiyakholelwa ukuba kufuneka uqale ukubeka esweni ngokuthe ngqo ukusuka kwindawo yokungena yomsebenzisi. Ukuba umsebenzisi akaboni ukuba isicelo siyasebenza, yiloo nto, kukungaphumeleli. Kwaye inkqubo yokubeka esweni kufuneka ilumkise malunga noku kuqala.
  2. Kwaye kulapho kuphela apho sinokubeka iliso kwiziseko zophuhliso. Okanye yenze ngokuhambelanayo. Kulula ngeziseko zophuhliso-apha ekugqibeleni sinokufaka nje i-zabbix.
  3. Kwaye ngoku kufuneka uye kwiingcambu zesicelo ukuqonda apho izinto zingasebenzi.

Umbono wam ophambili kukuba ukubeka esweni kufuneka kuhambe ngokuhambelana nenkqubo yophuhliso. Ukuba uphazamisa iqela lokubeka iliso kweminye imisebenzi (ukudala i-CI / i-CD, i-sandboxing, ukulungiswa kwakhona kweziseko zophuhliso), ukubeka iliso kuya kuqalisa ukuhamba kwaye ungaze ubambe uphuhliso (okanye ngokukhawuleza okanye kamva kuya kufuneka uyeke).

Yonke into ngokwamanqanaba

Le yindlela endibona ngayo umbutho wenkqubo yokubeka iliso.

1) Inqanaba lesicelo:

  • ukubeka iliso kwingqiqo yoshishino lwesicelo;
  • ukubeka esweni imilinganiselo yezempilo yeenkonzo;
  • esweni indibaniselwano.

2) Inqanaba leziseko zophuhliso:

  • ukubeka iliso kwinqanaba le-orchestration;
  • inkqubo yokubeka iliso kwisoftware;
  • umgangatho wentsimbi wokubeka iliso.

3) Kwakhona inqanaba lesicelo - kodwa njengemveliso yobunjineli:

  • ukuqokelela nokubekwa esweni iilogi zezicelo;
  • APM;
  • umkhondo.

4) Isilumkiso:

  • umbutho wenkqubo yokulumkisa;
  • umbutho wenkqubo yomsebenzi;
  • umbutho "wesiseko solwazi" kunye nokuhamba komsebenzi wokulungiswa kwesiganeko.

ebalulekileyo: sifumana isilumkiso hayi emva, kodwa kwangoko! Akukho mfuneko yokuqalisa ukubeka iliso kwaye "ngandlela thile kamva" ufumanise ukuba ngubani oza kufumana izilumkiso. Emva koko, yintoni umsebenzi wokubeka iliso: ukuqonda apho kukho into engalunganga kwinkqubo, kunye nokwazisa abantu abafanelekileyo malunga nayo. Ukuba ushiya oku kude kube sekupheleni, ke abantu abalungileyo baya kwazi ukuba kukho into engahambi kakuhle ngokubiza "akukho nto isisebenzelayo."

Uluhlu lweSicelo-UkuJonga iNgcaciso yoShishino

Apha sithetha ngokujonga eyona nyani yokuba isicelo sisebenzela umsebenzisi.

Eli nqanaba kufuneka lenziwe ngexesha lesigaba sophuhliso. Ngokomzekelo, sine-Prometheus enemiqathango: iya kumncedisi owenza iitshekhi, idonsa isiphelo, kwaye isiphelo siyahamba kwaye sihlolisise i-API.

Xa uhlala ecelwa ukuba abeke iliso kwikhasi lasekhaya ukuqinisekisa ukuba indawo iyasebenza, abadwelisi beprogram banika isiphatho esinokutsalwa rhoqo xa kufuneka baqinisekise ukuba i-API iyasebenza. Kwaye abadwelisi benkqubo ngalo mzuzu basathatha kwaye babhale /api/test/helloworld
Indlela kuphela yokuqinisekisa ukuba yonke into iyasebenza? - Hayi!

  • Ukudala iitshekhi ezilolo hlobo ngumsebenzi wabaphuhlisi. Iimvavanyo zeyunithi kufuneka zibhalwe ngabadwelisi ababhala ikhowudi. Kuba ukuba uyivuza kumphathi, "Mfo, nalu uluhlu lwemigaqo ye-API yayo yonke imisebenzi engama-25, nceda ubeke iliso kuyo yonke into!" - akukho nto iya kusebenza.
  • Ukuba uprinta "hello world", akukho mntu uya kuze azi ukuba i-API kufuneka kwaye isebenze. Lonke utshintsho lwe-API kufuneka lukhokelele kutshintsho kwiitshekhi.
  • Ukuba sele unengxaki enjalo, yeka iimpawu kwaye unike abaphuhlisi abaya kubhala ezi tshekisho, okanye bamkele ilahleko, yamkela ukuba akukho nto ijongwayo kwaye iya kusilela.

Iingcebiso zobuGcisa:

  • Qinisekisa ukulungelelanisa iseva yangaphandle ukuze uququzelele iitshekhi - kufuneka uqiniseke ukuba iprojekthi yakho iyafikeleleka kwihlabathi langaphandle.
  • Lungiselela iitshekhi kuyo yonke i-API protocol, hayi isiphelo somntu ngamnye.
  • Yenza i-prometheus-endpoint kunye neziphumo zovavanyo.

Isicelo umaleko - esweni metrics zempilo

Ngoku sithetha ngeemetriki zempilo zangaphandle zeenkonzo.

Sigqibe kwelokuba sibeke iliso kuzo zonke "izibambo" zesicelo sisebenzisa iitshekhi zangaphandle, esizibiza ngenkqubo yokubeka iliso yangaphandle. Kodwa ezi "zizibambo" ezibonwa ngumsebenzisi. Sifuna ukuqiniseka ukuba iinkonzo zethu ziyasebenza ngokwazo. Kukho ibali elingcono apha: ii-K8s zihlolwe impilo, ukuze ubuncinane "ityhubhu" ngokwayo iqiniseke ukuba inkonzo iyasebenza. Kodwa isiqingatha setshekhi endisibonileyo sishicilelo esifanayo "hello world". Ezo. Ke utsala kanye emva kokuthunyelwa, waphendula wathi yonke into ilungile-konke oko. Kwaye inkonzo, ukuba ibonelela nge-API yayo, inenani elikhulu lamanqaku okungena kwaloo API, nayo efuna ukujongwa, kuba sifuna ukwazi ukuba iyasebenza. Kwaye sele siyibeke esweni ngaphakathi.

Indlela yokuphumeza oku ngokuchanekileyo ngobuchwephesha: inkonzo nganye iveza isiphelo malunga nokusebenza kwayo kwangoku, kwaye kwiigrafu zeGrafana (okanye nasiphi na esinye isicelo) sibona imeko yazo zonke iinkonzo.

  • Lonke utshintsho lwe-API kufuneka lukhokelele kutshintsho kwiitshekhi.
  • Yenza inkonzo entsha ngoko nangoko ngeemetrics zempilo.
  • Umlawuli unokuza kubaphuhlisi abuze "ndongezelele izinto ezimbalwa ukuze ndiqonde yonke into kwaye ndongeze ulwazi malunga noku kwinkqubo yam yokubeka iliso." Kodwa abaphuhlisi bahlala bephendula, "Asizukongeza nantoni na kwiiveki ezimbini ngaphambi kokukhululwa."
    Bazise abaphathi bophuhliso ukuba kuya kubakho ilahleko enjalo, mabazi nabaphathi babaphathi bophuhliso. Kuba xa yonke into isiwa, umntu useza kufowuna kwaye afune ukubeka iliso "inkonzo ewa rhoqo" (c)
  • Ngendlela, yabela abaphuhlisi ukuba babhale iiplagi zeGrafana - oku kuya kuba luncedo oluhle kubaphathi.

Umaleko weSicelo-UkuJonga uHlanganiso

Ukubeka iliso komanyano kugxile ekubekeni iliso kunxibelelwano phakathi kweenkqubo ezibalulekileyo zoshishino.

Ngokomzekelo, kukho iinkonzo ezili-15 ezinxibelelana omnye nomnye. Ezi azisezondawo zahlukeneyo. Ezo. asikwazi ukutsala inkonzo ngokwayo, ukufumana / helloworld kwaye siqonde ukuba inkonzo iyasebenza. Ngenxa yokuba i-odolo yenkonzo yewebhu kufuneka ithumele ulwazi malunga nomyalelo kwibhasi - ukusuka ebhasini, inkonzo yokugcina impahla kufuneka ifumane lo myalezo kwaye isebenze nayo ngokuqhubekayo. Kwaye inkonzo yokuhambisa i-imeyile kufuneka iqhube le nto ngandlela thile, njl.

Ngokufanelekileyo, asinakuyiqonda, sijonge kwinkonzo nganye yomntu, ukuba yonke iyasebenza. Kuba sinebhasi ethile apho yonke into inxibelelana kwaye inxibelelana.
Ke ngoko, eli nqanaba kufuneka liphawule inqanaba leenkonzo zovavanyo lokusebenzisana nezinye iinkonzo. Akunakwenzeka ukucwangcisa esweni unxibelelwano ngokubeka iliso kumthengisi womyalezo. Ukuba kukho inkonzo ekhupha idatha kunye nenkonzo eyifumanayo, xa sibeka iliso kwi-broker siya kubona kuphela idatha ehamba ngapha nangapha. Nangona ngandlela-thile sikwazi ukujonga ukusebenzisana kwale datha ngaphakathi - ukuba umvelisi othile uthumela idatha, umntu uyayifunda, oku kuhamba kuyaqhubeka ukuya eKafka - oku akusayi kusinika ulwazi ukuba inkonzo enye ithumele umyalezo kwinguqulo enye. , kodwa enye inkonzo ayizange ilindele le nguqulelo kwaye yalutsiba. Asiyi kwazi malunga noku, kuba iinkonzo ziya kusixelela ukuba yonke into iyasebenza.

Into endiyicebisayo ukuyenza:

  • Kunxibelelwano oluhambelanayo: isiphelo senza izicelo kwiinkonzo ezinxulumeneyo. Ezo. sithatha le siphelo, sitsale iskripthi ngaphakathi kwenkonzo, esiya kuwo onke amanqaku kwaye sithi "Ndiyakwazi ukutsala apho, kwaye nditsale apho, ndiyakwazi ukutsala apho ..."
  • Ukunxibelelana kwe-asynchronous: imiyalezo engenayo - i-endpoint ihlola ibhasi yemiyalezo yokuvavanya kwaye ibonisa isimo sokucubungula.
  • Ukunxibelelana okungafaniyo: imiyalezo ephumayo - isiphelo sithumela imiyalezo yovavanyo kwibhasi.

Njengoko kuqhele ukwenzeka: sinenkonzo ephosa idatha ebhasini. Siza kule nkonzo kwaye sikucela ukuba usixelele malunga nempilo yokudibanisa kwayo. Kwaye ukuba inkonzo idinga ukuvelisa umyalezo kwenye indawo ngakumbi (WebApp), ngoko iya kuvelisa lo myalezo wovavanyo. Kwaye ukuba siqhuba inkonzo kwicala le-OrderProcessing, iqala ukuthumela into enokuyithumela ngokuzimeleyo, kwaye ukuba kukho izinto ezixhomekeke kuyo, ifunde isethi yemiyalezo yovavanyo evela ebhasini, iyaqonda ukuba iyakwazi ukuyiqhuba, ichaze kwaye , ukuba kuyimfuneko, zithumele ngakumbi, kwaye malunga nale nto uthi - yonke into ilungile, ndiphila.

Rhoqo sisiva umbuzo othi "singayivavanya njani le nto kwidatha yokulwa?" Ngokomzekelo, sithetha ngenkonzo efanayo yoku-odola. Umyalelo uthumela imiyalezo kwindawo yokugcina impahla apho iimpahla zicinywe khona: asikwazi ukuvavanya oku kwidatha yokulwa, kuba "impahla yam iya kubhalwa!" Isisombululo: Cwangcisa olu vavanyo lonke kwasekuqaleni. Ukwanalo novavanyo lweyunithi ezenza intlekisa. Ke, yenze kwinqanaba elinzulu apho unejelo lonxibelelwano elingonakalisi ukusebenza kweshishini.

Inqanaba leziseko zophuhliso

Ukubekw' esweni kweziseko zophuhliso yinto ekudala ijongwa njengeyibeke iliso ngokwako.

  • Ukubekw'esweni kweziseko zophuhliso kunokwenziwa kwaye kufuneka kuqaliswe njengenkqubo eyahlukileyo.
  • Akufanele uqale ngokujongwa kweziseko zophuhliso kwiprojekthi eqhubayo, nokuba ufuna ngokwenene. Le yintlungu yazo zonke ii-devops. "Okokuqala ndiza kubeka iliso kwiqela, ndiza kubeka iliso kwiziseko zophuhliso" - okt. Okokuqala, iya kubeka esweni oko kulele ngezantsi, kodwa ayiyi kungena kwisicelo. Ngenxa yokuba isicelo siyinto engaqondakaliyo kwi-devops. Yavuza kuye, kwaye akayiqondi indlela esebenza ngayo. Kwaye uyaziqonda iziseko kwaye uqala ngayo. Kodwa hayi-uhlala ufuna ukubeka esweni isicelo kuqala.
  • Musa ukugqithisa ngenani lezivuseleli. Ukuqwalasela ubunzima beenkqubo zanamhlanje, izilumkiso zihlala zibhabha, kwaye kufuneka ngandlela-thile uhlale nale qela lezilumkiso. Kwaye umntu omnxeba, ejonge ikhulu lezilumkiso ezilandelayo, uya kuthatha isigqibo "Andifuni kucinga ngayo." Izilumkiso kufuneka zazise malunga nezinto ezibalulekileyo kuphela.

Inqanaba lesicelo njengeyunithi yoshishino

Amanqaku aphambili:

  • ELK. Lo ngumgangatho woshishino. Ukuba ngesizathu esithile awuhlanganisi iinkuni, qalisa ukwenza oko ngoko nangoko.
  • APM. Ii-APM zangaphandle njengendlela yokuvala ngokukhawuleza ukubeka iliso kwesicelo (i-NewRelic, i-BlackFire, i-Datadog). Ungayifaka le nto okwethutyana ukuze ubuncinci uqonde ukuba kuqhubeka ntoni ngawe.
  • Ukulandela umkhondo. Kwiinkonzo ezininzi ezincinci, kuya kufuneka ulandele yonke into, kuba isicelo asisahlali sodwa. Kunzima kakhulu ukongeza kamva, ngoko kungcono ukucwangcisa ngokukhawuleza ukulandelela ekuphuhliseni - lo ngumsebenzi kunye luncedo lwabaphuhlisi. Ukuba awukayiphumezi, yiphumeze! Jonga iJaeger/Zipkin

Iyalumkisa

  • Umbutho wenkqubo yesaziso: kwiimeko zokubeka iliso iqela lezinto, kufuneka kubekho inkqubo edibeneyo yokuthumela izaziso. Unako eGrafana. ENtshona, wonke umntu usebenzisa iPagerDuty. Izilumkiso kufuneka zicace (umz. apho zivela khona...). Kwaye kuyacetyiswa ukulawula ukuba izaziso zifunyenwe kuzo zonke
  • Umbutho wenkqubo yomsebenzi: izilumkiso akufanele zithunyelwe kuye wonke umntu (mhlawumbi wonke umntu uya kusabela kwisihlwele, okanye akukho mntu uya kusabela). Abaphuhlisi nabo kufuneka bafowunelwe: qiniseka ukuba uchaza iindawo zoxanduva, wenze imiyalelo ecacileyo kwaye ubhale kuyo ukuba ngubani kanye omawutsalele umnxeba ngoMvulo nangoLwesithathu, kwaye ngubani oza kufowunela ngoLwesibini nangolwesiHlanu (kungenjalo abayi kufowunela nabani na nokuba sele ekhona isiganeko sengxaki enkulu - baya koyika ukukuvusa okanye ukuphazamisa : abantu ngokubanzi abathandi ukubiza nokuvusa abanye abantu, ngakumbi ebusuku). Kwaye uchaze ukuba ukucela uncedo akusona isalathisi sokungakwazi ("Ndicela uncedo, oko kuthetha ukuba ndingumsebenzi ombi"), khuthaza izicelo zoncedo.
  • Umbutho "wesiseko solwazi" kunye nokuhamba komsebenzi wokulungiswa kwesiganeko: kwisiganeko ngasinye esibi, i-post-mortem kufuneka icwangciswe, kwaye njengomlinganiselo wesikhashana, izenzo eziza kusombulula isiganeko kufuneka zirekhodwe. Kwaye kwenze umkhwa ukuba izilumkiso eziphindaphindiweyo zisisono; kufuneka zilungiswe kwikhowudi okanye umsebenzi weziseko zophuhliso.

Isitaki setekhnoloji

Makhe sicinge ukuba isitaki sethu simi ngolu hlobo lulandelayo:

  • ukuqokelela idatha - Prometheus + Grafana;
  • uhlalutyo lwelogi - ELK;
  • ye-APM okanye iTracing - Jaeger (Zipkin).

Ngaba ukubeka esweni kufile? -Ukubeka iliso ixesha elide

Ukhetho lokukhetha alubalulekanga. Kuba ukuba ekuqaleni uyayiqonda indlela yokubeka iliso kwinkqubo kwaye ubhale phantsi isicwangciso, ngoko uqala ukukhetha izixhobo ezihambelana neemfuno zakho. Umbuzo kukuba ukhethe ukubeka iliso kwindawo yokuqala. Kuba mhlawumbi isixhobo osikhethileyo ekuqaleni asihambelani neemfuno zakho konke konke.

Amanqaku ambalwa obugcisa endiwabona kuyo yonke indawo mva nje:

UPrometheus utyhalelwa ngaphakathi Kubernetes - ngubani oweza nale nto?! Ukuba iqela lakho liyantlitheka, uya kwenza ntoni? Ukuba une-cluster eyinkimbinkimbi ngaphakathi, ngoko kufuneka kubekho uhlobo oluthile lwenkqubo yokubeka iliso ngaphakathi kweqela, kunye nezinye ngaphandle, eziza kuqokelela idatha ngaphakathi kweqela.

Ngaphakathi kweqela siqokelela iinkuni kunye nayo yonke enye into. Kodwa inkqubo yokubeka iliso kufuneka ibe ngaphandle. Ngokuqhelekileyo, kwiqela apho kukho i-Promtheus efakwe ngaphakathi, kukho kwakhona iinkqubo ezenza ukuhlolwa kwangaphandle kokusebenza kwendawo. Kuthekani ukuba uqhagamshelo lwakho kwihlabathi langaphandle liye lahla kwaye isicelo asisebenzi? Kuyavela ukuba yonke into ilungile ngaphakathi, kodwa ayenzi izinto zibe lula kubasebenzisi.

ezifunyanisiweyo

  • Uphuhliso lokubek'esweni ayikokufakwa kwezinto eziluncedo, kodwa kuphuhliso lwemveliso yesoftware. I-98% yohlolo lwanamhlanje luyikhowudi. Ukufaka ikhowudi kwiinkonzo, ukukhowuda iitshekhi zangaphandle, ukujonga iinkonzo zangaphandle, kwaye yiyo yonke loo nto.
  • Sukuchitha ixesha labaphuhlisi bakho ekubekeni iliso: kungathatha ukuya kuthi ga kwi-30% yomsebenzi wabo, kodwa kufanelekile.
  • Devops, ungakhathazeki ukuba awukwazi ukujonga into ethile, kuba ezinye izinto ziyindlela eyahlukileyo yokucinga. Ubungengomdwelisi, kwaye umsebenzi wokubeka iliso ngumsebenzi wabo kanye.
  • Ukuba iprojekthi sele iqhutywa kwaye ayijongwanga (kwaye ungumphathi), yabela izibonelelo zokubeka iliso.
  • Ukuba imveliso sele ikwimveliso, kwaye uyi-devops eyaxelelwa ukuba "ibeke iliso" - zama ukucacisela abaphathi ukuba ndibhale ntoni ngayo yonke le nto.

Olu luguqulelo olwandisiweyo lwengxelo kwinkomfa yaseSaint Highload ++.

Ukuba unomdla kwiingcamango zam kunye neengcinga kuyo kunye nezihloko ezinxulumene nazo, ke apha unako funda ijelo πŸ™‚

umthombo: www.habr.com

Yongeza izimvo