Skip to content
Infrastruktūra

Terraform moduliai ar vienkartiniai debesijos scenarijai

Kada daugkartinio naudojimo moduliai atsiperka ir kada sąžiningesnis pasirinkimas yra vienas sutelktas rinkinys

2025 m. birželio 10 d.
Manweba

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

hcl
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

hcl
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.

Norite, kad jūsų produktas būtų toks pat apgalvotas?