Kaabayaasha sida kood: isbarashada koowaad

Shirkaddayadu waxay ku guda jirtaa habka ay u fuulayso kooxda SRE. Sheekadan oo dhan waxaan ka soo galay dhanka horumarka. Intii ay howsha socotay, waxaan la yimid fikrado iyo aragtiyo aan rabo inaan la wadaago horumariyeyaasha kale. Maqaalkan milicsiga waxaan uga hadlayaa waxa dhacaya, sida ay u dhacayaan, iyo sida qof kastaa u sii wadi karo inuu la noolaado.

Kaabayaasha sida kood: isbarashada koowaad

Sii wadida qormooyin taxane ah oo ku saleysan khudbadihii laga jeediyay munaasabadeena gudaha DevForum:

1. Bisadda SchrΓΆdinger oo aan sanduuq lahayn: dhibaatada la isku raacsan yahay ee nidaamyada qaybsan.
2. Kaabayaasha sida code. (Waxaad joogtaa)
3. Abuurista qandaraasyada Typescript iyadoo la adeegsanayo moodooyinka C #. (Waa socdaa...)
4. Horudhac algorithm raft consensus algorithm. (Waa socdaa...)
...

Waxaan go'aansanay inaan abuurno koox SRE, fulinta fikradaha google sre. Waxay shaqaaleysiinayeen barnaamij-sameeyayaal iyaga u gaar ah oo u diray tababar dhowr bilood ah.

Kooxdu waxay lahayd hawlaha soo socda ee tababarka:

  • Sharax kaabayaashayada, kuwaas oo inta badan ku jira Microsoft Azure qaab code (Terraform iyo wax kasta oo ku xeeran).
  • Bar horumariyeyaasha sida loogu shaqeeyo kaabayaasha.
  • U diyaari horumariyeyaasha waajibaadkooda.

Waxaan u soo bandhigeynaa fikradda Kaabayaasha sida kood

Qaabka caadiga ah ee adduunka (maamulka qadiimiga ah), aqoonta ku saabsan kaabayaasha waxay ku taal laba meelood:

  1. Ama qaabka aqoonta ee madaxda khubarada.Kaabayaasha sida kood: isbarashada koowaad
  2. Mise xogtani waxay ku socotaa makiinada wax lagu qoro qaarkood, kuwaas oo qaarkood ay yaqaaniin khubarada. Laakiin maahan xaqiiqo in qof dibadda ah (haddii ay dhacdo in kooxdeena oo dhami ay si lama filaan ah u dhintaan) ay awoodi doonaan inay ogaadaan waxa shaqeeya iyo sida ay u shaqeyso. Waxaa jiri kara macluumaad badan oo ku saabsan mashiinka: qalabyada, cronjobs, cabsigelin (eeg. dhejinta diskka) disk iyo kaliya liiska aan dhammaanayn ee waxa dhici kara. Way adag tahay in la fahmo waxa run ahaantii dhacaya.Kaabayaasha sida kood: isbarashada koowaad

Labada xaaladoodba, waxaan isku aragnaa nafteena ku xayiran noqoshada ku tiirsanaanta:

  • ama qof dhimanaya, oo xanuunsaday, jacayl ku dhacay, niyadda oo beddeshay oo si fudud shaqada looga eryay;
  • ama mishiin jir ahaan u shaqeeya, kaas oo sidoo kale ku dhaca, la xado, oo soo bandhigaya yaabab iyo dhib.

Waxay ku socotaa iyada oo aan la odhan karin wax walba waa in loo tarjumaa mid bini'aadmigu akhriyi karo, la ilaalin karo, kood si wanaagsan loo qoray.

Sidaa darteed, kaabayaasha sida code (Incfastructure as Code - IaC) waa sharaxaad ka mid ah dhammaan kaabayaasha jira ee qaabka code, iyo sidoo kale qalabyada la xidhiidha la shaqaynta iyo hirgelinta kaabayaasha dhabta ah.

Maxaa wax walba loogu turjumayaa koodka?Dadku mashiino maaha. Wax walba ma xasuusan karaan. Falcelinta qofka iyo mishiinku way kala duwan yihiin. Wax kasta oo otomaatig ah ayaa suurtogal ah in uu ka dhaqso badan yahay wax kasta oo uu bani'aadam sameeyo. Waxa ugu muhiimsan waa isha keliya ee runta.

Halkee ayay ka yimaadeen injineerada cusub ee SRE?Marka, waxaan go'aansanay inaan shaqaaleysiino injineerada SRE cusub, laakiin halkee laga helaa? Ku qor jawaabo sax ah (Buugga SRE Google) wuxuu inoo sheegayaa: ka soo saarayaasha. Ka dib oo dhan, waxay la shaqeeyaan koodhka, oo waxaad ku guulaysataa gobolka ugu fiican.

Muddo dheer ayaanu wax badan ka raadinnay suuqa shaqaalaha ee ka baxsan shirkaddayada. Laakiin waa in aan qiranno in aanan helin qof ku habboon codsiyadeena. Waxaan ku qasbanaaday inaan dadkaygii ka dhex baadho.

Dhibaatooyinka kaabayaasha qaab-dhismeedka sida kood

Hadda aan eegno tusaalooyin ku saabsan sida kaabayaasha loogu dhejin karo code. Koodhku si fiican buu u qoran yahay, tayadiisu aad u sarrayso, oo leh faallooyin iyo tilmaamo.

Koodhka Tusaalaha ee Terraforma

Kaabayaasha sida kood: isbarashada koowaad

Tusaalaha koodhka laga soo bilaabo Aansible.

Kaabayaasha sida kood: isbarashada koowaad

Mudanayaal, hadday sidaas u fududayd! Waxaan joognaa adduunka dhabta ah, mar walbana waxay diyaar u tahay inay kula yaabto, kuu soo bandhigto yaabab iyo dhibaatooyin. Ma samayn karo iyaga la'aantood halkan sidoo kale.

1. Dhibka koowaad waa in inta badan IaC uu yahay nooc ka mid ah dsl.

DSL-na, markeeda, waa tilmaanta qaab-dhismeedka. Si sax ah, waxa ay tahay inaad haysato: Json, Yaml, wax ka beddelka qaar ka mid ah shirkadaha waaweyn ee la yimid dsl iyaga u gaar ah (HCL waxa loo isticmaalaa terraform).

Dhibaatadu waxay tahay in laga yaabo inaysan ku jirin waxyaabo la yaqaan sida:

  • doorsoomayaasha;
  • shuruudaha;
  • meel aysan jirin faallooyin, tusaale ahaan, Json, si caadi ah looma bixiyo;
  • hawlaha;
  • oo xitaa kama hadlayo waxyaalaha heerka sare ah sida fasallada, dhaxalka iyo dhammaan wixii kale.

2. Dhibaatada labaad ee koodhka noocaan ah ayaa ah in inta badan ay tahay deegaan kala duwan. Caadiyan waxaad la fadhiisataa oo la shaqeysaa C #, i.e. oo leh hal luqad, hal xidhmo, hal deegaan. Oo halkan waxaad haysataa tignoolajiyada kala duwan ee aad u badan.

Waa xaalad dhab ah marka bash with python uu bilaabo hannaan ka mid ah kaas oo Json la geliyo. Waad falanqeyneysaa, ka dib koronto-dhaliye kale ayaa soo saaraya 30 fayl oo kale. Waxaas oo dhan, doorsoomayaasha wax gelinta waxaa laga helaa Azure Key Vault, kuwaas oo ay isku soo jiideen plugin loogu talagalay drone.io oo ku qoran Go, doorsoomayaashani waxay maraan yaml, taas oo ka dhalatay jiil ka yimid mashiinka template jsonnet. Aad bay u adagtahay in si adag loo sifeeyo koodka marka aad leedahay jawi kala duwan.

Horumarinta dhaqameed ee qaabka hal hawleed waxay la timaadaa hal luqad. Halkan waxaanu kula shaqaynaa luuqado badan.

3. Dhibka saddexaad waa habaynta. Waxaa naloo isticmaalay inaan qaboojino tifaftirayaasha (Ms Visual Studio, Jetbrains Rider) oo wax walba noo qabta. Oo xataa haddaynu nacas nahay waxay odhanayaan waanu qaldanahay. Waxay u egtahay mid caadi ah oo dabiici ah.

Laakiin meel u dhow waxaa jira VSCode, kaas oo ay ku jiraan plugins kuwaas oo si uun loo rakibay, la taageeray ama aan la taageerin. Noocyo cusub ayaa soo baxay lamana taageerin. U gudubka banal ee hirgelinta hawl (xitaa haddii ay jirto) waxay noqotaa dhibaato adag oo aan fududayn. Magaca beddelka fudud ee doorsoomuhu waa ku celiska mashruuc darsin faylal ah. Nasiib baad yeelan doontaa haddii uu meeleeyo waxaad u baahan tahay. Dabcan, waxaa jira dib u iftiimin halkan iyo halkaas, waxaa jira auto-dhameystiro, meel ay jiraan formatting (inkastoo aysan ii shaqaynayn terraform on Windows).

Waqtiga qoraalkan vscode-terraform plugin Weli lama sii dayn si ay u taageeraan nooca 0.12, in kasta oo la sii daayay muddo 3 bilood ah.

Waa waqtigii la illoobi lahaa...

  1. Qalad
  2. Qalabka dib u soo celinta.
  3. Dhammaystir otomaatig ah
  4. Helitaanka khaladaadka inta lagu jiro ururinta

Waa wax lagu qoslo, laakiin tani waxay sidoo kale kordhisaa wakhtiga horumarka waxayna kordhisaa tirada khaladaadka ee lama huraanka ah.

Waxa ugu xun ayaa ah in nalagu qasbay inaan ka fikirin sida loo naqshadeeyo, loo habeeyo faylalka faylalka, burburinta, ka dhigo koodhka la ilaalin karo, la akhrin karo, iyo wixii la mid ah, laakiin ku saabsan sida aan amarkan si sax ah ugu qori karo, sababtoo ah waxaan si khaldan u qoray. .

Bilaw ahaan, waxaad isku dayaysaa inaad barato terraforms, IDE-guna kuma caawinayo haba yaraatee. Marka ay jiraan dukumeenti, gal oo eeg. Laakiin haddii aad geli lahayd luqad cusub oo barnaamij ah, IDE-gu wuxuu kuu sheegi lahaa inuu jiro nooc caynkaas ah, laakiin ma jiraan wax caynkaas ah. Ugu yaraan heerka int ama xadhigga. Tani inta badan waa faa'iido.

Ka waran imtixaanada?

Waxaad waydiisaa: "Ka waran imtixaanada, mudane barmaamijiyeyaasha?" Ragga halista ah waxay wax walba ku tijaabiyaan wax soo saarka, waana adag tahay. Halkan waxaa ah tusaale tijaabo unug ah oo loogu talagalay moduleka terraform-ka ee shabakada Microsoft.

Kaabayaasha sida kood: isbarashada koowaad

Waxay hayaan dukumeenti wanaagsan. Waxaan had iyo jeer ka helay Microsoft habka ay u wajahdo dukumentiyada iyo tababarka. Laakiin uma baahnid inaad noqoto Adeer Bob si aad u fahamto in kani aanu ahayn kood qumman. U fiirso ansaxinta dhanka midig

Dhibka haysta tijaabada unugga ayaa ah in aniga iyo adiga aan hubin karno saxnaanta wax soo saarka Json. Waxaan tuuray 5 cabbir waxaana la i siiyay maro cagta Json ah oo leh 2000 oo xariiq. Waxaan falanqeyn karaa waxa halkan ka socda, ansixi karaa natiijada imtixaanka...

Way adagtahay in lagu kala saaro Json gudaha Go. Oo waxaad u baahan tahay inaad ku qorto Go, sababtoo ah terraform in Go waa dhaqan wanaagsan oo lagu tijaabiyo luqadda aad ku qorayso. Ururka koodhka laftiisa ayaa ah mid aad u daciif ah. Isla mar ahaantaana, tani waa maktabadda ugu fiican ee imtixaanka.

Microsoft lafteedu waxay qortaa cutubyadeeda, iyaga oo tijaabinaya habkan. Dabcan waa Isha Furan. Wax kasta oo aan adiga ka hadlayo waad iman kartaa oo hagaajin kartaa. Waan fariisan karaa oo wax walba waan hagaajin karaa usbuuc gudihiis, ilo furan oo VS code plugins ah, terraforms, samee plugin loogu talagalay qofka fuushan. Waxaa laga yaabaa in aad qorto dhowr falanqeeye, ku dar linters, ku darso maktabad tijaabo ah. Wax walba waan samayn karaa Laakiin taasi maahan waxa ay tahay inaan sameeyo.

Hababka ugu wanaagsan Kaabayaasha kood ahaan

Aan hore u socono. Haddii aysan jirin imtixaanno gudaha IaC ah, IDE-ga iyo hagaajintu waa xun yihiin, markaa waa in ugu yaraan ay jiraan hababka ugu wanaagsan. Kaliya waxaan aaday Google Analytics oo isbarbardhigay laba weydiimood oo raadin: Terraform dhaqamada ugu fiican iyo c # dhaqamada ugu fiican.

Kaabayaasha sida kood: isbarashada koowaad

Maxaan aragnaa? Tirokoobyada naxariis laawayaasha ah maaha mid nagu habboon. Qadarka maaddadu waa isku mid. Horumarka C #, waxa aanu si fudud uga dharagsanahay agabka, waxaanu leenahay dhaqamada ugu fiican, waxa jira buugaag ay qoreen khubaro, iyo waliba buugaag ay qoreen khabiiro kale oo naqdiya buugaagtaas. Badda dukumeenti rasmi ah, maqaallo, koorsooyin tababar, iyo hadda sidoo kale horumarinta il furan.

Dhanka codsiga IaC: halkan waxa aad isku dayaysaa in aad xog waxoogaa ka ururiso warbixinada sare ama HashiConf, dukumentiyada rasmiga ah iyo arimo badan oo ku saabsan Github. Sida loo qaybiyo cutubyadan guud ahaan, maxaa lagu sameeyaa iyaga? Waxay u muuqataa in tani ay tahay dhibaato dhab ah ... Waxaa jira bulsho, mudanayaal, halkaas oo su'aal kasta lagu siin doono 10 faallooyin ah Github. Laakiin si sax ah maaha.

Nasiib darro, waqtigan xaadirka ah, khubarada ayaa hadda bilaabay inay soo baxaan. Ilaa hadda aad bay u yar yihiin. Bulshada lafteedu waxa ay ka laadlaadsanaysaa heerkii aasaasiga ahaa.

Aaway waxan oo dhan iyo waxa la sameeyo

Waad tuuri kartaa wax walba oo aad ku noqon kartaa C #, adduunka fuusha. Laakiin maya. Maxaad xitaa u dhibaysaa inaad sidan sameyso haddii aadan xal u heli karin. Hoos waxaan ku soo bandhigayaa gabagabada mawduucayga. Waxaad igala doodi kartaa faallooyinka, waxay noqon doontaa mid xiiso leh.

Shakhsi ahaan, waxaan sharad ku galayaa dhawr waxyaalood:

  1. Horumarka deegaankan ayaa si degdeg ah u dhacaya. Halkan waxaa ah jadwalka codsiyada DevOps.

    Kaabayaasha sida kood: isbarashada koowaad

    Mawduuca ayaa laga yaabaa inuu buunbuuniyo, laakiin xaqiiqda ah in goobtu sii kordheyso ayaa rajo gelinaysa.

    Haddii wax si dhakhso ah u koraan, markaa dad caqli badan ayaa hubaal ah inay soo baxaan kuwaas oo kuu sheegi doona waxa la sameeyo iyo waxa aan la samayn. Kordhinta caannimada waxay keenaysaa xaqiiqda ah in laga yaabo in qof uu helo wakhti uu ugu dambeyntii ku daro plugin jsonnet for vscode, kaas oo kuu ogolaanaya inaad u gudubto hirgelinta shaqada, halkii aad ka raadin lahayd iyada oo loo marayo ctrl + shift + f. Sida arrimuhu u kobcayaan, walxo badan ayaa soo muuqda. Buug Google ka soo baxay oo ku saabsan SRE ayaa tusaale fiican u ah tan.

  2. Waxaa jira farsamooyin la horumariyay iyo dhaqamada horumarinta caadiga ah oo aan si guul leh halkan uga codsan karno. Haa, waxaa jira kala duwanaansho leh tijaabinta iyo jawi kala duwan, qalabayn ku filan, laakiin tiro aad u badan oo dhaqamo ah ayaa la ururiyay kuwaas oo waxtar iyo caawin kara yeelan kara.

    Tusaalo aan yarayn: iskaashi iyada oo loo marayo barnaamij-samaynta. Aad bay u caawinaysaa in la ogaado. Marka aad leedahay deris kuu dhow oo isna isku dayaya inuu wax fahmo, si wadajir ah ayaad si fiican u fahmi doontaan.

    Fahamka sida dib-u-soo-nooleynta loo sameeyo waxay gacan ka geysaneysaa in la fuliyo xitaa xaalad noocaas ah. Taasi waa, ma beddeli kartid wax kasta hal mar, laakiin beddel magaca, ka dibna beddel goobta, ka dibna waxaad muujin kartaa qayb ka mid ah, oh, laakiin ma jiraan faallooyin ku filan halkan.

gunaanad

In kasta oo xaqiiqda ah in sababteydu ay u ekaan karto rajo-xumo, waxaan mustaqbalka ku eegayaa rajo oo aan si dhab ah u rajaynayo in wax walba ay anaga (iyo adiga).

Qeybta labaad ee maqaalka ayaa la diyaarin doonaa tan xigta. dhexdiisa, waxaan kaga hadli doonaa sida aan isku daynay in aan u isticmaalno dhaqamada horumarinta firfircoon si aan u wanaajino habka waxbarshada oo aan uga shaqayno kaabayaasha.

Source: www.habr.com

Add a comment