Kumiririra zvivakwa sekodhi mune inodzokororwa mameseji fomati inzira yakapusa yemasisitimu ayo asingade kutamba nemakonzo. Iyi tsika ine zita -
Kuenzanisa ruzivo neTerraform uye CloudFormation
Ndisati ndauya ku
Terraform Inotyisa
Beta software
Terraform haisati yaburitsa vhezheni 1.0 parizvino, chiri chikonzero chakanaka chekusaishandisa. Zvakachinja zvakanyanya kubva pandakatanga kuzviedza ini, asi kumashure terraform apply
kazhinji yakaputsika mushure mekuvandudzwa kwakati kana mushure memakore mashoma ekushandiswa. Ndingati "zvinhu zvose zvakasiyana ikozvino," asi ... ndizvo izvo munhu wese anoita seanotaura, kwete? Pane shanduko dzisingaenderane neshanduro dzakapfuura, kunyangwe dzakakodzera, uye zvinotonzwa senge syntax uye zvisungo zvezvitoro zvezviwanikwa ndizvo zvatiri kuda. Chiridzwa chacho chinoita kunge chave nani, asi... :-0
Kune rimwe divi, AWS yakaita basa rakanaka kuchengetedza kuenderana kumashure. Izvi zvinodaro nekuti masevhisi avo anowanzo kuedzwa mukati mesangano uye ipapo chete, anotumidzwa zita, anoburitswa. Saka βvakaedza nesimbaβ inyaya yakaderera. Kuchengetedza kuenderana kumashure nemaAPIs ehurongwa hwakasiyana uye hwakaoma seAWS zvakaoma zvikuru. Chero ani aifanira kuchengetedza maAPI eruzhinji anoshandiswa zvakanyanya sezvaari anofanira kunzwisisa kuti zvakaoma sei kuzviita kwemakore mazhinji. Asi maitiro eCloudFormation, mundangariro dzangu, haana kumbobvira achinja nekufamba kwemakore.
Sangana negumbo... ibara
Sekuziva kwangu, bvisa resource kunze CloudFormation stack kubva kune yako CF stack haigoneke. Ndizvo zvimwe chete neTerraform. Iyo inokutendera iwe kupinza zviwanikwa zviripo mustack yako. Basa racho rinogona kunzi rinoshamisa, asi nesimba guru rinouya mutoro mukuru. Iwe unongoda kuwedzera sosi kune stack, uye iwe uchishanda ne stack yako, haugone kudzima kana kushandura sosi iyi. Rimwe zuva zvakaramba. Rimwe zuva paTwitch, mumwe munhu netsaona akapinza boka remumwe munhu rekuchengetedza AWS mune yavo yavo Terraform stack asi kwete kusvika kune chero misikanzwa. Ndakapinda mirairo yakawanda uye ... boka rekuchengetedza (pamwe chete nemigwagwa inouya) yakanyangarika.
Terraform Great
Kudzoreredzwa kubva kumatunhu asina kukwana
Dzimwe nguva CloudFormation inotadza kushandura zvachose kubva kune imwe nyika kuenda kune imwe. Panguva imwecheteyo, achaedza kudzokera kune yakapfuura. Zvinosuruvarisa kuti izvi hazviitike nguva dzose. Zvinogona kunge zvichityisa kugadzirisa zvakaitika gare gare - haumboziva kana CloudFormation ichafara kuti iri kubiwa - kunyangwe kungoigadzirisa. Kana achizokwanisa kudzokera kumamiriro ekare kana kuti kwete, haanyatso kuziva nzira yekuziva uye, nekusagadzika, anorembera kwemaawa achimirira chishamiso.
Terraform, kune rumwe rutivi, inoda kupora kubva kushanduko dzakakundikana zvakanyanya zvine nyasha uye inopa maturusi epamberi ekugadzirisa.
Shanduko dzakajeka kumamiriro ezvinyorwa
βOk, load balancer, uri kuchinja. Asi sei?"
-injiniya ane shungu, akagadzirira kudzvanya bhatani rekuti "gamuchira".
Dzimwe nguva ini ndinofanira kuita mamwe manipulations neanoremedza balancer muCloudFormation stack, sekuwedzera nhamba yechiteshi kana kushandura boka rekuchengetedza. ClouFormation inoratidza shanduko zvisina kunaka. Ini, pamapini netsono, kaviri-tarisa iyo yaml faira kagumi kuti ndive nechokwadi chekuti handina kudzima chero chinhu chakakosha uye handina kuwedzera chero chinhu chisingakoshi.
Terraform inonyanya kujeka mune izvi. Dzimwe nguva anotonyanya kujeka (kuverenga: kufinha). Neraki, iyo yazvino vhezheni inosanganisira yakagadziridzwa kuratidzwa kwekuchinja kuitira kuti iwe uone chaizvo zviri kuchinja.
Flexibility
Nyora software kumashure.
Kuti uzviise pachena, chinonyanya kukosha hunhu hwenguva refu software ndiko kugona kuchinjika kuchinja. Nyora chero software kumashure. Kazhinji ndaikanganisa nekutora sevhisi "yakapusa", ndozotanga kupinza zvese mu CloudFormation kana Terraform stack. Uye zvechokwadi, mwedzi gare gare zvakaratidzwa kuti ndakanga ndanzwisisa zvose zvisiri izvo, uye sevhisi yakanga isiri nyore! Uye zvino ini ndoda kutyora murwi muhombe kuita zvidimbu zvidiki. Paunoshanda ne CloudFormation, izvi zvinogona kuitwa chete nekutanga kudzoreredza iyo iripo stack, uye ini handiite izvi nemadatabase angu. Terraform, kune rumwe rutivi, yakaita kuti zvibvire kutsemura murwi uye kuuputsa kuita zvikamu zvidiki zvinonzwisisika.
Modules mu git
Kugovera kodhi yeTerraform pane akawanda akawanda zviri nyore pane kugovera CloudFormation kodhi. NeTerraform, unogona kuisa kodhi yako mune git repository uye kuiwana uchishandisa semantic vhezheni kutonga. Chero ani anokwanisa kuwana ino repository anogona kushandisa zvakare kodhi yakagovaniswa. CloudFormation yakaenzana iS3, asi haina mabhenefiti akafanana, uye hapana chikonzero nei tichifanira kusiya git tichifarira S3 zvachose.
Sangano rakakura uye kugona kugovera zvitsama zvakaenzana kwakasvika padanho rakakosha. Terraform inoita kuti izvi zvese zvive nyore uye zvakasikwa, nepo CloudFormation ichaita kuti usvetuke nepakati usati wawana chimwe chinhu chakadai chichishanda.
Operations sekodhi
"Ngatinyore uye zvakanaka."
βinjiniya makore matatu asati agadzira bhasikoro reTerraform.
Kana zvasvika pakuvandudza software, Go kana chirongwa cheJava haisi kodhi chete.
Code seCode
Panewo zvivakwa pazviri kushanda.
Zvivakwa seCode
Asi anobva kupi? Nzira yekuiongorora sei? Kodhi yako inogara kupi? Vagadziri vanoda mvumo yekuwana here?
Operations as Code
Kuve mugadziri wesoftware hakungorevi kunyora kodhi.
AWS haisiriyo yega: unogona kushandisa vamwe vanopa. SignalFx, PagerDuty kana Github. Pamwe une yemukati yeJenkins server yeCI/CD kana yemukati Grafana dashboard yekutarisisa. Infra seCode inosarudzwa nekuda kwezvikonzero zvakasiyana, uye imwe neimwe yakakosha zvakaenzana kune zvese zvine chekuita nesoftware.
Pandakashanda kuTwitch, takamhanyisa masevhisi mukati meAmazon yakasanganiswa yakamisikidzwa uye AWS masisitimu. Isu takaburitsa uye takatsigira akawanda mamicroservices, tichiwedzera mari yekushandisa. Hurukuro dzakafamba seizvi:
- Π―: Damn, ndiwo majeti akawanda ekuti overclock one microservice. Ini ndichafanira kushandisa marara aya kugadzira account yeAWS (takaenda kumaakaundi maviri pa microservice), zvino iyi yekumisikidza chenjedzo, iyi yekodhi repository, uye iyi yetsamba ye email, uyezve iyi...
- Tungamira: Ngatizvinyore uye zvakanaka.
- Π―: Zvakanaka, asi script pachayo ichachinja. Tichada nzira yekutarisa kuti ese aya akavakirwa-muAmazon gizmos ari kusvika parizvino.
- Tungamira: Zvinonzwika zvakanaka. Uye isu tichanyora script yeizvi.
- Π―: Hukuru! Uye iyo script ingangove ichiri kuda kuseta paramita. Achazvigamuchira here?
- Tungamira: Ngaatore kwaanoenda!
- Π―: Maitiro anogona kuchinja uye kuenderana kumashure kunorasika. Imwe mhando ye semantic vhezheni kutonga ichadikanwa.
- Tungamira: Pfungwa yakanaka!
- Π―: Zvishandiso zvinogona kuchinjwa nemaoko, mukati memushandisi interface. Tichada nzira yekutarisa nekugadzirisa izvi.
β¦Makore matatu gare gare:
- Tungamira: Uye isu tine terraform.
Hunhu hwenyaya ndeye: kunyangwe iwe musoro pamusoro pezvitsitsinho mune zvese Amazon, iwe uchiri kushandisa chimwe chinhu chisiri kubva kuAWS, uye masevhisi aya ane nyika inoshandisa mutauro wekumisikidza kuchengetedza iyo mamiriro mukuwirirana.
CloudFormation lambda vs git modules terraform
lambda ndiyo CloudFormation mhinduro kune tsika logic nyaya. Ne lambda unogona
Ini ndinorangarira kamwe chete ini ndaida kugadzira canary deployment yeElastic Beanstalk nharaunda ine classic load balancer. Chinhu chiri nyore kuita chingave kugadzira kechipiri kutumirwa kweEB padivi penzvimbo yekugadzira, ichitora danho rinowedzera: kubatanidza auto-scaling canary deployment boka neiyo deployment LB munzvimbo yekugadzira. Uye sezvo Terraform inoshandisa
Inoona kukukurwa zviri nani
Ita shuwa kuti chokwadi chinoenderana nezvinotarisirwa.
NeTerraform iwe une zvakawanda zvemberi zvehupenyu zvikokovonho zvekuona kudonha. Somuenzaniso, iwe unopinda murairo
CDK uye ramangwana re CloudFormation
CloudFormation yakaoma kubata pahombe, mhiri-infrastructure zviyero. Mazhinji ematambudziko aya anozivikanwa uye chishandiso chinoda zvinhu zvakadai
Kuti Terraform irege kuodza mwoyo
Iyi "infrastructure sekodhi", uye kwete "sechinyorwa".
Maonero angu ekutanga eTerraform aive akashata. Ndinofunga ndakanga ndisinganzwisisi nzira yacho. Vanenge vese mainjiniya vanozviona nekusazvibata sechimiro chemavara chinoda kushandurwa kuita chivakwa chinodiwa. USAITA IZVI.
Iwo truisms ezvakanaka kuvandudza software anoshandawo kuTerraform.
Ndakaona maitiro mazhinji akatorwa kugadzira kodhi yakanaka ichifuratirwa muTerraform. Iwe wakadzidza kwemakore kuti uve programmer yakanaka. Usasiye chiitiko ichi nekuda kwekuti uri kushanda neTerraform. Iwo matruisms ekuvandudza software yakanaka anoshanda kune Terraform.
Ko kodhi haigone kunyorwa sei?
Ndakaona mahombe eTerraform asina magwaro zvachose. Iwe unogona sei kunyora kodhi mumapeji - pasina zvachose zvinyorwa? Wedzera zvinyorwa zvinotsanangura yako code Terraform (kusimbisa izwi rekuti "code"), nei chikamu ichi chakakosha, uye zvaunoita.
Tingatumire sei masevhisi aimbove basa guru guru()?
Ndakaona akaomesesa Terraform stacks akaunzwa semodule imwechete. Sei isu tisingatumire software nenzira iyi? Sei tichipatsanura mabasa makuru kuita madiki? Mhinduro dzakafanana dzinoshanda kuTerraform. Kana module yako yakakurisa, iwe unofanirwa kuiputsa kuita madiki module.
Kambani yako haishandisi maraibhurari here?
Ndakaona mainjiniya, achipeta purojekiti nyowani vachishandisa Terraform, neupenzi kukopa-kunamira machunks makuru kubva kune mamwe mapurojekiti kuenda kune avo, ndokuzofunga navo kusvika yatanga kushanda. Iwe ungashanda seizvi ne "combat" kodhi mukambani yako? Hatingoshandisi maraibhurari chete. Ehe,
Hausi kushandisa PEP8 kana gofmt?
Mitauro mizhinji ine yakajairwa, inogamuchirwa fomati chirongwa. MuPython iyi iPEP8. MuGo - gofmt. Terraform ine yayo: terraform fmt
. Nakidzwa nazvo nekuda kwehutano hwako!
Uchashandisa React usingazive JavaScript?
Terraform modules inogona kurerutsa chimwe chikamu chezvakaomarara zvivakwa iwe zvaunogadzira, asi izvi hazvireve kuti haugone kuita nayo zvachose. Unoda kushandisa Terraform nemazvo usinganzwisise zviwanikwa? Iwe wakarangwa: nguva ichapfuura, uye hauzombofa wakagona Terraform.
Uri kunyora ne singletons kana dependency jekiseni?
Dependency jekiseni inzira inozivikanwa yakanakisa yekuvandudza software uye inofarirwa pane singletons. Izvi zvinobatsira sei muTerraform? Ndakaona ma Terraform module anoenderana nenzvimbo iri kure. Panzvimbo pekunyora mamodule anotora kure kure, nyora module inotora paramita. Uye wobva wapfuudza aya ma parameter kune module.
Maraibhurari ako anoita zvinhu gumi zvakanaka here kana chinhu chimwe chete chikuru?
Maraibhurari anoshanda zvakanyanya ndeaya anotarisisa basa rimwe chete ravanoita nemazvo. Panzvimbo pekunyora mahombe eTerraform module anoyedza kuita zvese kamwechete, gadzira zvikamu zvawo zvinoita chinhu chimwe nemazvo. Uye wozobatanidza ivo sezvinodiwa.
Iwe unoita sei shanduko kumaraibhurari pasina kuseri kunoenderana?
Iyo yakajairika Terraform module, senge raibhurari yenguva dzose, inoda neimwe nzira kutaurirana shanduko kune vashandisi pasina kuseri kunoenderana. Zvinogumbura kana shanduko idzi dzikaitika mumaraibhurari, uye zvinongotsamwisa kana shanduko dzisiri dzekudzokera kumashure dzichiitwa muTerraform module. Zvinokurudzirwa kushandisa git tags uye semver paunenge uchishandisa Terraform modules.
Sevhisi yako yekugadzira iri kushanda palaptop yako kana munzvimbo yedata?
Hashicorp ine maturusi akadai
Haunyore ma test?
Mainjiniya anoona kuti kodhi inoda kuyedzwa, asi ivo pachavo vanowanzo kanganwa nezvekuyedzwa kana vachishanda neTerraform. Kune zvivakwa, izvi zvakazara nenguva dzehunyengeri. Zano rangu ndere "kuyedza" kana "kugadzira muenzaniso" masheki uchishandisa ma module anogona kuiswa nemazvo pakuedzwa panguva yeCI / CD.
Terraform uye microservices
Hupenyu nerufu rwemakambani emicroservices zvinoenderana nekumhanya, hunyanzvi, uye kukanganisa kweiyo microservice workstacks.
Iyo inonyanya kuipa yakashata yakabatana ne microservice architectures, uye iyo isingagoni kubviswa, ine hukama nebasa, kwete kodhi. Kana iwe uchifunga nezveTerraform senzira yekungoita otomatiki chete chikamu chezvivakwa cheiyo microservices architecture, saka uri kurasikirwa nemabhenefiti echokwadi ehurongwa. Zvino zvatova
Source: www.habr.com