Chifukwa chiyani kumasulira zonse kukhala ma code?Anthu si makina. Sangakumbukire chilichonse. Zochita za munthu ndi makina ndizosiyana. Chilichonse chopangidwa ndi makina chimakhala chachangu kuposa chilichonse chopangidwa ndi munthu. Chinthu chofunika kwambiri ndi gwero limodzi la choonadi.
Kodi mainjiniya atsopano a SRE amachokera kuti?Chifukwa chake, tidaganiza zolemba ganyu mainjiniya atsopano a SRE, koma tiwapeza kuti? Buku ndi mayankho olondola (Buku la Google SRE) imatiuza: kuchokera kwa opanga. Kupatula apo, amagwira ntchito ndi code, ndipo mumakwaniritsa malo abwino.
Tinawasaka kwambiri kwa nthawi yayitali pamsika wa anthu ogwira ntchito kunja kwa kampani yathu. Koma tiyenera kuvomereza kuti sitinapeze aliyense woyenerera zopempha zathu. Ndinayenera kufufuza pakati pa anthu amtundu wanga.
Mavuto Infrastructure monga code
Tsopano tiyeni tiwone zitsanzo za momwe zomangamanga zingasinthire kukhala ma code. Khodiyo imalembedwa bwino, yapamwamba kwambiri, yokhala ndi ndemanga ndi zolembera.
Vuto ndiloti silingakhale ndi zinthu zodziwika bwino monga:
zosintha;
mikhalidwe;
penapake palibe ndemanga, mwachitsanzo, mu Json, mwachisawawa samaperekedwa;
ntchito;
ndipo sindikunena ngakhale za zinthu zapamwamba monga makalasi, cholowa ndi zonse izo.
2. Vuto lachiwiri ndi code yotere ndiloti nthawi zambiri ndi malo osasinthika. Nthawi zambiri mumakhala ndikugwira ntchito ndi C #, i.e. ndi chinenero chimodzi, mulu umodzi, chilengedwe chimodzi. Ndipo apa muli ndi mitundu yayikulu yaukadaulo.
Ndizochitika zenizeni pamene bash ndi python ayambitsa njira yomwe Json amayikidwa. Mukusanthula, ndiye jenereta ina imapanga mafayilo ena 30. Pa zonsezi, zosintha zolowera zimalandiridwa kuchokera ku Azure Key Vault, zomwe zimakokedwa pamodzi ndi pulogalamu yowonjezera ya drone.io yolembedwa mu Go, ndipo zosinthazi zimadutsa yaml, yomwe idapangidwa chifukwa cha m'badwo kuchokera ku injini ya jsonnet template. Ndizovuta kukhala ndi code yofotokozedwa bwino mukakhala ndi malo osiyanasiyana.
Kukula kwachikhalidwe mkati mwa ntchito imodzi kumabwera ndi chilankhulo chimodzi. Apa timagwira ntchito ndi zilankhulo zambiri.
Monga woyamba, mukuyesera kuphunzira terraforms, ndipo IDE sikukuthandizani konse. Pakakhala zolembedwa, lowani ndikuyang'ana. Koma ngati mukulowetsa chinenero chatsopano, IDE ingakuuzeni kuti pali mtundu wotere, koma palibe chinthu choterocho. Osachepera pa int kapena chingwe msinkhu. Izi nthawi zambiri zimakhala zothandiza.
Nanga mayesowo?
Mumafunsa kuti: "Nanga bwanji mayeso, okonza mapulogalamu?" Anyamata ozama amayesa chilichonse pakupanga, ndipo ndizovuta. Nachi chitsanzo cha mayeso a mayunitsi a gawo la terraform kuchokera patsamba Microsoft.
Iwo ali ndi zolemba zabwino. Ndakhala ndimakonda Microsoft chifukwa cha njira yake yolembera zolemba ndi maphunziro. Koma simukuyenera kukhala amalume Bob kuti mumvetsetse kuti iyi si code yabwino. Onani kutsimikizira kumanja.
Vuto ndi kuyesa kwa unit ndikuti inu ndi ine titha kuwona kulondola kwa zomwe Json adatulutsa. Ndidaponya magawo 5 ndikupatsidwa nsalu ya Json yokhala ndi mizere 2000. Nditha kusanthula zomwe zikuchitika pano, kutsimikizira zotsatira za mayeso...
Ndizovuta kuwerengera Json mu Go. Ndipo muyenera kulemba mu Go, chifukwa terraform mu Go ndi njira yabwino yoyesera muchilankhulo chomwe mumalemba. Bungwe la code palokha ndilofooka kwambiri. Nthawi yomweyo, iyi ndiye laibulale yabwino kwambiri yoyesera.
Microsoft yokha imalemba ma modules ake, kuwayesa motere. Inde ndi Open Source. Zonse zomwe ndikunena mukhoza kubwera kudzakonza. Ndikhoza kukhala pansi ndi kukonza chirichonse mu sabata, gwero lotseguka VS code mapulagini, terraforms, kupanga pulogalamu yowonjezera kwa wokwera. Mwina lembani ma analyzer angapo, onjezani ma linter, perekani laibulale yoyesa. Ndikhoza kuchita zonse. Koma sizomwe ndimayenera kuchita.
Tiyeni tipitirire. Ngati palibe mayeso mu IaC, IDE ndi kukonza ndizoyipa, ndiye kuti payenera kukhala njira zabwino kwambiri. Ndangopita ku Google Analytics ndikufanizira mafunso awiri osakira: Njira zabwino za Terraform ndi njira zabwino za c#.
Kodi tikuwona chiyani? Ziwerengero zopanda chifundo sizikutikomera. Kuchuluka kwa zinthu ndizofanana. Pachitukuko cha C #, timangokhala ndi zinthu zambiri, tili ndi machitidwe abwino kwambiri, pali mabuku olembedwa ndi akatswiri, komanso mabuku olembedwa pamabuku ndi akatswiri ena omwe amatsutsa mabukuwo. Nyanja ya zolemba zovomerezeka, zolemba, maphunziro ophunzitsira, komanso tsopano komanso chitukuko chotseguka.
Ponena za pempho la IaC: apa mukuyesera kutolera zambiri pang'onopang'ono kuchokera pazambiri kapena malipoti a HashiConf, kuchokera pazolembedwa zovomerezeka ndi nkhani zambiri pa Github. Momwe mungagawire ma module awa ambiri, chochita nawo? Zikuwoneka kuti ili ndi vuto lenileni ... Pali anthu ammudzi, njonda, pomwe pafunso lililonse mudzapatsidwa ndemanga za 10 pa Github. Koma siziri ndendende.
Tsoka ilo, panthawiyi, akatswiri akuyamba kuonekera. Ndi ochepa kwambiri mpaka pano. Ndipo anthu ammudzi pawokha akucheza pamlingo wamba.
Kodi zonsezi zikupita kuti ndi choti tichite
Mutha kusiya chilichonse ndikubwerera ku C #, kudziko la okwera. Koma ayi. Mungavutike bwanji kuchita izi ngati simukupeza yankho. Pansipa ndikuwonetsa malingaliro anga okhazikika. Mutha kutsutsana nane mu ndemanga, zidzakhala zosangalatsa.
Ngati china chake chikukula mwachangu, ndiye kuti anthu anzeru adzawonekera omwe angakuuzeni zoyenera kuchita ndi zomwe simuyenera kuchita. Kuwonjezeka kwa kutchuka kumabweretsa mfundo yakuti mwinamwake wina adzakhala ndi nthawi yoti awonjezere plugin ku jsonnet kwa vscode, zomwe zidzakuthandizani kuti mupitirize kukwaniritsa ntchitoyi, m'malo mozifufuza kudzera pa ctrl + shift + f. Pamene zinthu zikusintha, zinthu zambiri zimawonekera. Kutulutsidwa kwa buku kuchokera ku Google lokhudza SRE ndi chitsanzo chabwino kwambiri cha izi.
Pali njira ndi machitidwe opangidwa mu chitukuko chokhazikika chomwe tingagwiritse ntchito bwino apa. Inde, pali ma nuances okhala ndi kuyezetsa komanso malo osasinthika, zida zosakwanira, koma machitidwe ambiri adasonkhanitsidwa omwe angakhale othandiza komanso othandiza.