Ho hlahisa mekhoa ea motheo e le khoutu ka mokhoa o pheta-phetoang oa mongolo ke mokhoa o bonolo oa mekhoa e sa hlokeng ho bapala le litoeba. Mokhoa ona o na le lebitso -
Ho bapisa boiphihlelo le Terraform le CloudFormation
Pele o fihla
Terraform e tšabehang
Software ea Beta
Terraform ha e so ka e lokolla mofuta oa 1.0 hajoale, e leng lebaka le letle la ho se e sebelise. E fetohile haholo ho tloha ha ke qala ho e leka, empa ka nako eo terraform apply
hangata e robeha ka mor'a lisebelisoa tse 'maloa kapa ka mor'a lilemo tse' maloa tsa tšebeliso. Nka re "ntho e 'ngoe le e' ngoe e fapane hona joale," empa ... ke seo bohle ba bonahalang ba se bua, che? Ho na le liphetoho tse sa lumellaneng le liphetolelo tse fetileng, le hoja li nepahetse, 'me ho utloahala eka li-syntax le li-abstractions tsa mabenkele a lisebelisoa ke seo re se hlokang hona joale. Sesebelisoa se bonahala se ntlafetse, empa... :-0
Ka lehlakoreng le leng, AWS e entse mosebetsi o motle ho boloka tšebelisano ea morao. Mohlomong ke hobane lits'ebeletso tsa bona hangata li lekoa ka botlalo ka har'a mokhatlo mme ke feela ka mor'a moo, ho rehoa bocha, ho hatisoa. Kahoo “ba ile ba leka ka matla” ke ho nyenyefatsa. Ho boloka tumellano ea morao-rao le li-API bakeng sa sistimi e fapaneng le e rarahaneng joalo ka AWS ho thata haholo. Mang kapa mang ea kileng a tlameha ho boloka li-API tsa sechaba tse sebelisoang hohle kamoo li leng kateng o lokela ho utloisisa hore na ho thata hakae ho etsa joalo ka lilemo tse ngata. Empa boits'oaro ba CloudFormation, mohopolong oa ka, ha bo so fetohe ho theosa le lilemo.
Kopana le leoto ... ke kulo
Ho ea kamoo ke tsebang, hlakola sesebelisoa motho ya ka ntle CloudFormation stack e tsoang ho CF stack ea hau ha e khonehe. Ho joalo le ka Terraform. E u lumella ho kenya lisebelisoa tse teng ka har'a stack ea hau. Mosebetsi o ka boleloa o hlolla, empa ka matla a maholo ho tla le boikarabelo bo boholo. U hloka feela ho eketsa sesebelisoa ho stack, 'me ha u ntse u sebetsa le stack ea hau, u ke ke ua hlakola kapa ua fetola mohloli ona. Ka letsatsi le leng e ile ea khutla. Ka letsatsi le leng ho Twitch, ka phoso motho e mong o ile a kenya sehlopha sa ts'ireletso sa AWS sa motho e mong ka har'a mekotla ea bona ea Terraform empa a sa etse bobe. Ke ile ka kenya litaelo tse 'maloa' me ... sehlopha sa tšireletso (hammoho le sephethephethe se tlang) se ile sa nyamela.
Terraform e kholo
Ho hlaphoheloa ho tsoa linaheng tse sa phethahalang
Ka linako tse ling CloudFormation e hlōleha ho fetoha ka ho feletseng ho tloha sebakeng se seng ho ea ho se seng. Ka nako e tšoanang, o tla leka ho khutlela ho e fetileng. Ke masoabi hore ebe ha se kamehla sena se ka khonehang. Ho ka tšosa haholo ho lokisa se etsahetseng hamorao - ha u tsebe hore na CloudFormation e tla thabela hore e ntse e utsuoa - leha e le ho e lokisa feela. Hore na ho tla khoneha ho khutlela sebakeng se fetileng kapa che, ha e le hantle ha a tsebe ho tseba, 'me, ka ho sa feleng, o leketla lihora tse ngata a emetse mohlolo.
Terraform, ka lehlakoreng le leng, e batla ho hlaphoheloa ho tsoa liphetohong tse hlōlehileng ka mokhoa o motle le ho fana ka lisebelisoa tse tsoetseng pele tsa ho lokisa liphoso.
Liphetoho tse hlakileng ho boemo ba litokomane
“Ho lokile, selekanyi sa meroalo, o a fetoha. Empa joang?"
- moenjiniere ea tšoenyehileng, o itokiselitse ho tobetsa konopo ea "amohela".
Ka nako e 'ngoe ke hloka ho etsa maqheka ka ho leka-lekanya mojaro ho CloudFormation stack, joalo ka ho eketsa nomoro ea boema-kepe kapa ho fetola sehlopha sa ts'ireletso. ClouFormation e bonts'a liphetoho tse mpe. 'Na, ka lithakhisa le linale, hlahloba habeli file ea yaml ka makhetlo a leshome ho etsa bonnete ba hore ha kea hlakola ntho leha e le efe e hlokahalang le hore ha kea eketsa letho le sa hlokahaleng.
Terraform e hlakile haholoanyane tabeng ena. Ka nako e 'ngoe o na le pepenene haholo (bala: ho khopisa). Ka lehlohonolo, mofuta oa morao-rao o kenyelletsa ponts'o e ntlafalitsoeng ea liphetoho e le hore u ka bona hantle hore na ho fetoha eng.
Ho feto-fetoha le maemo
Ngola software morao.
Ho bua ka mokhoa o hlakileng, tšobotsi ea bohlokoa ka ho fetisisa ea software ea nako e telele ke bokhoni ba ho ikamahanya le liphetoho. Ngola software efe kapa efe morao. Hangata ke ne ke etsa liphoso ka ho nka tšebeletso e "bonolo", ebe ke qala ho kenya ntho e 'ngoe le e' ngoe ka har'a sethala se le seng sa CloudFormation kapa Terraform. 'Me ha e le hantle, likhoeli hamorao ho ile ha senoloa hore ke ne ke utloisisa ntho e' ngoe le e 'ngoe e fosahetseng,' me ha e le hantle tšebeletso e ne e se bonolo! 'Me joale ke hloka ka tsela e itseng ho pshatla stack e kholo ka likaroloana tse nyane. Ha o sebetsa le CloudFormation, sena se ka etsoa feela ka ho qala ho tsosolosa stack e teng, 'me ha ke etse sena ka li-database tsa ka. Ka lehlakoreng le leng, Terraform e ile ea etsa hore ho khonehe ho arola qubu eo le ho e arola likarolo tse nyenyane tse utloisisehang haholoanyane.
Li-module ho git
Ho arolelana khoutu ea Terraform ka har'a mekotla e mengata ho bonolo ho feta ho arolelana khoutu ea CloudFormation. Ka Terraform, o ka kenya khoutu ea hau sebakeng sa polokelo ea git mme oa e fumana o sebelisa taolo ea mofuta oa semantic. Mang kapa mang ea nang le phihlello ea polokelo ena a ka boela a sebelisa khoutu e arolelanoeng. E lekanang le CloudFormation ke S3, empa ha e na melemo e tšoanang, 'me ha ho na lebaka leo ka lona re lokelang ho lahla git molemong oa S3 ho hang.
Mokhatlo o ile oa hola mme bokhoni ba ho arolelana mekoloko e tloaelehileng bo fihlile boemong bo boima. Terraform e etsa hore sena se be bonolo hape se be sa tlhaho, athe CloudFormation e tla etsa hore u tlole ka har'a li-hoops pele u ka fumana ntho e kang ena e sebetsa.
Ts'ebetso e le khoutu
"Ha re e ngole 'me ho lokile."
—moenjiniere lilemo tse 3 pele a qapa baesekele ea Terraform.
Ha ho tluoa ho nts'etsopele ea software, Go kapa lenaneo la Java ha se khoutu feela.
Khoutu joalo ka Khoutu
Ho boetse ho na le lisebelisoa tsa motheo tseo e sebetsang ho tsona.
Lintlafatso joalo ka Khoutu
Empa o tsoa kae? Joang ho e beha leihlo? Khoutu ea hau e lula hokae? Na bahlahisi ba hloka tumello ea ho kena?
Ts'ebetso joalo ka Khoutu
Ho ba moqapi oa software ha ho bolele feela ho ngola khoutu.
AWS ha se eona feela: mohlomong u sebelisa bafani ba bang. SignalFx, PagerDuty kapa Github. Mohlomong u na le seva sa ka hare sa Jenkins bakeng sa CI/CD kapa dashboard ea ka hare ea Grafana bakeng sa ho beha leihlo. Infra as Code e khethoa ka mabaka a fapaneng, 'me e' ngoe le e 'ngoe e bohlokoa ka ho lekana bakeng sa ntho e ngoe le e ngoe e amanang le software.
Ha ke ne ke sebetsa Twitch, re ile ra potlakisa lits'ebeletso ka har'a litsamaiso tse kopaneng tsa Amazon le AWS. Re ile ra tsoa le ho tšehetsa li-microservices tse ngata, ra eketsa litšenyehelo tsa ts'ebetso. Lipuisano li ile tsa tsamaea tjena:
- Я: Damn, ke boitšisinyo bo bongata ho feta microservice e le 'ngoe. Ke tla tlameha ho sebelisa litšila tsena ho theha ak'haonte ea AWS (re ile ra ea ho li-account tse 2 ho ea pele microservice), ebe ena ea ho theha litlhokomeliso, ena bakeng sa polokelo ea khoutu, le ena bakeng sa lethathamo la lengolo-tsoibila, ebe lena...
- Ketapele: Ha re e ngole 'me ho lokile.
- Я: Ho lokile, empa script ka boeona e tla fetoha. Re tla hloka mokhoa oa ho hlahloba hore na li-gizmos tsena tsohle tsa Amazon li ntse li le teng.
- Ketapele: E utloahala e le ntle. 'Me re tla ngola script bakeng sa sena.
- Я: E kholo! 'Me mongolo o ntse o tla hloka ho beha liparamente. Na o tla li amohela?
- Ketapele: A nke moo a eang teng!
- Я: Ts'ebetso e kanna ea fetoha mme ts'ebelisano ea morao e tla lahleha. Mofuta o mong oa taolo ea mofuta oa semantic o tla hlokahala.
- Ketapele: Khopolo e ntle!
- Я: Lisebelisoa li ka fetoloa ka letsoho, ka hare ho sebopeho sa mosebedisi. Re tla hloka mokhoa oa ho hlahloba le ho lokisa sena.
…lilemo tse 3 hamorao:
- Ketapele: 'Me re na le terraform.
Boitšoaro ba pale ke: leha u hlooho holim'a lirethe ho tsohle Amazon, u ntse u sebelisa ho hong ho sa tsoe ho AWS, 'me lits'ebeletso tsena li na le boemo bo sebelisang puo ea tlhophiso ho boloka boemo boo bo lumellana.
CloudFormation lambda vs git modules terraform
lambda ke tharollo ea CloudFormation ho taba ea logic ea moetlo. Ka lambda u ka khona
Ke hopola hang ha ke ne ke batla ho theha sebaka sa canary bakeng sa tikoloho ea Elastic Beanstalk e nang le tekanyo ea khale ea mojaro. Ntho e bonolo ka ho fetisisa eo u ka e etsang e ka ba ho etsa sebaka sa bobeli bakeng sa EB haufi le tikoloho ea tlhahiso, ho nka mohato o mong hape: ho kopanya sehlopha sa ho tsamaisa li-canary tsa auto-scaling le ho kenya LB sebakeng sa tlhahiso. 'Me kaha Terraform e sebelisa
E lemoha ho hoholeha hantle
Etsa bonnete ba hore 'nete e lumellana le litebello.
Ka Terraform u na le lihoko tse tsoetseng pele haholo tsa ho tseba ho hoholeha. Ka mohlala, o kenya taelo
CDK le bokamoso ba CloudFormation
CloudFormation e thata ho e laola ka litekanyo tse kholo, tse fapaneng tsa meaho. Bongata ba mathata ana a lemohuoa mme sesebelisoa se hloka lintho tse joalo
E le hore Terraform e se ke ea soetseha
Sena ke "lisebelisoa joalo ka khoutu", eseng "joalo ka mongolo".
Maikutlo a ka a pele ka Terraform a ne a le mpe haholo. Ke nahana hore ke ne ke sa utloisise mokhoa oo. Hoo e ka bang lienjineri tsohle ka boikhethelo ba e nka e le sebopeho sa mongolo se hlokang ho fetoloa mokhoa oa motheo o lakatsehang. U SE KE UA ETSA KA TSELA ENA.
Lintlha tsa nts'etsopele e ntle ea software le tsona li sebetsa ho Terraform.
Ke bone mekhoa e mengata e amohetsoeng ho theha khoutu e ntle e hlokomolohuoa Terraform. U ithutile ka lilemo tse ngata ho ba moqapi ea hloahloa. Se ke oa tela boiphihlelo bona hobane feela o sebetsa le Terraform. Lintlha tsa ntlafatso e ntle ea software li sebetsa ho Terraform.
Khoutu e ke ke ea ngoloa joang?
Ke bone mekotla e meholo ea Terraform e se nang litokomane ho hang. U ka ngola khoutu joang maqepheng - ntle le litokomane ho hang? Kenya litokomane tse hlalosang boemo ba hau khoutu Terraform (ho hatisoa lentsoe "khoutu"), ke hobane'ng ha karolo ena e le ea bohlokoa, le seo u se etsang.
Re ka sebelisa litšebeletso tseo e kileng ea e-ba mosebetsi o le mong o moholo ()?
Ke bone mekotla e rarahaneng ea Terraform e hlahisoa e le mojule o le mong. Hobaneng re sa sebelise software ka tsela ee? Ke hobane'ng ha re arola mesebetsi e meholo ho e menyenyane? Likarabo tse tšoanang li sebetsa ho Terraform. Haeba mojule oa hau o le moholo haholo, o hloka ho o arola ka li-module tse nyane.
Na k'hamphani ea hau ha e sebelise lilaeborari?
Ke bone kamoo lienjineri, ha ba ntse ba qapa morero o mocha ba sebelisa Terraform, ka booatla ba kopitsa likarolo tse kholo tsa merero e meng ho ea ho tsa bona, ba ntan'o ts'oana le tsona ho fihlela e qala ho sebetsa. O ka sebetsa tjena ka khoutu ea "combat" k'hamphaning ea hau? Ha re sebelise lilaeborari feela. Ee,
Na ha u sebelise PEP8 kapa gofmt?
Lipuo tse ngata li na le mokhoa o tloaelehileng, o amohelehang oa ho fometa. Ho Python ena ke PEP8. Ho Go - gofmt. Terraform e na le ea eona: terraform fmt
. E thabele bakeng sa bophelo bo botle ba hau!
A na u tla sebelisa React u sa tsebe JavaScript?
Li-module tsa Terraform li ka nolofatsa karolo e 'ngoe ea meaho e rarahaneng eo u e thehang, empa sena ha se bolele hore u ke ke ua khona ho sebetsana le eona ho hang. U batla ho sebelisa Terraform ka nepo ntle le ho utloisisa lisebelisoa? U ahlotsoe: nako e tla feta, 'me ha ho mohla u tla tseba Terraform.
A na u khouta ka li-singletons kapa ente ea ho itšetleha?
Ente ea ho itšetleha ke mokhoa o tsebahalang haholo bakeng sa nts'etsopele ea software mme o khethoa ho feta li-singletons. See se thusa joang ho Terraform? Ke bone li-module tsa Terraform tse itšetlehileng ka boemo bo hole. Sebakeng sa ho ngola li-module tse khutlisetsang boemo bo hole, ngola mojule o nkang paramente. Ebe u fetisetsa li-parameter tsena ho module.
Na lilaebrari tsa hau li etsa lintho tse leshome hantle kapa ntho e le 'ngoe e ntle?
Lilaebrari tse sebetsang hantle haholo ke tse shebaneng le mosebetsi o le mong oo li o etsang hantle haholo. Ho e-na le ho ngola li-module tse kholo tsa Terraform tse lekang ho etsa ntho e 'ngoe le e' ngoe ka nako e le 'ngoe, haha likarolo tsa tsona tse etsang ntho e le' ngoe hantle. Ebe u li kopanya ha ho hlokahala.
U etsa liphetoho joang ho lilaebrari ntle le litšebelisano tsa morao-rao?
Mojule o tloaelehileng oa Terraform, joalo ka laeborari e tloaelehileng, o hloka ho bua ka liphetoho ho basebelisi ntle le ho ts'oara morao. Hoa khopisa ha liphetoho tsena li etsahala lilaeboraring, 'me hoa khopisa ha ho etsoa liphetoho tse sa lumellaneng le morao-rao ho li-module tsa Terraform. Ho khothalletsoa ho sebelisa li-tag tsa git le semver ha u sebelisa li-module tsa Terraform.
Na tšebeletso ea hau ea tlhahiso e sebetsa ho laptop ea hau kapa setsing sa data?
Hashicorp e na le lisebelisoa tse kang
Ha u ngole liteko?
Baenjiniere ba hlokomela hore khoutu e hloka ho hlahlojoa, empa bona ka bobona ba atisa ho lebala ka tlhahlobo ha ba sebetsa le Terraform. Bakeng sa lisebelisoa tsa motheo, sena se tletse linako tsa bolotsana. Keletso ea ka ke ho "leka" kapa "etsa mohlala" li-stack ho sebelisa li-module tse ka sebelisoang ka nepo bakeng sa tlhahlobo nakong ea CI / CD.
Terraform le microservices
Bophelo le lefu la lik'hamphani tsa microservices li itšetlehile ka lebelo, boqapi le tšitiso ea li-workstacks tse ncha tsa microservice.
Ntho e tloaelehileng ka ho fetisisa e mpe e amanang le meralo ea microservice, 'me e ke keng ea felisoa, e amana le mosebetsi, eseng khoutu. Haeba u nahana ka Terraform e le mokhoa feela oa ho iketsetsa feela lehlakore la meaho ea meralo ea li-microservices, joale u fetoa ke melemo ea 'nete ea sistimi. Jwale e se e le teng
Source: www.habr.com