Maxaan ka naqaanaa adeegaha yar yar

Hello! Magacaygu waa Vadim Madison, waxaan hogaaminayaa horumarinta Nidaamka Nidaamka Avito. Waxa la sheegay in ka badan hal mar sida aanu shirkadu uga guureyno qaab-dhismeedka monolithic una guurno mid adeeg yar ah. Waxaa la joogaa waqtigii aan wadaagi lahayn sida aan u bedelnay kaabayaashayaga si aan uga faa'iidaysano adeegyada yar yar oo aan uga hortagno nafteena in aan ku dhex lumino. Sida PaaS ay nooga caawiso halkan, sida aan u fududaynay keenista oo aan u yareynay abuurista adeeg-yar oo hal gujis ah - akhri. Ma aha wax kasta oo aan hoos ku qoro oo si buuxda looga hirgeliyo Avito, qaar ka mid ah waa sida aan u horumarino madalkeena.

(Oo dhamaadka maqaalkan, waxaan ka hadli doonaa fursada aan kaga qaybgalo siminaar saddex maalmood ah oo ka socda khabiirka dhismaha microservice Chris Richardson).

Maxaan ka naqaanaa adeegaha yar yar

Sida aan ku nimid adeeg-yaraha

Avito waa mid ka mid ah bogagga ugu weyn ee la sifeeyay adduunka; in ka badan 15 milyan xayaysiisyo cusub ayaa lagu daabacaa maalintii. Taageeradayadu waxay aqbashaa in ka badan 20 kun oo codsi ilbiriqsikii. Hadda waxaan haynaa dhowr boqol oo adeeg yar yar.

Waxaan dhisnay nashqadaynta adeeg-yaraha muddo dhowr sano ah hadda. Sida saxda ah - asxaabteena si faahfaahsan ayaa loo sheegay Qaybtayada RIT++ 2017. At CodeFest 2017 (eeg. Π²ΠΈΠ΄Π΅ΠΎ), Sergey Orlov iyo Mikhail Prokopchuk ayaa si faahfaahsan u sharaxay sababta aan ugu baahanahay u gudubka adeeg-yaraha iyo doorka Kubernetes halkan ka ciyaaray. Hagaag, hadda waxaan sameyneynaa wax walba si aan u yareyno kharashyada is-miidaaminta ee ka dhex jira qaab-dhismeedka noocaas ah.

Markii hore, ma aanaan abuurin nidaam deegaan kaas oo si buuxda naga caawin doona horumarinta iyo bilaabista adeegyada yaryar. Waxay si fudud u ururiyeen xalal il furan oo macquul ah, waxay ku bilaabeen guriga waxayna ku casumeen horumariyaha inuu wax ka qabto. Natiijo ahaan, wuxuu aaday dhowr iyo toban meelood (dashboards, adeegyada gudaha), ka dib wuxuu ku sii xoogaystay rabitaankiisa ah inuu gooyo koodka habkii hore, ee monolith. Midabka cagaarka ah ee jaantusyada hoose ayaa tilmaamaya waxa horumariyahu ku sameeyo hal hab ama mid kale gacmihiisa, iyo midabka jaalaha ah ayaa tilmaamaya automation.

Maxaan ka naqaanaa adeegaha yar yar

Hadda PaaS CLI utility, adeeg cusub ayaa la abuuray oo leh hal amar, iyo database cusub oo lagu daray laba dheeraad ah oo la geeyay Stage.

Maxaan ka naqaanaa adeegaha yar yar

Sida looga gudbo waagii "kala qaybsanaanta adeegga yar yar"

Iyada oo leh qaab-dhismeedka monolithic, iyada oo loo eegayo is-beddelka isbeddelka ee badeecada, horumariyayaashu waxay ku qasbanaadeen inay ogaadaan waxa ku socda deriskooda. Markaad ka shaqaynayso qaab dhismeedka cusub, xaaladaha adeeggu kuma xidhna midba midka kale.

Intaa waxaa dheer, si qaab-dhismeedka microservice-ku uu waxtar u yeesho, habab badan ayaa loo baahan yahay in la dhiso, kuwaas oo:

β€’ jaridda;
Codsiga raadinta (Jaeger);
Isku-darka khaladka (Sentry);
Xaalado, fariimo, dhacdooyin ka yimid Kubernetes (Dhaqdhaqaaqa Socodka Dhacdada);
β€’ Xadka tartanka / wareegga wareegga (waxaad isticmaali kartaa Hystrix);
Xakamaynta isku xidhka adeegga (waxaan isticmaalnaa Netramesh);
β€’ la socodka (Grafana);
β€’ isu imaatinka (TeamCity);
β€’ isgaarsiinta iyo ogeysiinta (Slack, email);
Dabagalka hawsha; (Jira)
Diyaarinta dukumentiyada.

Si loo hubiyo in nidaamku aanu lumin daacadnimadiisa oo uu sii ahaado mid waxtar leh marka uu cabbirayo, waxaanu dib u fikirnay abaabulka adeegyada yaryar ee Avito.

Sida aan u maareyno adeegaha yar yar

Caawinta soo socota si loo hirgeliyo "siyaasad xisbi" midaysan oo ka mid ah adeegyo yar yar oo Avito ah:

  • u qaybinta kaabayaasha lakabyo;
  • Platform Adeeg ahaan (PaaS) fikradda;
  • la socodka wax kasta oo ku dhaca adeegaha yar yar.

Lakabyada soo saarista kaabayaasha waxaa ka mid ah saddex lakab. Kor ilaa hoos aan ka soo gudubno.

A. Sare - mesh adeega. Markii hore waxaan isku daynay Istio, laakiin waxaa soo baxday in ay isticmaasho kheyraad aad u badan, taas oo aad qaali u ah muggayada. Sidaa darteed, injineer sare ee kooxda dhismaha Alexander Lukyanchenko horumariyo xal u gaar ah - Netramesh (waxaa laga heli karaa Isha Furan), kaas oo aan hadda u isticmaalno wax soo saarka oo isticmaala dhowr jeer kheyraad ka yar kan Istio (laakin ma sameeyo wax kasta oo Istio ku faani karo).
B. Dhexdhexaad - Kubernetes. Waxaanu geynaa oo aanu ku shaqaynaa adeegaha yaryar.
C. Bottom - bir qaawan. Ma isticmaalno daruuro ama waxyaabo ay ka mid yihiin OpenStack, laakiin waxaan ku tiirsanahay gebi ahaanba birta qaawan.

Dhammaan lakabyada waxaa lagu daray PaaS. Waxayna madashani, markeeda, ka kooban tahay saddex qaybood.

I. Matoorayaasha, lagu maamulo iyada oo loo marayo utility CLI. Waa iyada tan ka caawisa horumariyaha inuu u abuuro adeeg-yaraha si sax ah iyo ugu yaraan dadaal.

II. Ururiyaha isku dhafan iyada oo la xakameynayo dhammaan qalabka iyada oo loo marayo dashboard caadi ah.

III. Kaydinta. Waxa uu ku xidhaa jadwaleeyayaal si toos ah u dejinaya kiciyeyaasha falalka muhiimka ah. Waxaa mahad leh nidaamkan oo kale, hal hawl ah lagama waayo, sababtoo ah qof ayaa ilaaway inuu hawl u dejiyo Jira. Waxaan tan u isticmaalnaa qalab gudaha ah oo loo yaqaan Atlas.

Maxaan ka naqaanaa adeegaha yar yar

Hirgelinta adeegyada yaryar ee Avito waxaa sidoo kale loo fuliyaa si waafaqsan hal nidaam, kaas oo fududeynaya xakamaynta iyaga marxalad kasta oo horumarinta iyo sii deynta.

Sidee buu u shaqeeyaa dhuumaha horumarinta adeeg-yaraha caadiga ah?

Guud ahaan, silsiladda abuurista adeeg-yaraha waxay u egtahay sidan:

CLI-riix β†’ Is-dhexgalka Joogta ah β†’ Dubo β†’ Geli β†’ Tijaabooyin Artificial β†’ Tijaabada Canary β†’ Tijaabinta Tuuji β†’ Wax soo saar β†’ Dayactir.

Aynu si sax ah u marno sidatan.

CLI- riix

β€’ Abuuritaanka adeeg-yaraha.
Waxaan u halgamnay waqti dheer si aan u barano horumariye kasta sida loo sameeyo adeeg-yaraha. Tan waxa ka mid ahaa in lagu qoro tilmaamo faahfaahsan gudaha Confluence. Laakiin qorshayaashii ayaa isbedelay oo waa la kabay. Natiijadu waxay tahay in dhalodu ay u muuqatay bilawga safarka: waxay qaadatay wakhti badan si ay u bilaabaan adeeg-yaraha, welina dhibaatooyin badanaa waxay soo baxaan inta lagu jiro abuurkooda.

Dhammaadkii, waxaan dhisnay utility CLI fudud oo otomaatig u ah tillaabooyinka aasaasiga ah marka la abuurayo adeeg-yaraha. Dhab ahaantii, waxay beddeshaa riixitaanka git ee ugu horreeya. Waa kan waxa dhabta ah ee ay sameyso.

- Wuxuu u abuuraa adeeg si waafaqsan qaab-dhismeedka - tallaabo-tallaabo, qaabka "wizard". Waxaan haynaa qaabab loogu talagalay luqadaha barnaamijyada ugu muhiimsan ee Avito backend: PHP, Golang iyo Python.

- Hal talis markiiba wuxuu dejiyaa jawi horumarinta maxalliga ah mishiin gaar ah - Minikube waa la bilaabay, jaantusyada Helm si toos ah ayaa loo soo saaray oo lagu bilaabay kubernetes maxalliga ah.

- Isku xidha xogta loo baahan yahay. Horumariyuhu uma baahna inuu ogaado IP-ga, login iyo erayga sirta ah si uu u galo xogta uu u baahan yahay - ha ahaato gudaha, Marxaladda, ama soosaarka. Intaa waxaa dheer, xogta xogta ayaa isla markiiba la geeyaa qaabaynta u dulqaadanaysa cilladaha iyo dheellitirka.

- Waxay qabataa kulan toos ah lafteeda. Aynu nidhaahno horumariye wuxuu saxay wax ku jira adeeg-yaraha isagoo adeegsanaya IDE-giisa. Utility-gu wuxuu arkaa isbeddelada nidaamka faylka oo, ku saleysan iyaga, dib u dhis arjiga (Golang) oo dib u bilaaba. PHP, waxaan si fudud ugu gudbinaa tusaha gudaha cube-ga waxaana si toos ah dib loogu soo celinayaa "si toos ah".

- Waxay abuurtaa tijaabinta autotes. Qaab bannaan, laakiin aad ugu habboon isticmaalka.

β€’ Adeegga-yar oo la geeyo.

Gelidda adeeg-yar oo adeeg-yar ayaa nagu ahayd hawl nagu yar. Waxyaabaha soo socda ayaa loo baahnaa:

I. Dockerfile

II. Isku xidh
III. Shaxda Helm, oo lafteedu tahay mid dhib badan oo ay ka mid tahay:

- jaantusyada laftooda;
- qaababka;
- qiyam gaar ah iyada oo la tixgelinayo deegaan kala duwan.

Waxaan xanuunka ka saarnay dib u shaqaynta Kubernetes muujinta si ay hadda si toos ah u soo baxaan. Laakiin tan ugu muhiimsan, waxay fududeeyeen keenista xadka. Hadda wixii ka dambeeya waxaan haynaa Dockerfile, horumariyahuna wuxuu ku qoraa habaynta oo dhan hal fayl oo app.toml ah oo gaaban.

Maxaan ka naqaanaa adeegaha yar yar

Haa, iyo app.toml laftiisa ma jiraan wax la sameeyo hal daqiiqo. Waxaan qeexnaa halka iyo inta koobi ee adeegga si aan kor ugu qaadno (server-ka dev-ga, diyaarinta, soo saarista), oo aanu muujino ku-tiirsanaanta. U fiirso cabbirka xariiqda = "yar" ee ku dhex jira [engine] block. Tani waa xadka loo qoondayn doono adeegga iyada oo loo marayo Kubernetes.

Kadib, iyadoo lagu salaynayo qaabeynta, dhammaan jaantusyada Helm ee lagama maarmaanka ah ayaa si toos ah loo soo saarayaa, waxaana la abuurayaa isku xirka xogta macluumaadka.

β€’ Xaqiijinta aasaasiga ah. Jeegaga noocan oo kale ah sidoo kale si toos ah ayaa loo sameeyaa.
Waxaan u baahanahay in la raaco:
- ma jiraa Dockerfile;
- ma jiraa app.toml;
- ma jiraan dukumeenti la heli karo?
- ku-tiirsanaanta ayaa hagaagsan?
- haddii xeerarka digniinta la dejiyay.
Ilaa meesha ugu dambeysa: milkiilaha adeegga laftiisa ayaa go'aaminaya cabbirrada badeecada si loola socdo.

Diyaarinta dukumentiyada.
Weli meel dhibaato ah Waxay u muuqataa inay tahay tan ugu cad, laakiin isla mar ahaantaana sidoo kale waa rikoodh "badanaa la iloobey", sidaas darteed isku xirka nugul ee silsiladda.
Waa lagama maarmaan in ay jiraan dukumeenti loogu talagalay adeeg kasta oo yar yar. Waxaa ka mid ah blocks-yada soo socda.

I. Sharaxaada kooban ee adeega. Dhab ahaantii dhawr weedho oo ku saabsan waxa ay qabato iyo sababta loogu baahan yahay.

II. Isku xirka jaantuska dhismaha. Waxaa muhiim ah in haddii si degdeg ah loo eego ay fududahay in la fahmo, tusaale ahaan, haddii aad u isticmaalayso Redis kaydinta ama sida kaydka xogta ugu weyn ee hab joogto ah. Gudaha Avito hadda kani waa isku xidhka Isku-darka.

III. Runbook. Hage gaaban oo ku saabsan bilaabida adeegga iyo qalafsanaantiisa sida loo maareeyo.

IV. FAQ, halkaas oo ay ku fiicnaan lahayd in la saadaaliyo dhibaatooyinka ay la kulmi karaan asxaabtaada markaad la shaqeyneyso adeegga.

V. Sharaxaadda dhibcaha dhammaadka API-ga. Haddii si lama filaan ah aadan u cayimin meelaha loo aadayo, saaxiibada adeegyadooda yar yar ay la xiriiraan kuwaaga ayaa hubaal ah inay bixinayaan. Hadda waxaan isticmaalnaa Swagger iyo xalkayaga oo loo yaqaan kooban tan.

VI. Calaamadaha. Ama calaamado muujinaya badeecada, shaqaynta, ama qaybinta dhismaha ee shirkadda adeeggu ka tirsan yahay. Waxay kaa caawinayaan inaad si dhakhso leh u fahamto, tusaale ahaan, inaad jarayso shaqaynta ay asxaabtaadu u soo saareen isla qaybta ganacsiga toddobaad ka hor.

VII. Mulkiilaha ama mulkiilayaasha adeegga. Inta badan, iyada - ama iyaga - si toos ah ayaa loo go'aamin karaa iyadoo la isticmaalayo PaaS, laakiin si aan u joogno dhinaca nabdoon, waxaan u baahanahay horumariyaha inuu si gacan ah ugu caddeeyo.

Ugu dambeyntii, waa dhaqan wanaagsan in dib loo eego dukumentiyada, oo la mid ah dib u eegista code.

Isdhexgalka joogtada ah

  • Diyaarinta bakhaarada
  • Abuuritaanka dhuumaha gudaha TeamCity.
  • Dejinta xuquuqda.
  • Raadi milkiilayaasha adeegga Halkan waxa ka jira nidaam isku-dhafan - calaamadaynta gacanta iyo farsamaynta ugu yar ee PaaS. Nidaam toos ah ayaa fashilma marka adeegyada loo wareejiyo taageerada koox kale oo horumarineed ama, tusaale ahaan, haddii horumariyaha adeegga uu joojiyo.
  • Diiwaangelinta adeegga ee Atlas (kor eeg). Iyada oo leh dhammaan milkiilayaasheeda iyo ku tiirsanaanta.
  • Hubinta socdaalka Waxaan hubineynaa in mid ka mid ah uu yahay mid khatar ah. Tusaale ahaan, mid iyaga ka mid ah waxaa soo baxay miiska beddelka ama shay kale kaas oo jebin kara waafaqsanaanta qorshaha xogta ee u dhexeeya noocyada kala duwan ee adeegga. Kadib socdaalka lama fulin, laakiin waxaa la geliyaa rukunsad - PaaS waa in ay u muujisaa milkiilaha adeegga marka ay nabdoon tahay in la isticmaalo.

Dubo

Marxaladda xigta waa adeegyada baakadaha ka hor inta aan la dirin.

  • Dhisida codsiga. Sida laga soo xigtay classics - sawirka Docker.
  • Jiilka jaantusyada Helm ee adeegga laftiisa iyo agabyada la xidhiidha. Oo ay ku jiraan kaydinta xogta iyo kaydinta Si toos ah ayaa loo abuuray iyadoo la raacayo habka app.toml ee lagu soo saaray marxaladda riixitaanka CLI.
  • Abuuritaanka tigidhada maamulka si ay u furaan dekedaha (marka loo baahdo).
  • Imtixaanada cutubka socda iyo xisaabinta daboolida koodka. Haddii caymiska koodku uu ka hooseeyo xadka la cayimay, markaas waxay u badan tahay in adeeggu aanu sii socon doonin - in la diro. Haddii ay qarka u saaran tahay in la aqbali karo, markaa adeegga waxaa lagu meelayn doonaa isku-dhafka "khafiifinta": ka dib, haddii aysan jirin wax horumar ah oo ku saabsan tusaha waqti ka dib, horumariyuhu wuxuu heli doonaa ogeysiis ah in uusan jirin horumar xagga imtixaanada ah ( loona baahan yahay in wax laga qabto).
  • Xisaabinta xusuusta iyo xaddidnaanta CPU. Waxaan inta badan ku qornaa adeegaha yaryar ee Golang waxaana ku maamulnaa Kubernetes. Sidaa darteed hal sirdoon oo la xidhiidha sifada luqadda Golang: asal ahaan, marka la bilaabayo, dhammaan koodhka mashiinka ayaa la isticmaalaa, haddii aadan si cad u dejin doorsoomaha GOMAXPROCS, iyo marka adeegyo badan oo noocan oo kale ah lagu soo bandhigo isla mashiinka, way bilaabaan. si loogu tartamo kheyraadka, oo la isku farageliyo. Jaantusyada hoose waxay muujinayaan sida wakhtiga fulinta isu beddelo haddii aad ku shubto codsiga muran la'aan iyo tartanka habka khayraadka. (Ilaha garaafyadu waa halkan).

Maxaan ka naqaanaa adeegaha yar yar

Waqtiga fulinta, wax yar ayaa ka fiican. Ugu badnaan: 643ms, ugu yaraan: 42ms. Sawirku waa la gujin karaa

Maxaan ka naqaanaa adeegaha yar yar

Waqtiga qaliinka, wax yar ayaa ka fiican. Ugu badnaan: 14091 ns, ugu yaraan: 151 ns. Sawirku waa la gujin karaa

Marxaladda diyaarinta kulanka, waxaad si cad u dejin kartaa doorsoomiyahan ama waxaad isticmaali kartaa maktabadda automataxprocs oo ka yimid ragga Uber.

La geeyo

β€’ Hubinta heshiisyada. Kahor intaadan bilaabin u-gudbinta shirarka adeegga deegaanka aad rabto, waxaad u baahan tahay inaad hubiso kuwa soo socda:
- Qodobbada API ee dhamaadka
- U hoggaansanaanta API-ga waxay keenaysaa jawaabaha qorshaha.
- qaabka Log
- Dejinta madaxyada codsiyada adeega (hadda tan waxaa sameeya netramesh)
- Dejinta calaamada mulkiilaha marka fariimaha loo dirayo baska dhacdada. Tan waxaa loo baahan yahay si loola socdo isku xirnaanta adeegyada baska oo dhan. Waxaad u diri kartaa labada xog ee awood u leh baska, taas oo aan kordhinayn isku xirka adeegyada (taas oo wanaagsan), iyo xogta ganacsiga ee xoojisa isku xirka adeegyada (taas oo aad u xun!). Iyo barta marka isku xirnaantan ay noqoto arrin, fahamka cidda wax qorta iyo akhrinta baska waxay caawisaa in si habboon loo kala saaro adeegyada.

Weli ma jiraan heshiisyo badan oo Avito ah, laakiin barkaddoodu way sii fidaysaa. Inta badan ee heshiisyada noocan oo kale ah ayaa lagu heli karaa qaab ay kooxdu fahmi karto oo ay fahmi karto, way fududahay in la ilaaliyo joogteynta u dhexeeya adeegyada yaryar.

Tijaabooyinka synthetic

β€’ Tijaabada wareegga xiran. Tan waxaan hadda isticmaaleynaa il furan Hoverfly.io. Marka hore, waxay diiwaangelisaa culeyska dhabta ah ee adeegga, ka dibna - kaliya oo ku jira wareeg xiran - waxay ku dayanaysaa.

β€’ Tijaabada Cadaadiska. Waxaan isku dayeynaa inaan keenno dhammaan adeegyada waxqabadka ugu wanaagsan. Dhammaan noocyada adeeg kastaa waa inay noqdaan kuwo lagu tijaabinayo culeyska - sidan ayaan ku fahmi karnaa waxqabadka adeegga hadda iyo farqiga u dhexeeya noocyadii hore ee isla adeegga. Haddii, ka dib cusboonaysiinta adeegga, waxqabadkeedu uu hoos u dhacay hal jeer iyo badh, tani waxay calaamad u tahay milkiilayaasheeda: waxaad u baahan tahay inaad qoddo koodka oo aad saxdo xaaladda.
Waxaan u isticmaalnaa xogta la ururiyey, tusaale ahaan, si aan si sax ah u hirgelinno cabbirka auto iyo, dhamaadka, guud ahaan aan fahamno sida adeeggu u cabbiri karo.

Inta lagu jiro tijaabada culeyska, waxaan hubinaa in isticmaalka kheyraadku uu buuxiyo xadka la dejiyay. Waxaanna ugu horreyn diiradda saarnaa xag-jirnimada.

a) Waxaan eegnaa culeyska guud.
- Aad u yar - waxay u badan tahay in wax aanu shaqaynaynba haddii rarka uu si lama filaan ah u dhaco dhowr jeer.
- Aad u weyn - hagaajin ayaa loo baahan yahay.

b) Waxaan eegnaa goynta sida uu qabo RPS.
Halkan waxaan ku eegaynaa faraqa u dhexeeya nooca hadda jira iyo kii hore iyo tirada guud. Tusaale ahaan, haddii adeeggu soo saaro 100 rps, markaa si liidata ayaa loo qoray, ama tani waa gaarkeeda, laakiin kiis kasta, tani waa sabab loo eego adeegga si dhow.
Haddii, liddi ku ah, ay jiraan RPS aad u badan, markaa waxaa laga yaabaa inay jiraan nooc ka mid ah cayayaanka iyo qaar ka mid ah qodobbada ugu dambeeya ayaa joojiyay fulinta mushaharka, qaar kalena si fudud ayaa loo kiciyaa. return true;

Tijaabada Canary

Ka dib markaan ka gudubno imtixaanada synthetic, waxaan ku tijaabinaynaa adeeg-yaraha tiro yar oo isticmaaleyaal ah. Waxaan ku bilownaa si taxadar leh, annagoo qayb yar ka ah dhagaystayaasha loogu talagalay adeegga - in ka yar 0,1%. Marxaladdan, aad bay muhiim u tahay in farsamooyinka saxda ah ee farsamada iyo cabbirada alaabta lagu daro kormeerka si ay u muujiyaan dhibaatada adeegga sida ugu dhakhsaha badan. Waqtiga ugu yar ee baaritaanka kanariyada waa 5 daqiiqo, ta ugu weyn waa 2 saacadood. Adeegyada adag, waxaan u dejineynaa waqtiga si gacanta ah.
Aan falanqeyno:
- cabbirada luqadda gaarka ah, gaar ahaan, shaqaalaha php-fpm;
- khaladaadka Sentry;
- xaaladaha jawaabta;
- waqtiga jawaabta, saxda ah iyo celceliska;
- latency;
- ka-reebis, habaysan oo aan la maarayn;
- cabbirka alaabta.

Tijaabada tuujin

Tijaabada tuujin waxa kale oo loo yaqaan tijaabada "iskugujiridda". Magaca farsamada ayaa lagu soo bandhigay Netflix. Nuxurkeedu waa in marka hore aynu hal tusaale ka buuxino taraafikada dhabta ah ilaa heerka fashilka sidaas awgeedna xaddidayno. Kadibna waxaan ku dari karnaa tusaale kale oo ku dheji labadan - mar labaad ilaa ugu badnaan; Waxaan aragnaa saqafkooda iyo delta iyaga oo leh "majuujin" ugu horreeya. Oo sidaas daraaddeed waxaan isku xiraa hal tusaale marba waxaana xisaabineynaa qaabka isbeddelada.
Tijaabi xogta iyada oo loo marayo "tuugista" waxay sidoo kale ku socotaa kaydka xogta cabbirka caadiga ah, halkaas oo aan ku kobcinno natiijooyinka rarka macmalka ah iyaga, ama xitaa ku beddelo "synthetics" iyaga.

Wax soo saar

β€’ Isku-beeridda. Marka aan soo saarno adeegga wax-soo-saarka, waxaan la soconaa sida uu u cabbirayo. Waayo-aragnimadayada, la socodka kaliya tilmaamayaasha CPU waa mid aan waxtar lahayn. Isku-dheellitirka tooska ah ee cabbiraadda RPS ee qaabkeeda saafiga ah ayaa u shaqeysa, laakiin kaliya adeegyada qaarkood, sida qulqulka khadka tooska ah. Markaa waxaanu marka hore eegnaa cabbiraadaha alaabada gaarka ah ee codsiga.

Natiijo ahaan, marka miisaanka la saarayo waxaan falanqeyneynaa:
- Tilmaamayaasha CPU iyo RAM,
- tirada codsiyada ee safka,
- waqtiga jawaabta,
- saadaalin ku salaysan xogta taariikheed ee la ururiyey.

Marka la cabbirayo adeegga, waxa kale oo muhiim ah in lala socdo ku-tiirsanaanta si aynaan u cabbirin adeegga ugu horreeya ee silsiladda, iyo kuwa ay helaan ay ku dhacaan culeys. Si loo dhiso culays la aqbali karo dhammaan barkadda adeegyada, waxaanu eegnaa xogta taariikhiga ah ee adeegga ku-tiirsanaanta "ugu dhow" (ku salaysan isku-darka tilmaamayaasha CPU iyo RAM, oo ay weheliso cabbirro app-gaar ah) oo barbar dhig xogta taariikhda ee adeegga bilowga ah, iyo wixii la mid ah inta lagu jiro "silsiladda ku tiirsanaanta", kor ilaa hoos.

Adeeg

Ka dib markii adeeg-yaraha la geliyo shaqada, waxaan ku dhejin karnaa kiciyeyaasha.

Waa kuwan xaalado caadi ah oo kiciya ay dhacaan.
- Socdaalka khatarta ah ee la ogaaday.
- Wararka amniga ayaa la sii daayay.
- Adeegga laftiisa lama cusbooneysiin muddo dheer.
- Culayska adeegga ayaa si muuqata hoos ugu dhacay ama qaar ka mid ah cabbiraadaha badeecada ayaa ka baxsan heerka caadiga ah.
- Adeeggu hadda ma buuxinayo shuruudaha cusub ee madal.

Qaar ka mid ah kiciyeyaasha ayaa mas'uul ka ah xasilloonida hawlgalka, qaar - sida shaqada dayactirka nidaamka - tusaale ahaan, adeegga qaar lama hawlgelin muddo dheer iyo muuqaalkiisa aasaasiga ah ayaa joojiyay inuu gudbo hubinta amniga.

Dashboard-ka

Marka la soo koobo, dashboard-ku waa guddiga kantaroolka ee dhammaan PaaS.

  • Hal dhibic oo macluumaad ah oo ku saabsan adeegga, oo leh xogta ku saabsan caymiska tijaabada, tirada sawirradeeda, tirada nuqullada wax soo saarka, noocyada, iwm.
  • Qalab lagu shaandheeyo xogta adeegyada iyo sumadaha (calamadaha lahaanshaha qaybaha ganacsiga, shaqaynta alaabta, iwm.)
  • Qalab loogu talagalay isdhexgalka oo leh qalabka kaabayaasha raadinta, gooynta, iyo la socodka.
  • Hal dhibic oo ah dukumeenti adeeg.
  • Hal aragti oo ku saabsan dhammaan dhacdooyinka dhammaan adeegyada.

Maxaan ka naqaanaa adeegaha yar yar
Maxaan ka naqaanaa adeegaha yar yar
Maxaan ka naqaanaa adeegaha yar yar
Maxaan ka naqaanaa adeegaha yar yar

Wadarta

Kahor inta aan la soo bandhigin PaaS, horumariye cusub wuxuu ku qaadan karaa dhowr toddobaad inuu fahmo dhammaan agabyada lagama maarmaanka u ah in la bilaabo adeeg-yaraha wax-soo-saarka: Kubernetes, Helm, astaamaha gudaha ee TeamCity, dejinta isku xirka xogta iyo kaydinta qaab khalad-dulqaad leh, iwm. waxay qaadataa dhawr saacadood si aad u akhrido bilawga degdega ah oo ay u abuurto adeegga laftiisa.

Waxaan siiyay warbixin mowduucan ku saabsan HighLoad++ 2018, waad daawan kartaa Π²ΠΈΠ΄Π΅ΠΎ ΠΈ bandhigid.

track Bonus kuwa wax akhriya ilaa dhamaadka

Haddaanu nahay Avito waxaanu qabanqaabinaynaa tababar saddex maalmood ah oo gudaha ah oo loogu talagalay horumariyeyaal ka socda Chris Richardson, khabiir ku ah qaab-dhismeedka microservice. Waxaan jecelnahay in aan fursad ka siino mid ka mid ah akhristayaasha qoraalkan. waa Barnaamijka tababarka ayaa la dhejiyay.

Tababarku waxa uu ka dhici doonaa August 5 ilaa 7 ee Moscow. Kuwani waa maalmo shaqo oo si buuxda loo qabsan doono. Qado iyo tababar ayaa ku jiri doona xafiiskayaga, ka qaybqaataha la doortay ayaa bixin doona kharashka safarka iyo hoyga laftiisa.

Waxaad codsan kartaa ka qaybgalka qaabkan google. Adiga - jawaabta su'aasha sababta aad ugu baahan tahay inaad ka qaybgasho tababarka iyo macluumaadka ku saabsan sida laguula soo xiriiro. Ku jawaab Ingiriis, sababtoo ah Chris ayaa dooran doona ka qaybqaataha ka qayb galaya tababarka laftiisa.
Waxaan ku dhawaaqi doonaa magaca ka qaybqaataha tababarka cusboonaysiinta boostadan iyo shabakadaha bulshada ee Avito ee horumariyeyaasha (AvitoTech in Facebook-ga, Π’ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅, Twitter) ugu dambayn July 19.

Source: www.habr.com

Add a comment