Maitiro ekurara murunyararo kana uine gore sevhisi: ekutanga matipi ekuvaka

Maitiro ekurara murunyararo kana uine gore sevhisi: ekutanga matipi ekuvakaAKARASWA na sophiagworld

Ichi chinyorwa chine mamwe mapatani akajairwa kubatsira mainjiniya kushanda nemasevhisi makuru anowanikwa nemamiriyoni evashandisi. 

Muchiitiko chemunyori, iyi haisi rondedzero yakazara, asi zvechokwadi inoshanda kuraira. Saka, ngatitange.

Yakaturikirwa nerutsigiro Mail.ru Cloud Solutions.

Chikamu chekutanga

Matanho akanyorwa pazasi ari nyore kuita asi ane simba guru. Kana usati wambodziedza kare, iwe uchashamiswa nekuvandudzwa kwakakosha.

Infrastructure sekodhi

Chikamu chekutanga chezano ndechekuita zvivakwa sekodhi. Izvi zvinoreva kuti iwe unofanirwa kuve nehurongwa hwekushandisa hurongwa hwese. Zvinonzwika zvakaoma, asi isu tiri kutaura nezve inotevera kodhi:

Deployment ye100 virtual machines

  • pamwe Ubuntu
  • 2 GB RAM imwe neimwe
  • vachave nekodhi inotevera
  • nema parameter aya

Iwe unogona kuteedzera shanduko kune yako masisitimu uye nekukurumidza kudzokera kwavari uchishandisa vhezheni control.

Iyezvino ari mandiri anoti iwe unogona kushandisa Kubernetes / Docker kuita zvese zviri pamusoro, uye ari kutaura chokwadi.

Mukuwedzera, iwe unogona kupa otomatiki uchishandisa Chef, Puppet kana Terraform.

Kuenderera mberi Kubatanidzwa uye Kuendesa

Kugadzira scalable sevhisi, zvakakosha kuve nekuvaka uye kuyedza pombi yechikumbiro chega chega chekudhonza. Kunyangwe iyo bvunzo iri nyore kwazvo, inongoita shuwa kuti iyo kodhi yaunotumira inounganidza.

Nguva imwe neimwe panguva ino unopindura mubvunzo: Ko gungano rangu richaunganidza nekupasa bvunzo, ichokwadi here? Izvi zvingaite senge bhara rakaderera, asi rinogadzirisa matambudziko mazhinji.

Maitiro ekurara murunyararo kana uine gore sevhisi: ekutanga matipi ekuvaka
Hapana chinhu chakanaka sekuona zvikwekwe izvi

Kune iyi tekinoroji unogona kuongorora Github, CircleCI kana Jenkins.

Load Balancers

Saka, isu tinoda kumhanyisa chiyero chemutoro kutungamira traffic uye kuona yakaenzana mutoro pane ese node kana sevhisi inoenderera kana ikatadza:

Maitiro ekurara murunyararo kana uine gore sevhisi: ekutanga matipi ekuvaka
A load balancer inowanzoita basa rakanaka rekugovera traffic. The best practice is to overbalance so that you don't have one point of failure.

Kazhinji, mitoro inoremerwa inogadziriswa mugore raunoshandisa.

RayID, yekubatanidza ID kana UUID yekukumbira

Wakambosangana nemhosho yekushandisa ine meseji yakaita seiyi: β€œPane chakaipa. Sevha id iyi woitumira kuchikwata chedu chetsigiro"?

Maitiro ekurara murunyararo kana uine gore sevhisi: ekutanga matipi ekuvaka
Iyo yakasarudzika identifier, yekubatanidza ID, RayID, kana chero mutsauko, identifier yakasarudzika iyo inokutendera kuti utarise chikumbiro mukati mehupenyu hwayo hwose. Izvi zvinokutendera kuti utarise nzira yese yekukumbira mumatanda.

Maitiro ekurara murunyararo kana uine gore sevhisi: ekutanga matipi ekuvaka
Mushandisi anoita chikumbiro kune system A, ipapo A contacts B, iyo inobata C, inoichengeta mu X uyezve chikumbiro chinodzoserwa kuA.

Dai iwe waizobatana kure kure kumakina chaiwo uye edza kuteedzera nzira yekukumbira (uye nemaoko correlate kuti ndedzipi mafoni arikuitwa), unopenga. Kuve nechiziviso chakasiyana kunoita kuti hupenyu huve nyore. Ichi ndicho chimwe chezvinhu zviri nyore zvaunogona kuita kuchengetedza nguva sezvo sevhisi yako inokura.

Average level

Zano iri pano rakanyanya kuoma kupfuura rakapfuura, asi zvishandiso zvakanaka zvinoita kuti basa rive nyore, zvichipa kudzoka pakudyara kunyange kumakambani madiki uye epakati.

Centralized matanda

Makorokoto! Wakaisa zana muchina chaiwo. Mangwana acho, CEO anouya uye anonyunyuta pamusoro pechikanganiso chaakagamuchira achiyedza sevhisi. Inoshuma ID inoenderana yatakataura pamusoro, asi iwe uchafanirwa kutarisa mukati mematanda emakina zana kuti uwane iyo yakonzera tsaona. Uye inoda kuwanikwa isati yapiwa mangwana.

Kunyange izvi zvichiita sekutamba kunonakidza, zvakanaka kuve nechokwadi kuti unokwanisa kutsvaga magazini ese munzvimbo imwechete. Ndakagadzirisa dambudziko rekuisa matanda epakati ndichishandisa iyo yakavakirwa-mukati mashandiro eiyo ELK stack: inotsigira inotsvagisa logi muunganidzwa. Izvi zvichabatsira chaizvo kugadzirisa dambudziko rekutsvaga chaiyo magazini. Sebhonasi, unogona kugadzira machati nezvimwe zvinhu zvinonakidza zvakadaro.

Maitiro ekurara murunyararo kana uine gore sevhisi: ekutanga matipi ekuvaka
ELK stack kushanda

Monitoring agents

Iye zvino sezvo sevhisi yako yasimuka uye ichimhanya, unofanirwa kuve nechokwadi kuti inofamba zvakanaka. Nzira yakanakisa yekuita izvi ndeyekumhanya akati wandei vamiririri, iyo inoshanda pamwe chete uye tarisa kuti inoshanda uye mabasa ekutanga anoitwa.

Panguva ino iwe tarisa izvozvo dhizaini yekumhanya inonzwa yakanaka uye inoshanda zvakanaka.

Kumapurojekiti madiki kusvika epakati, ini ndinokurudzira Postman yekutarisa nekunyora maAPI. Asi kazhinji, iwe unongoda kuve nechokwadi kuti une nzira yekuziva kana kubuda kwakaitika uye kuziviswa panguva yakakodzera.

Autoscaling zvichienderana nemutoro

Zviri nyore kwazvo. Kana iwe uine VM sevhisi zvikumbiro uye yave kusvika 80% ndangariro kushandiswa, unogona kuwedzera zviwanikwa zvayo kana kuwedzera mamwe maVM kusumbu. Kuita otomatiki kweaya ma operation kwakanakira shanduko yesimba re elastic pasi pemutoro. Asi unofanira kugara uchingwarira kuti imarii yaunoshandisa uye kuisa miganhu ine musoro.

Maitiro ekurara murunyararo kana uine gore sevhisi: ekutanga matipi ekuvaka
Nemasevhisi mazhinji emakore, unogona kuzvigadzirisa kuti iite otomatiki uchishandisa mamwe maseva kana mamwe maseva ane simba.

Experiment system

Nzira yakanaka yekuburitsa zvigadziriso zvakachengeteka ndeyekukwanisa kuyedza chimwe chinhu kune 1% yevashandisi kweawa. Iwe, zvechokwadi, wakaona nzira dzakadaro dzichishanda. Semuenzaniso, Facebook inoratidza zvikamu zvevateereri rumwe ruvara kana kushandura saizi yefonti kuti vaone kuti vashandisi vanoona sei shanduko. Izvi zvinonzi kuongorora kweA/B.

Kunyangwe kuburitsa chinhu chitsva chinogona kutangwa sechiyedzo wobva waona kuti wochisunungura sei. Iwe zvakare unowana kugona "kurangarira" kana kushandura gadziriso pane nhunzi zvichibva pane basa riri kukonzera kuderedzwa mubasa rako.

Advanced level

Heano mazano akaoma kushandisa. Iwe ungangoda zvimwe zviwanikwa zvishoma, saka kambani diki kana yepakati-kati ichava nenguva yakaoma kubata izvi.

Blue-green deployments

Iyi ndiyo yandinodaidza kuti "Erlang" nzira yekuitika. Erlang yakatanga kushandiswa zvakanyanya pakaonekwa makambani enhare. MaSoftswitches akatanga kushandiswa kutaridza nharembozha. Chinangwa chikuru chesoftware pane idzi switch yaive yekusadonhedza mafoni panguva yekusimudzira system. Erlang ane nzira yakanaka yekurodha module nyowani pasina kurovera iyo yapfuura.

Iyi nhanho inoenderana nekuvapo kwemutoro wemutoro. Ngatimbofungidzira iwe une vhezheni N yesoftware yako, wobva wada kuendesa vhezheni N+1. 

Iwe taigona ingomisa sevhisi uye buritsa iyo inotevera vhezheni panguva inoshanda kune vashandisi vako uye uwane imwe nguva yekudzikira. Asi ngatitii wakazviita chaizvo yakasimba SLA mamiriro. Saka, SLA 99,99% zvinoreva kuti unogona kuenda kunze kwenyika chete nemaminitsi 52 pagore.

Kana iwe uchida chaizvo kuwana zviratidzo zvakadaro, unoda deployments maviri panguva imwe chete: 

  • iyo iripo zvino (N);
  • inotevera vhezheni (N+1). 

Iwe unoudza muyero wemutoro kuti adzore chikamu chetraffic kune iyo nyowani vhezheni (N + 1) iwe uchishingairira kutarisa regressions.

Maitiro ekurara murunyararo kana uine gore sevhisi: ekutanga matipi ekuvaka
Pano isu tine green N deployment inoshanda zvakanaka. Tiri kuedza kuenda kune inotevera vhezheni yekutumirwa iyi

Chekutanga tinotumira bvunzo diki chaizvo kuona kana yedu N + 1 kutumirwa kunoshanda nehuwandu hushoma hwetraffic:

Maitiro ekurara murunyararo kana uine gore sevhisi: ekutanga matipi ekuvaka
Chekupedzisira, isu tine seti yeotomatiki cheki iyo yatinozomhanya kusvika kutumira kwedu kwapera. Kana iwe zvikuru kwazvo Chenjerera, iwe unogona zvakare kuchengetedza yako N deployment zvachose kuti idzokorore nekukurumidza kana yakashata kudzoreredza:

Maitiro ekurara murunyararo kana uine gore sevhisi: ekutanga matipi ekuvaka
Kana iwe uchida kuenda kune yakatonyanya nhanho nhanho, rega zvese zviri mublue-green deployment zvimhanye zvoga.

Anomaly kuona uye otomatiki kudzikiswa

Tichifunga kuti iwe une yepakati matanda uye yakanaka yekuunganidza matanda, unogona kutoisa zvibodzwa zvepamusoro. Somuenzaniso, proactively kufanotaura kukundikana. Mabasa anotevedzwa pamamonitor uye mumatanda uye akasiyana dhiyagiramu anovakwa - uye iwe unogona kufanotaura zvisati zvaitika:

Maitiro ekurara murunyararo kana uine gore sevhisi: ekutanga matipi ekuvaka
Kana zvisizvo zvaonekwa, unotanga kuongorora zvimwe zvinongedzo zvinopihwa nesevhisi. Semuenzaniso, spike muCPU mutoro inogona kuratidza kuti hard drive iri kutadza, nepo spike mukukumbira inogona kuratidza kuti iwe unofanirwa kukwira kumusoro. Iyi mhando yedata data inokutendera iwe kuti uite sevhisi ishande.

Nezviziviso izvi, unogona kukwira mune chero chiyero uye nekushingaira uye nekuchinja hunhu hwemichina, dhatabhesi, zvinongedzo uye zvimwe zviwanikwa.

Ndizvo zvose!

Iyi rondedzero yezvakakosha inokuchengetedza iwe akawanda matambudziko kana iwe uchisimudza gore sevhisi.

Munyori wechinyorwa chekutanga anokoka vaverengi kuti vasiye zvavanotaura uye kuti vashandure. Chinyorwa chinogoverwa seyakavhurika sosi, dhonza zvikumbiro nemunyori inobvuma paGithub.

Chii chimwe chekuverenga pamusoro pemusoro wenyaya:

  1. Enda uye CPU caches
  2. Kubernetes mumweya wepiracy ane template yekushandisa
  3. Yedu chiteshi Around Kubernetes muTeregiramu

Source: www.habr.com

Voeg