Terraform moduliai ar vienkartiniai debesijos scenarijai
Kada daugkartinio naudojimo moduliai atsiperka ir kada sąžiningesnis pasirinkimas yra vienas sutelktas rinkinys
Debesijos automatizacija žlunga dviem priešingais būdais: arba turite aplanką vienkartinių scenarijų, kurių niekas nedrįsta liesti, arba universalų modulių medį, tokį abstraktų, kad potinklio pakeitimas užtrunka savaitę. Visas menas – suprasti, kuri forma tinka jūsų problemai.
Kam iš tikrųjų skirtas vienkartinis scenarijus
Sutelktas Terraform šaknies aplankas (ar keli) nėra nuodėmė. Jis sąžiningas, kai aplinka unikali, komanda maža, o pakartotinio naudojimo keliama rizika didesnė nei dubliavimo kaina.
Scenarijai atsiperka, kai užrašo žinomą kelią: sukurk tokį VPC, prijunk tokią politiką, sujunk tokį įspėjimą. Jie žlunga tada, kai kiekviena aplinka tyliai išsiskiria, o niekas tų atšakų nebeatnaujina.
Sutelktas šaknies aplankas su aiškiais įėjimais
Loading code…Kada moduliai pradeda atsipirkti
Modulį išskirkite, kai tą patį kontraktą pakartojote bent du kartus ir įėjimai išliko stabilūs. Modulį versijuokite. Aprašykite, kokie išėjimai privalomi. Atsisakykite sąsajų, kuriose viskas neprivaloma, o pusė AWS API paslėpta už loginių jungiklių labirinto.
Geri moduliai užrašo sprendimus: privatu pagal nutylėjimą, privalomos žymos, priverstinis šifravimas. Jie turi nuomonę sąmoningai. Ploni apvalkalai, kurie tik pervadina argumentus, prideda ceremonijų, bet ne saugumo.
Tinklo modulio sąsaja su aiškia nuomone
Loading code…Kompozicija geriau už megamodulius
Rinkitės kelių mažų modulių (tinklas, duomenų saugykla, skaičiavimai, pakraštys) kompoziciją, o ne vieną megamodulį, pastatantį visą įmonę. Kompozicija galimos žalos mastą palieka vietinį, o peržiūrimus pakeitimus – įskaitomus.
Modulius į bendrą naudojimą kelkite tik tada, kai antroji aplinka įrodys sąsajos tinkamumą. Iki tol laikykite kodą toje pačioje saugykloje kaip ir šaknį: per anksti supakuotas modulis yra tiesiausias kelias į versijų pragarą dar neturint produkto.
Apsaugos, kurias scenarijai dažnai praleidžia
Nesvarbu, ar naudojate modulius, ar vieną sutelktą šaknį – įdiekite tuos pačius neginčijamus dalykus: nuotolinę būseną su užraktais, plano generavimą CI, pakeitimų taikymą tik iš kontroliuojamo kelio ir politikų tikrinimą plane. Ginčas dėl modulių jų nebuvimo nepateisina.
Apibendrinimas
Pradėkite nuo konkretaus. Modulius išskirkite tada, kai tai pateisina pasikartojimas ir rizika. Sąsajos tegul turi aiškią nuomonę, kompozicijos lieka mažos, o CI tebūna ta vieta, kur blogi planai žūva dar netapę infrastruktūra.
Susiję straipsniai
Stebėsena mažoms produkto komandoms
Pėdsakai, metrikos ir įspėjimai pagal komandą, kuri vis dar kas savaitę išleidžia naujas funkcijas
CI patikros, kurios sustabdo blogus diegimus
Tegul CI patikros sąmoningai sustabdo blogus diegimus – kol produkcija netampa pirmuoju tikrintoju
Norite, kad jūsų produktas būtų toks pat apgalvotas?