Fotodrafitrasa toy ny code: olom-pantatra voalohany

Ny orinasanay dia eo am-pananganana ekipa SRE. Niditra tamin'ity tantara manontolo ity aho avy amin'ny lafiny fampandrosoana. Tao anatin'izany dingana izany dia nahazo eritreritra sy hevi-baovao tiako hozaraina amin'ireo mpamorona hafa aho. Ato amin'ity lahatsoratra fisaintsainana ity dia miresaka momba ny zava-mitranga aho, ny zava-mitranga ary ny fomba ahafahan'ny tsirairay manohy miaina miaraka aminy.

Fotodrafitrasa toy ny code: olom-pantatra voalohany

Fitohizan'ny lahatsoratra maromaro nosoratana mifototra amin'ny kabary tamin'ny hetsika anatiny DevForum:

1. Ny saka Schrödinger tsy misy boaty: ny olan'ny marimaritra iraisana amin'ny rafitra fizarana.
2. Fotodrafitrasa ho fehezan-dalàna. (Eto ianao)
3. Famoronana fifanarahana Typescript mampiasa modely C#. (Eo an-dàlana...)
4. Fampidirana ny algorithm consensus Raft. (Eo an-dàlana...)
...

Nanapa-kevitra ny hamorona ekipa SRE izahay, hampihatra ny hevitra google sre. Nandray programa avy amin'ny mpamorona azy manokana izy ireo ary nandefa azy ireo hiofana nandritra ny volana maromaro.

Ny ekipa dia nanana ireto asa fanofanana manaraka ireto:

  • Farito ny fotodrafitrasantsika, izay ao amin'ny Microsoft Azure ny ankamaroany amin'ny endrika kaody (Terraform sy ny zavatra rehetra manodidina).
  • Ampianaro ny mpamorona ny fomba fiasa amin'ny fotodrafitrasa.
  • Manomana ny developer ho amin'ny adidy.

Ampidirinay ho code ny foto-kevitry ny Infrastructure

Ao amin'ny modely mahazatra an'izao tontolo izao (fitantanana klasika), ny fahalalana momba ny fotodrafitrasa dia hita amin'ny toerana roa:

  1. Na amin'ny endrika fahalalana ao amin'ny lohan'ny manam-pahaizana.Fotodrafitrasa toy ny code: olom-pantatra voalohany
  2. Na izany fampahalalana izany dia amin'ny milina fanoratana sasany, izay fantatry ny manam-pahaizana ny sasany. Saingy tsy zava-misy fa misy vahiny (raha sanatria maty tampoka ny ekipanay iray manontolo) dia ho afaka hamantatra ny asa sy ny fomba fiasany. Mety misy fampahalalana be dia be momba ny milina iray: kojakoja, cronjobs, fampitahorana (jereo. fametrahana kapila) disk ary lisitra tsy misy farany amin'izay mety hitranga. Sarotra ny mahazo ny tena zava-mitranga.Fotodrafitrasa toy ny code: olom-pantatra voalohany

Amin'ireo toe-javatra roa ireo, dia voafandrika ao anatin'ny fiankinan-doha isika:

  • na avy amin'ny olona mety maty, voan'ny aretina, raiki-pitia, fiovaovan'ny toe-po ary fandroahana tsotra fotsiny;
  • na avy amin'ny milina miasa ara-batana, izay mianjera ihany koa, mangalatra, ary miteraka tsy ampoizina sy fahasahiranana.

Mazava ho azy fa ny zava-drehetra dia tokony hadika amin'ny kaody azo vakiana, azo tazonina, tsara soratana.

Araka izany, ny fotodrafitrasa toy ny code (Incfastructure as Code - IaC) dia famaritana ny fotodrafitrasa manontolo misy amin'ny endrika code, ary koa ireo fitaovana mifandraika amin'ny fiaraha-miasa aminy sy ny fampiharana ny fotodrafitrasa tena izy avy aminy.

Nahoana no handika ny zava-drehetra ho kaody?Tsy milina ny olona. Tsy mahatadidy ny zava-drehetra izy ireo. Tsy mitovy ny fihetsiky ny olona iray sy ny milina iray. Ny zavatra rehetra mandeha ho azy dia mety haingana kokoa noho ny zavatra rehetra ataon'ny olombelona. Ny zava-dehibe indrindra dia loharano tokana ny fahamarinana.

Avy aiza ny injeniera SRE vaovao?Noho izany, nanapa-kevitra izahay fa hanakarama injeniera SRE vaovao, fa avy aiza no hahazoana azy ireo? Boky misy valiny marina (Google SRE Book) dia milaza amintsika: avy amin'ny mpamorona. Rehefa dinihina tokoa, dia miasa miaraka amin'ny kaody, ary ianao hahatratra ny tena mety.

Nitady azy ireo nandritra ny fotoana ela izahay teo amin'ny tsenan'ny mpiasa ivelan'ny orinasanay. Saingy tsy maintsy miaiky isika fa tsy nahita olona mifanaraka amin'ny fangatahanay. Tsy maintsy nitady tany amin’ny fireneko aho.

Olana fotodrafitrasa toy ny code

Andeha hojerentsika ny ohatra amin'ny fomba ahafahan'ny fotodrafitrasa hadika ho fehezan-dalàna. Ny kaody dia voasoratra tsara, avo lenta, misy fanehoan-kevitra sy indentations.

Ohatra code avy amin'ny Terraforma.

Fotodrafitrasa toy ny code: olom-pantatra voalohany

Ohatra code avy amin'ny Ansible.

Fotodrafitrasa toy ny code: olom-pantatra voalohany

Tompokolahy, raha mba tsotra tokoa izany! Eo amin'ny tontolo tena izy isika, ary vonona mandrakariva ny hahagaga anao, hanolotra anao amin'ny tsy ampoizina sy olana. Tsy afaka manao raha tsy misy azy ireo eto koa.

1. Ny olana voalohany dia ny ankamaroan'ny IaC dia karazana dsl.

Ary ny DSL, kosa, dia famaritana ny rafitra. Ny marimarina kokoa, ny tokony hanananao: Json, Yaml, fanovana avy amin'ny orinasa lehibe sasany izay namorona ny dsl azy manokana (HCL dia ampiasaina amin'ny terraform).

Ny olana dia mety tsy ahitana zavatra mahazatra toy ny:

  • variables;
  • fepetra;
  • any amin'ny toerana tsy misy fanehoan-kevitra, ohatra, ao amin'ny Json, amin'ny alàlan'ny default dia tsy omena azy ireo;
  • functions;
  • ary tsy miresaka momba ny zavatra avo lenta toy ny kilasy, lova sy ny sisa aho.

2. Ny olana faharoa amin'ny kaody toy izany dia ny ankamaroan'ny tontolo tsy mitovy. Matetika ianao no mipetraka sy miasa amin'ny C #, i.e. miaraka amin'ny fiteny iray, andiany iray, tontolo iainana iray. Ary eto ianao dia manana teknolojia isan-karazany.

Toe-javatra tena misy tokoa izany rehefa manomboka ny dingana sasany hampidirana an'i Json ny bash miaraka amin'ny python. Mamakafaka azy ianao, dia misy mpamokatra hafa mamokatra rakitra 30 hafa. Ho an'izany rehetra izany, dia azo avy amin'ny Azure Key Vault ny fari-piadidiana fidirana, izay nosintonin'ny plugin iray ho an'ny drone.io voasoratra ao amin'ny Go, ary ireo fari-piainana ireo dia mandalo amin'ny yaml, izay novokarina vokatry ny taranaka avy amin'ny môtera môdely jsonnet. Sarotra ny manana kaody voafaritra tsara rehefa manana tontolo isan-karazany ianao.

Ny fampandrosoana nentim-paharazana ao anatin'ny rafitry ny asa iray dia miaraka amin'ny fiteny iray. Eto izahay dia miasa amin'ny fiteny maro be.

3. Ny olana fahatelo dia ny fampifanarahana. Efa zatra ny mpanonta mangatsiatsiaka (Ms Visual Studio, Jetbrains Rider) izay manao ny zava-drehetra ho antsika. Ary na dia vendrana aza isika dia hilaza izy ireo fa diso isika. Toa mahazatra sy voajanahary izany.

Saingy any amin'ny toerana akaiky dia misy VSCode, izay misy plugins sasany napetraka, tohana na tsy tohanana. Nivoaka ny dikan-teny vaovao ary tsy notohanana. Manjary olana saro-pady sy tsy misy dikany ny fifindrana banal amin'ny fanatanterahana asa iray (na dia misy aza izany). Ny fanovana anarana tsotra amin'ny variable dia famerenana amin'ny tetikasa misy rakitra am-polony. Ho tsara vintana ianao raha mametraka izay ilainao izy. Mazava ho azy fa misy ny backlight etsy sy eroa, misy auto-completion, any amin'ny toerana misy ny format (na dia tsy nety tamiko aza izany tamin'ny terraform amin'ny Windows).

Tamin'ny fotoana nanoratana ity vscode-terraform plugin mbola tsy navoaka hanohanana ny version 0.12, na dia efa navoaka nandritra ny 3 volana aza.

Fotoana hanadinoana ny...

  1. Debugging.
  2. Fitaovana refactoring.
  3. Auto vita.
  4. Famantarana ny lesoka mandritra ny fanangonana.

Mampihomehy izany, saingy mampitombo ny fotoana fampandrosoana izany ary mampitombo ny isan'ny fahadisoana tsy azo ihodivirana.

Ny ratsy indrindra dia ny hoe voatery tsy mieritreritra ny fomba famolavolana, ny fandaminana ny rakitra ho laha-tahiry, ny fanimbana, ny fanaovana ny kaody ho azo fehezina, azo vakiana, sy ny sisa, fa ny fomba hanoratako io baiko io araka ny tokony ho izy, satria diso aho nanoratra azy io. .

Amin'ny maha vao manomboka dia miezaka mianatra terraforms ianao, ary tsy manampy anao mihitsy ny IDE. Rehefa misy ny antontan-taratasy dia midira ary jereo. Fa raha miditra amin'ny fiteny fandaharana vaovao ianao dia hilaza aminao ny IDE fa misy karazana toy izany, saingy tsy misy izany. Farafaharatsiny amin'ny ambaratonga int na string. Mahasoa matetika izany.

Ahoana ny amin'ny fitsapana?

Manontany ianao hoe: "Ahoana ny amin'ny fitsapana, ry programmer tompoko?" Ny lehilahy matotra dia mitsapa ny zava-drehetra momba ny famokarana, ary sarotra izany. Ity misy ohatra iray amin'ny fitsapana unit ho an'ny môdely terraform avy amin'ny tranokala Microsoft.

Fotodrafitrasa toy ny code: olom-pantatra voalohany

Manana antontan-taratasy tsara izy ireo. Tiako foana i Microsoft noho ny fomba fiasany momba ny antontan-taratasy sy ny fiofanana. Saingy tsy mila ho Dadatoa Bob ianao vao hahalala fa tsy code tonga lafatra io. Mariho ny fanamarinana eo ankavanana.

Ny olana amin'ny fitsapana unit dia ny hoe izaho sy ianao dia afaka manamarina ny fahamarinan'ny vokatra Json. Natsipy paramètre 5 aho ary nomena lamban-tongotra Json misy andalana 2000. Afaka mamakafaka ny zava-mitranga eto aho, manamarina ny valin'ny fitsapana...

Sarotra ny mamadika an'i Json amin'ny Go. Ary mila manoratra amin'ny Go ianao, satria ny terraform ao amin'ny Go dia fomba fanao tsara amin'ny fitsapana amin'ny fiteny anoratanao. Ny fandaminana ny kaody mihitsy dia tena malemy. Mandritra izany fotoana izany, ity no tranomboky tsara indrindra hanaovana fitiliana.

Ny Microsoft mihitsy no manoratra ny maody, mitsapa azy ireo amin'izany fomba izany. Mazava ho azy fa Open Source izany. Ny zavatra rehetra lazaiko dia azonao amboarina. Afaka mipetraka aho ary manamboatra ny zava-drehetra ao anatin'ny herinandro, open source VS code plugins, terraforms, manao plugin ho an'ny mpitaingina. Angamba manoratra mpandinika roa, ampio linter, mandray anjara amin'ny tranomboky hanaovana fitiliana. Afaka manao ny zava-drehetra aho. Tsy izany anefa no tokony hataoko.

Fomba fanao tsara indrindra ho toy ny code

Andao handroso. Raha tsy misy fitsapana ao amin'ny IaC dia ratsy ny IDE sy ny fanamafisam-peo, dia tokony hisy fanao tsara indrindra farafaharatsiny. Nandeha tany amin'ny Google Analytics aho ary nampitaha fanontaniana roa momba ny fikarohana: ny fomba fanao tsara indrindra amin'ny Terraform sy ny fanao tsara indrindra amin'ny c#.

Fotodrafitrasa toy ny code: olom-pantatra voalohany

Inona no hitantsika? Tsy mankasitraka antsika ny antontan'isa tsy misy indrafo. Mitovy ny habetsaky ny fitaovana. Ao amin'ny fampivoarana C #, dia feno fitaovana fotsiny isika, manana fomba fanao faran'izay tsara indrindra, misy boky nosoratan'ny manam-pahaizana, ary koa boky nosoratan'ny manam-pahaizana hafa izay mitsikera ireo boky ireo. Ranomasin'ny antontan-taratasy ofisialy, lahatsoratra, fampianarana fiofanana, ary ankehitriny koa ny fampandrosoana loharano misokatra.

Raha ny momba ny fangatahana IaC: eto ianao dia miezaka manangona vaovao kely avy amin'ny highload na HashiConf tatitra, avy amin'ny antontan-taratasy ofisialy sy olana maro ao amin'ny Github. Ahoana ny fizarana ireo modules amin'ny ankapobeny, inona no tokony hatao amin'izy ireo? Toa tena olana tokoa izany... Misy vondrom-piarahamonina, tompoko, izay misy fanontaniana omena anao 10 ao amin'ny Github. Tsy marina anefa izany.

Indrisy anefa fa amin'izao fotoana izao dia vao manomboka mipoitra ireo manam-pahaizana. Vitsy loatra izy ireo hatreto. Ary ny fiaraha-monina mihitsy no mihantona eo amin'ny ambaratonga fototra.

Aiza ho aiza izany ary inona no hatao

Azonao atao ny manary ny zava-drehetra ary miverina amin'ny C #, amin'ny tontolon'ny mpitaingina. Saingy tsia. Fa maninona ianao no mbola variana manao an'io raha tsy mahita vahaolana. Eto ambany aho dia manolotra ny fanatsoahan-kevitro subjective. Afaka miady hevitra amiko ianao amin'ny fanehoan-kevitra, hahaliana izany.

Izaho manokana dia miloka amin'ny zavatra vitsivitsy:

  1. Mandeha haingana dia haingana ny fampandrosoana amin'ity sehatra ity. Ity misy fandaharam-potoana fangatahana ho an'ny DevOps.

    Fotodrafitrasa toy ny code: olom-pantatra voalohany

    Ny lohahevitra dia mety ho hype, fa ny zava-misy fa mitombo ny sehatra dia manome fanantenana kely.

    Raha misy zavatra mitombo haingana dia haingana dia hiseho tokoa ny olona hendry izay hilaza aminao ny tokony hatao sy ny tsy tokony hatao. Ny fitomboan'ny laza dia mitarika ho amin'ny zava-misy fa mety hisy olona hanam-potoana hampidirana plugin amin'ny jsonnet ho an'ny vscode amin'ny farany, izay ahafahanao mandroso amin'ny fampiharana ny asa, fa tsy mikaroka azy amin'ny ctrl+shift+f. Rehefa mivoatra ny zava-drehetra dia misy fitaovana maro kokoa miseho. Ohatra tsara amin'izany ny famoahana boky avy amin'ny Google momba ny SRE.

  2. Misy teknika sy fomba fanao novolavolaina amin'ny fampandrosoana mahazatra izay azontsika ampiharina eto. Eny, misy ny nuances miaraka amin'ny fitsapana sy ny tontolo iainana heterogène, fitaovana tsy ampy, fa ny fomba fanao be dia be no voaangona izay mety mahasoa sy manampy.

    Ohatra tsy dia misy dikany: fiaraha-miasa amin'ny alàlan'ny fandaharana mpivady. Manampy be dia be ny mamantatra izany. Rehefa manana mpifanolo-bodirindrina eo akaiky eo izay miezaka hahatakatra zavatra iray ihany koa ianao, dia ho azonao tsara kokoa.

    Ny fahatakarana ny fomba fanaovana refactoring dia manampy amin'ny fanatanterahana izany na dia amin'ny toe-javatra toy izany aza. Izany hoe tsy azo ovaina indray mandeha ny zava-drehetra fa ovaina ny anarana, dia ovay ny toerana, dia azonao atao ny manasongadina ampahany, o, fa tsy ampy ny fanehoan-kevitra eto.

famaranana

Na dia eo aza ny zava-misy fa toa tsy misy dikany ny fanjohian-kevitro, dia mibanjina ny ho avy aho miaraka amin'ny fanantenana ary manantena amim-pahatsorana fa ny zava-drehetra dia hahomby ho antsika (sy ianao).

Eo am-panomanana manaraka ny tapany faharoa amin’ilay lahatsoratra. Ao anatin'izany dia hiresaka momba ny fomba nanandramanay ny fampiasàna fomba fampivoarana haingana hanatsarana ny fizotry ny fianarana sy ny fiaraha-miasa amin'ny fotodrafitrasa.

Source: www.habr.com

Add a comment