Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Dad badan ayaa yaqaan oo u isticmaala Terraform shaqadooda maalinlaha ah, laakiin hababka ugu wanaagsan ee loogu talagalay weli lama samayn. Koox kastaa waa inay hindisataa habab iyo habab u gaar ah.

Kaabayaashaada ayaa hubaal ah inay si fudud ku bilowdaan: dhowr ilo + dhowr horumariye. Waqti ka dib, waxay u koraan dhammaan noocyada jihooyinka. Ma helaysaa habab aad agabka ugu ururiso qaybaha Terraform, u habayso koodhka galka, iyo maxaa kale oo suurtogal ah inay khaldamaan? (ereyada ugu dambeeya ee caanka ah)

Waqtigu wuu dhaafaa oo waxaad dareemaysaa in kaabayaashaagu yahay xayawaankaaga cusub, laakiin waa maxay sababta? Waxaad ka welwelsan tahay isbeddellada aan la macnayn karin ee kaabayaasha, waxaad ka baqaysaa inaad taabato kaabayaasha iyo koodka - natiijada, waxaad dib u dhigaysaa shaqeyn cusub ama aad yareyso tayada ...

Ka dib seddex sano oo la maamulayay ururinta qaybaha bulshada ee Terraform ee AWS ee Github iyo dayactirka muddada dheer ee Terraform ee wax soo saarka, Anton Babenko wuxuu diyaar u yahay inuu la wadaago waayo-aragnimadiisa: sida loo qoro qaybaha TF si aysan u dhaawacmin mustaqbalka.

Dhammaadka hadalka, ka qaybgalayaashu waxay aad u baran doonaan mabaadi'da maareynta kheyraadka ee Terraform, hababka ugu fiican ee la xidhiidha cutubyada Terraform, iyo qaar ka mid ah mabaadi'da isdhexgalka joogtada ah ee la xidhiidha maareynta kaabayaasha.

Afeef: Waxaan ogsoonahay in warbixintani ay ku taariikhaysan tahay Noofambar 2018-2 sano ayaa ka soo wareegtay. Nooca Terraform 0.11 ee lagaga hadlay warbixinta hadda lama taageero. Labadii sano ee la soo dhaafay, 2 sii deyn oo cusub ayaa la sii daayay, kuwaas oo ka kooban waxyaabo badan oo cusub, horumarin iyo isbeddel. Fadlan u fiirso tan oo hubi dukumentiyada.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Tixraacyada:

Magacaygu waa Anton Babenko. Malaha qaarkiin ayaa isticmaalay koodka aan qoray. Hadda waxaan arrintan uga hadli doonaa si ka kalsooni badan sidii hore, sababtoo ah waxaan heli karaa tirakoob.

Waxaan ka shaqeeyaa Terraform oo waxaan ahaa ka-qaybgale firfircoon oo wax ku biiriya tiro badan oo mashruucyo il furan oo la xidhiidha Terraform iyo Amazon ilaa 2015.

Tan iyo markaas waxaan qoray kood ku filan si aan u dhigo hab xiiso leh. Oo waxaan isku dayi doonaa inaan hadda kaaga sheego arrintan.

Waxaan ka hadli doonaa qallafsanaanta iyo waxyaabaha gaarka ah ee la shaqeynta Terraform. Laakiin taasi runtii maaha mawduuca HighLoad. Oo hadda waad fahmi doontaa sababta.

Muddo ka dib, waxaan bilaabay qorista cutubyada Terraform. Isticmaalayaasha ayaa qoray su'aalo, dib ayaan u qoray. Kadibna waxaan qoray adeegyo kala duwan si aan u qaabeeyo koodka anigoo isticmaalaya jillaab hore u go'aamiyay, iwm.

Waxaa jiray mashaariic badan oo xiiso leh. Waxaan jeclahay jiilka koodka sababtoo ah waxaan jeclahay kombuyuutarku inuu u qabto shaqo badan oo aniga iyo barnaamijka sameeya, markaa waxaan hadda ka shaqeynayaa koronto-dhaliyaha Terraform code-ka jaantusyada muuqaalka ah. Malaha qaarkiin waad aragteen. Kuwani waa sanduuqyo qurux badan oo leh fallaadho. Oo waxaan u maleynayaa inay aad u fiican tahay haddii aad riixi karto "Dhoofinta" badhanka oo aad u hesho dhammaan sida code.

Waxaan ka imid Ukraine Waxaan Norway ku noolaa sanado badan.

Sidoo kale, macluumaadka warbixintan waxaa laga soo ururiyay dadka magacayga yaqaan oo iga helay shabakadaha bulshada. Had iyo jeer waxaan leeyahay naanays isku mid ah.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

https://github.com/terraform-aws-modules
https://registry.terraform.io/namespaces/terraform-aws-modules

Sida aan soo sheegay, waxaan ahay ilaaliyeha ugu weyn ee Terraform AWS modules, kaas oo ah mid ka mid ah kaydka ugu weyn ee GitHub halkaas oo aan ku martigelinno cutubyada hawlaha ugu caansan: VPC, Autoscaling, RDS.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Oo waxa aad hadda maqashay ayaa ugu aasaasiga ah. Haddii aad ka shakisan tahay inaad fahamtay waxa Terraform yahay, markaa way fiicantahay inaad waqti ku qaadato meel kale. Waxaa jiri doona shuruudo badan oo farsamo halkan. Mana aan ka waaban inaan ku dhawaaqo heerka warbixinta inuu yahay kii ugu sarreeyay. Tani waxay ka dhigan tahay in aan ku hadli karo dhammaan shuruudaha suurtagalka ah iyada oo aan wax sharraxaad ah lahayn.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Terraform wuxuu soo muuqday 2014 sidii utility kuu ogolaanaya inaad qorto, qorshayso oo aad maamusho kaabayaasha kood ahaan. Fikradda ugu muhiimsan halkan waa "kaabayaasha sida code."

Dhammaan dukumeentiyada, sidaan idhi, way ku qoran yihiin terraform.io. Waxaan rajeynayaa in dadka badankiis ay ogaadaan goobtan oo ay akhriyeen dukumeentiyada. Hadday sidaas tahay, markaa waxaad joogtaa meesha saxda ah.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Tani waa sida faylka qaabeynta Terraform-ka caadiga ah uu u eg yahay, halkaas oo aan marka hore qeexno doorsoomayaasha qaarkood.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Xaaladdan oo kale waxaan ku qeexnay "aws_gobolka".

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Kadibna waxaan ku qeexnaa waxa kheyraadka aan rabno inaan abuurno.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Waxaan wadnaa amarada qaar, gaar ahaan "terraform init" si aan ugu shubno ku-tiirsanaanta iyo bixiyeyaasha.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Oo waxaan wadnaa amarka "terraform apply" si loo hubiyo in qaabeynta la cayimay ay la mid tahay kheyraadka aan abuurnay. Maadaama aynaan horay u abuurin wax, Terraform waxay nagu dhiirigelisaa inaan abuurno ilahan.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Waxaan xaqiijineynaa tan. Markaa waxaan abuurnaa baaldi loo yaqaanno cidiyaha badda.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Waxa kale oo jira adeegyo badan oo la mid ah. Qaar badan oo idinka mid ah oo isticmaala Amazon waxay yaqaaniin AWS CloudFormation ama Google Cloud Deployment Manager ama Maareeyaha Khayraadka Azure. Mid kasta oo iyaga ka mid ah waxa uu leeyahay hirgelintiisa nooc ka mid ah si loo maareeyo ilaha mid kasta oo ka mid ah bixiyayaasha daruuraha dadweynaha. Terraform ayaa si gaar ah faa'iido u leh sababtoo ah waxay kuu ogolaaneysaa inaad maamusho in ka badan 100 bixiye. (Faah faahin dheeraad ah halkan)

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Hadafyada ay Terraform higsanaysay bilowgii hore:

  • Terraform wuxuu bixiyaa hal aragti oo kheyraad ah.
  • Ku ogolaanayaa inaad taageerto dhammaan aaladaha casriga ah.
  • Terraform-na waxa loo nashqadeeyay bilowgii hore sidii qalab kuu ogolaanaya inaad beddesho kaabayaasha si badbaado leh oo la saadaalin karo.

Sannadkii 2014, ereyga "la saadaalin karo" wuxuu u ekaa mid aan caadi ahayn marka la eego macnaha guud.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Terraform waa utility caalami ah. Haddii aad leedahay API, markaa waxaad xakameyn kartaa gabi ahaanba wax walba:

  • Waxaad isticmaali kartaa in ka badan 120 bixiye si aad u maamusho wax kasta oo aad rabto.
  • Tusaale ahaan, waxaad isticmaali kartaa Terraform si aad u sharaxdo gelitaanka meelaha GitHub.
  • Xataa waxaad ku abuuri kartaa oo aad xidhi kartaa cayayaanka gudaha Jira.
  • Waxaad maamuli kartaa cabbirada Relic New
  • Xitaa waxaad ku abuuri kartaa faylal sanduuqa dhibcaha haddii aad runtii rabto.

Waxaas oo dhan waxaa lagu gaaraa iyadoo la adeegsanayo bixiyeyaasha Terraform, kuwaas oo leh API furan oo lagu tilmaami karo Go.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Aynu nidhaahno waxaan bilownay adeegsiga Terraform, dukumeenti ka akhriyay goobta, daawanay xoogaa fiidiyoow ah, oo aan bilownay qorista main.tf, sidaan ku muujiyay bogaga hore.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Wax walbana waa weyn yihiin, waxaad haysataa fayl abuura VPC.

Haddii aad rabto inaad abuurto VPC, markaa waxaad cayimaysaa qiyaastii 12kan sadar. Sharaxaad ka bixi gobolka aad rabto inaad ka abuurto, cidr_block ee ciwaanka IP-ga si aad u isticmaasho. Waa intaas.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Dabcan, mashruucu si tartiib tartiib ah ayuu u kori doonaa.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Oo waxaad ku dari doontaa farabadan waxyaabo cusub halkaas: ilaha, ilaha xogta, waxaad ku dhex milmi doontaa bixiyeyaasha cusub, si lama filaan ah waxaad u baahan doontaa inaad isticmaasho Terraform si aad u maamusho isticmaalayaasha xisaabtaada GitHub, iwm. Waxaa laga yaabaa inaad rabto inaad isticmaasho noocyo kala duwan Bixiyeyaasha DNS, ka gudub wax walba. Terraform ayaa tan ka dhigaysa mid fudud.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Aynu eegno tusaalaha soo socda.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Waxaad si tartiib tartiib ah ugu darsataa internet_gateway sababtoo ah waxaad ka rabtaa ilaha VPC gaaga si aad u hesho internet. Tani waa fikrad wanaagsan.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Natiijadu waa tan main.tf:

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Tani waa qaybta ugu sareysa ee main.tf.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Tani waa qaybta hoose ee main.tf.

Kadib waxaad ku dari kartaa subnet. Marka aad rabto in aad ku darto NAT gateways, waddooyin, miisaska hagidda iyo farabadan ee subnets kale, ma lahaan doontid 38 sadar, laakiin qiyaastii 200-300 xariiq.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Taasi waa, faylkaaga main.tf si tartiib tartiib ah ayuu u korayaa. Badana dadku waxay wax walba ku ridaan hal fayl. 10-20 Kb ayaa ka muuqda main.tf. Bal qiyaas in 10-20 Kb ay ka kooban tahay qoraal. Wax walbana waxay ku xiran yihiin wax walba. Tani si tartiib tartiib ah ayey u adkaaneysaa in lagu shaqeeyo. 10-20 Kb waa kiis isticmaale oo wanaagsan, mararka qaarkoodna ka badan. Dadkuna mar walba uma malaynayaan in tani ay xun tahay.

Sida barnaamijyada caadiga ah, ie. ma aha kaabayaasha sida code, waxaan loo isticmaalaa in aan isticmaalo farabadan oo ka mid ah fasallo kala duwan, baakadaha, modules, kooxaynta. Terraform wuxuu kuu ogolaanayaa inaad sameyso wax badan oo isku mid ah.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

  • Koodhku wuu sii kordhayaa.
  • Ku-tiirsanaanta u dhexeeya kheyraadka ayaa sidoo kale sii kordhaya.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Waxaana leennahay baahi weyn oo weyn. Waxaan fahamsanahay inaanan sidan ku sii noolaan karin. Xeerkayagu wuxuu noqonayaa mid aad u weyn. 10-20 Kb, dabcan, ma ahan mid aad u ballaaran, laakiin waxaan ka hadleynaa oo kaliya xirmooyinka shabakada, tusaale ahaan waxaad ku dartay oo kaliya ilaha shabakada. Kama hadlayno Hadhaaga Culayska Codsiga, Kutlada ES, Kubernetes, iwm., halkaas oo 100 Kb si fudud loogu tidcan karo. Haddii aad qorto waxaas oo dhan, waxaad dhawaan baran doontaa in Terraform ay bixiso cutubyada Terraform.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Qaybaha Terraform-ka waa qaabaynta Terraform-ka is-ka kooban oo loo maareeyo koox ahaan. Taasi waa waxa kaliya ee aad u baahan tahay inaad ka ogaato qaybaha Terraform. Iyagu maaha kuwo caqli-gal ah haba yaraatee, kuuma oggola inaad samayso xidhiidh adag oo ku xidhan shay. Dhammaan tani waxay ku dhacdaa garbaha horumariyeyaasha. Taasi waa, kani waa nooc ka mid ah qaabaynta Terraform oo aad hore u qortay. Waxaadna si fudud ugu wici kartaa koox ahaan.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Marka waxaan isku dayeynaa inaan fahanno sida aan u wanaajino 10-20-30 Kb ee koodkayaga. Waxaan si tartiib tartiib ah u ogaanay inaan u baahanahay inaan isticmaalno cutubyada qaarkood.

Nooca koowaad ee cutubyada aad la kulanto waa modules kheyraadka. Ma fahmayaan waxa kaabayaashaagu ku saabsan yahay, waxa ganacsigaagu ku saabsan yahay, meesha iyo waxa shuruudaha ku jira. Kuwani waa cutubyada aan, oo ay weheliyaan bulshada isha furan, maamulo, oo aan u soo bandhignay sidii dhismihii ugu horreeyay ee kaabayaashaaga.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Tusaale ahaan moduleka kheyraadka.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Marka aan u yeerno moduleka kheyraadka, waxaan cadeyneynaa dariiqa aan ka soo rareyno waxa ku jira.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Waxaan tilmaamaynaa nooca aan rabno inaan soo dejinno.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Waxaan halkaas ku dhaafinnaa doodo badan. Waa intaas. Taasi waa waxa kaliya ee aan u baahanahay inaan ogaano marka aan isticmaaleyno cutubkan.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Dad badan ayaa u maleynaya in haddii ay isticmaalaan nuqulkii ugu dambeeyay, wax walbaa waxay noqon doonaan kuwo xasilloon. Laakiin maya. Kaabayaasha dhaqaalaha waa in la qaabeeyey, waa in aan si cad uga jawaabnaa nooca kan ama qaybtaas la geeyey.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Waa kan koodka ku jira cutubkan. Kooxda amniga. Halkan waxaa ku qoran liiska 640aad. Abuuritaanka kheyraadka badbaadada-croup ee Amazon qaab kasta oo suurtagal ah waa hawl aan fududayn. Kuma filna inaad si fudud u abuurto koox ammaan oo aad u sheegto sharciyada loo gudbiyo. Waxay noqon lahayd mid aad u fudud. Waxaa jira hal milyan oo xayiraad oo kala duwan gudaha Amazon. Tusaale ahaan, haddii aad isticmaasho VPC dhamaadka, liiska horgalayaasha, APIs kala duwan oo isku dayaya in uu isku daro waxaas oo dhan wax kasta oo kale, ka dibna Terraform kuma ogola inaad tan sameyso. Amazon API-ga ma ogola middaan sidoo kale. Sidaa darteed, waxaan u baahanahay inaan ku qarsano dhammaan caqli-galnimadan xun ee moduleka oo aan siino koodka isticmaalaha oo u eg sidan oo kale.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Isticmaaluhu uma baahna inuu ogaado sida loogu sameeyo gudaha.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Nooca labaad ee cutubyada, oo ka kooban qaybaha kheyraadka, ayaa horeyba u xalliya dhibaatooyinka ku habboon ganacsigaaga. Inta badan tani waa meel u ah kordhinta Terraform oo dejisa qaar ka mid ah qiyamka adag ee calaamadaha, heerarka shirkadda. Waxa kale oo aad ku dari kartaa shaqeynta halkaas oo Terraform aanu hadda kuu oggolaan inaad isticmaasho. Tani waa hadda. Hadda nooca 0.11, kaas oo noqon doona wax la soo dhaafay. Laakiin weli, horudhacayaasha, jsonnet, cookiecutter iyo farabadan oo kale ayaa ah habka kaaliyaha ee ay tahay in loo isticmaalo shaqo buuxda.

Marka xigta waxaan tusi doonaa tusaaleyaal tan ah.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Habka kaabayaasha waxaa loo yaqaan si isku mid ah.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Meesha laga soo dejiyo waxa ku jira waa la tilmaamay.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Tiro badan oo qiyam ah ayaa la soo dhex mariyey oo loo gudbiyaa cutubkan.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Marka xigta, gudaha cutubkan, qaybo badan oo agab ah ayaa loogu yeedhayaa inay abuuraan VPC ama Balancer Load Application, ama inay abuuraan koox-ammaanka ama kooxda Adeegga Kontaynarada Elastic.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Waxaa jira laba nooc oo modules ah. Tani waa muhiim in la fahmo sababtoo ah inta badan macluumaadka aan ku ururiyay warbixintan kuma qorna warqadaha.

Iyo dukumeentiyada ku jira Terraform hadda waa dhib badan sababtoo ah waxay dhahayaan waxaa jira sifooyinkan, waad isticmaali kartaa. Laakiin ma sheegto sida loo isticmaalo sifooyinkan, sababta ay u fiican tahay in la isticmaalo. Sidaa darteed, dad aad u tiro badan ayaa qoraa wax aysan la noolaan karin.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Aynu eegno sida loo qoro cutubyada soo socda. Kadib waxaan arki doonaa sida loo waco iyo sida loogu shaqeeyo koodka.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Diiwaanka Terraform - https://registry.terraform.io/

Talada #0 waa inaadan qorin qaybaha agabka. Inta badan cutubyadan horeba adigaa loogu qoray. Sida aan idhi, waa ilo furan, kuma jiraan wax macquul ah ganacsigaaga, ma haystaan ​​​​qiyam adag oo loogu talagalay cinwaannada IP-yada, furaha sirta ah, iwm. Moduleku waa mid aad u dabacsan. Waxayna u badan tahay in mar hore la qoray. Waxaa jira qaybo badan oo loogu talagalay ilaha Amazon. Qiyaastii 650. Badankooduna waa tayo wanaagsan.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Tusaalahan, qof ayaa kuu yimid oo ku yidhi, “Waxaan rabaa in aan awoodo in aan maamulo kaydka xogta. Abuur module si aan u sameeyo xog-ururin." Qofku ma garanayo tafaasiisha fulinta midkood Amazon ama Terraform. Wuxuu si fudud u leeyahay: "Waxaan rabaa inaan maamulo MSSQL." Taasi waa, waxaan ula jeednaa in ay soo wici doonto modulekayaga, dhaafi doonta nooca injiinka halkaas, oo ay muujin doonto aagga wakhtiga.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Qofna waa inuusan ogaanin inaan ku abuuri doono laba ilo oo kala duwan gudaha cutubkan: mid MSSQL ah, kan labaadna wax kasta oo kale, kaliya sababtoo ah Terraform 0.11 ma cayimi kartid qiyamka aagagga waqtiga ikhtiyaariga ah.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Marka laga baxo cutubkan, qofku wuxuu awoodi doonaa inuu si fudud u helo cinwaan. Isagu ma ogaan doono database-ka, khayraadka aan ka abuureyno waxaas oo dhan gudaha. Tani waa shay aad muhiim u ah qarinta. Tanina ma khusayso oo keliya cutubyada dadweynaha ee il furan, laakiin sidoo kale cutubyada aad ku qori doonto gudaha mashaariicdaada iyo kooxahaaga.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Tani waa doodda labaad, taas oo aad muhiim u ah haddii aad isticmaalaysay Terraform in muddo ah. Waxaad haysataa meel kayd ah oo aad ku dhejisay dhammaan qaybahaaga Terraform ee shirkaddaada. Waana wax iska caadi ah in muddo ka dib uu mashruucani kori doono cabbir dhan hal ama laba megabyte. Tani way fiican tahay.

Laakiin dhibaatadu waa sida Terraform ugu yeero cutubyadan. Tusaale ahaan, haddii aad wacdo cutub si aad u abuurto isticmaale kasta, Terraform ayaa marka hore ku shubi doona kaydka oo dhan ka dibna u sii socon doona galka meesha uu modulekaas gaarka ahi ku yaal. Sidan waxaad soo dejisan doontaa hal megabyte mar kasta. Haddii aad maamusho 100 ama 200 isticmaale, markaa waxaad soo dejisan doontaa 100 ama 200 megabytes, ka dibna aad geli doonta galkaas. Markaa si dabiici ah ma rabto inaad soo dejiso waxyaabo badan mar kasta oo aad garaacdo "Terraform init".

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

https://github.com/mbtproject/mbt

Waxaa jira laba xal oo dhibaatadan. Marka hore waa in la isticmaalo dariiqyo qaraabo ah. Sidan waxaad ku tusaysaa koodka in galku yahay mid maxali ah (./). Kahor intaadan bilaabin wax, waxaad samaynaysaa Git clone ee kaydkan gudaha. Sidan ayaad hal mar u samaynaysaa.

Waxaa jira, dabcan, waxyaabo badan oo hoos u dhac ah. Tusaale ahaan, ma isticmaali kartid versioning. Tanina mararka qaarkood way adag tahay in lala noolaado.

Xalka labaad. Haddii aad leedahay submodules badan oo aad hore u leedahay nooc ka mid ah dhuumaha la aasaasay, markaa waxaa jira mashruuca MBT, kaas oo kuu ogolaanaya inaad ka soo ururiso baakado badan oo kala duwan oo ka mid ah monorepository oo aad ku dhejiso S3. Tani waa hab aad u wanaagsan. Sidaa darteed, faylka iam-user-1.0.0.zip wuxuu miisaamayaa kaliya 1 Kb, sababtoo ah koodhka si loo abuuro kheyraadkan waa mid aad u yar. Waxayna u shaqayn doontaa si dhakhso badan.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Aynu ka hadalno waxa aan loo isticmaali karin modules.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Waa maxay sababta ay tani xumaan ugu tahay modules? Waxa ugu xun waa in la qaato isticmaale. Ka soo qaad isticmaaluhu inuu yahay ikhtiyaarka xaqiijinta bixiyaha oo ay isticmaali karaan dad kala duwan. Tusaale ahaan, dhammaanteen waxaan ku milmi doonnaa doorka. Tani waxay ka dhigan tahay in Terraform uu qaadan doono doorkan. Ka dibna doorkan waxay sameyn doontaa ficillo kale.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Xumaantuna waa in haddii Vasya uu jecel yahay inuu ku xidho Amazon hal qaab, tusaale ahaan, adoo isticmaalaya doorsoomiyaha deegaanka ee caadiga ah, Petya wuxuu jecel yahay inuu isticmaalo furihiisa la wadaago, kaas oo uu ku leeyahay meel qarsoodi ah, markaa ma sheegi kartid labadaba Terraform Oo si ayan u la kulmin silica, looma baahna in lagu muujiyo block this moduleka. Tani waa in lagu tilmaamaa heer sare. Taasi waa, waxaan leenahay module khayraadka, module kaabayaasha iyo halabuurka korka. Taasna waa in lagu tilmaamaa meel sare.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Xumaanta labaadna waa arsaaqeeye. Halkan xumaantu maaha mid fudud, sababtoo ah haddii aad qorto koodka oo uu kuu shaqeeyo, markaa waxaad u maleyneysaa in haddii uu shaqeeyo, markaa maxaad u beddeshaa.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Xumaanta ayaa ah inaadan had iyo jeer xakamaynayn marka bixiyahan la bilaabayo, marka hore. Marka labaadna, ma xakamaynaysid waxa aws ec2 ka dhigan yahay, i.e. miyaan ka hadlaynaa Linux ama Windows hadda. Markaa ma qori kartid wax si isku mid ah uga shaqayn doona nidaamyada hawlgalka ee kala duwan ama kiisaska isticmaale ee kala duwan.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Tusaalaha ugu caansan, kaas oo sidoo kale lagu tilmaamay dukumeenti rasmi ah, waa haddii aad qorto aws_instance oo aad qeexdo farabadan doodo, markaa wax qalad ah kuma jiraan taas haddii aad ku qeexdo bixiye "maxalli-exec" halkaas oo aad maamusho macquul- buuga ciyaarta .

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Dhab ahaantii, haa, ma jiraan wax khalad ah taas. Laakiin dhab ahaantii ugu dhakhsaha badan waxaad ogaan doontaa in sheygan maxalliga ah-exec uusan ka jirin, tusaale ahaan, launch_configuration.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Oo marka aad isticmaasho launch_configuration, oo aad rabto in aad ka abuurto koox autoscaling hal tusaale, ka dibna in launch_configuration ma jiro fikrad ah "bixiye". Waxaa jira fikradda "xogta isticmaalaha".

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Sidaa darteed, xal caalami ah oo dheeraad ah ayaa ah in la isticmaalo xogta isticmaalaha. Oo waxaa lagu bilaabi doonaa midkood tusaale ahaan laftiisa, marka tusaale ahaan la shido, ama isla xogta isticmaalaha, marka kooxda autoscaling ay isticmaasho launch_configuration.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Haddii aad wali rabto inaad maamusho bixiyaha, sababtoo ah waa qayb isku dhejisan, marka hal kheyraad la abuuro, wakhtigaas waxaad u baahan tahay inaad socodsiiso bixiyahaaga, amarkaaga. Waxaa jira xaalado badan oo noocaas ah.

Ilaha ugu saxsan ee tan waxaa loo yaqaan null_resource. Null_resource waa kheyraad aan waligiis la abuurin. Waxba ma taabato, ma jiro API, ma jiro autoscaling. Laakin waxa ay ku ogolanaysaa in aad xakamayso marka aad wado amarka Xaaladdan oo kale, amarku wuxuu socdaa inta lagu jiro abuurista.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

link http://bit.ly/common-traits-in-terraform-modules

Waxaa jira calaamado dhowr ah. Ma geli doono dhammaan calaamadaha si faahfaahsan. Waxaa jira maqaal arrintan ku saabsan. Laakiin haddii aad la shaqeysay Terraform ama aad isticmaashay qaybaha dadka kale, markaa waxaad marar badan ogaatay in qaybo badan, sida inta badan koodhka ilaha furan, ay dadka u qoraan baahidooda. Nin baa qoray oo dhibkiisa xaliyay. Waxaan ku dhejiyay GitHub, ha noolaado. Way noolaan doontaa, laakiin haddii aysan jirin dukumeenti iyo tusaaleyaal halkaas, markaa qofna ma isticmaali doono. Oo haddii aysan jirin wax shaqeyn ah oo kuu ogolaanaya inaad xalliso wax yar oo ka badan hawsheeda gaarka ah, markaa qofna ma isticmaali doono sidoo kale. Waxaa jira siyaabo badan oo lagu lumin karo isticmaalayaasha.

Haddii aad rabto inaad wax qorto si dadku u isticmaalaan, markaa waxaan kugula talinayaa inaad raacdo calaamadahan.

Tani waa:

  • Dukumeenti iyo tusaalooyin.
  • shaqayn buuxda
  • Waxyeellada macquulka ah.
  • Nadiifi code
  • Tijaabooyin.

Tijaabooyinku waa xaalad kala duwan sababtoo ah aad bay u adagtahay in la qoro. Waxaan aaminsanahay in badan oo dukumeenti iyo tusaaleyaal ah.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Markaa, waxaanu eegnay sida loo qoro cutubyada. Waxaa jira laba doodood. Midda koowaad, oo ah tan ugu muhiimsan, ma aha inaad qorto haddii aad awooddo, sababtoo ah dad badan ayaa horey u qabtay hawlahan adiga ka hor. Marka labaad, haddii aad weli go'aansato, ka dibna isku day inaadan u isticmaalin bixiyeyaasha modules iyo bixiyeyaasha.

Tani waa qaybta cawlan ee dukumeentiga. Waxaa laga yaabaa inaad hadda ku fekereyso: "Waxba ma cadda. Laguma qancin." Laakiin waxaan arki doonaa lix bilood gudahood.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Hadda aan ka hadalno sida loogu yeero cutubyadan.

Waxaan fahamsanahay in koodkayaga koray waqti ka dib. Hadda ma hayno hal fayl, waxaan horey u haynay 20 fayl. Dhammaantood waxay ku jiraan hal gal. Ama laga yaabaa in shan gal. Waxaa laga yaabaa in aan bilaabayno in aan si uun u kala saarno gobol ahaan, qaybo ka mid ah. Markaa waxaan fahamsanahay in hadda aan haysanno qaybo aasaasi ah oo isku-dubbarid iyo abaabul. Taasi waa, waa in aan fahamnaa waxa aan samayno haddii aan bedelno ilaha shabakada, waxa aan ku samayno inta ka hartay kheyraadkeena, sida loo sababo ku tiirsanaanta, iwm.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Waxaa jira laba daraf. Xagga ugu horreeya waa mid keliya. Waxaan haynaa hal fayl oo master ah. Waqtigaas, tani waxay ahayd dhaqanka ugu wanaagsan ee rasmiga ah ee bogga Terraform.

Laakin hadda waxaa loo qoray sidii hore oo meesha looga saaray. Muddo ka dib, bulshada Terraform waxay xaqiiqsadeen in tani ay ka fog tahay habka ugu wanaagsan, sababtoo ah dadku waxay bilaabeen inay u isticmaalaan mashruuca siyaabo kala duwan. Waxaana jira dhibaatooyin. Tusaale ahaan, marka aan ku taxno dhammaan ku tiirsanaanta hal meel. Waxaa jira xaalado marka aan gujino "Qorshaha Terraform" iyo ilaa Terraform ay cusbooneysiiso gobollada kheyraadka oo dhan, waqti badan ayaa dhaafi kara.

Waqti badan waa, tusaale ahaan, 5 daqiiqo. Qaar ka mid ah tani waa waqti badan. Waxaan arkay kiisas ay ku qaadatay 15 daqiiqo. AWS API waxay ku qaadatay 15 daqiiqo inay isku daydo inay ogaato waxa ka dhacaya xaaladda kheyraad kasta. Tani waa aag aad u ballaaran.

Iyo, si dabiici ah, dhibaato la xidhiidha ayaa soo bixi doonta markaad rabto inaad wax ka bedesho hal meel, ka dibna waxaad sugtaa 15 daqiiqo, waxayna ku siinaysaa shiraac isbedelada qaarkood. Waad tufay, qortay "Haa", oo wax baa khaldamay. Tani waa tusaale dhab ah. Terraform iskuma dayo inuu kaa ilaaliyo dhibaatooyinka. Taasi waa, qor waxaad rabto. Waxaa jiri doona dhibaatooyin - dhibaatooyinkaaga. Halka Terraform 0.11 aanu isku dayin inuu ku caawiyo sinaba. Waxaa jira meelo xiiso leh oo ku yaal 0.12 kuwaas oo kuu oggolaanaya inaad tiraahdo: "Vasya, runtii tan ayaad rabtaa, ma soo noqon kartaa dareenkaaga?"

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Habka labaad waa in meeshan la dhimo, taas oo ah, wicitaanada meel ka imanaya waa la yarayn karaa isku xirnaanta meel kale.

Dhibaatada kaliya ayaa ah inaad u baahan tahay inaad qorto kood badan, tusaale ahaan waxaad u baahan tahay inaad ku qeexdo doorsoomayaasha tiro badan oo faylal ah oo aad tan cusbooneysiiso. Dadka qaarkiis ma jecla. Tani waa caadi aniga. Dadka qaarna waxay u maleynayaan: "Maxaad u qortaa tan meelo kala duwan, dhammaan waxaan ku dhejin doonaa hal meel." Tani waa suurtagal, laakiin tani waa xag-jirnimada labaad.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Yaa waxaas oo dhan hal meel ku nool? Hal, laba, saddex qof, yacni, qof ayaa isticmaalaya.

Oo yaa u yeedhay qayb gaar ah, hal block ama hal module kaabayaal? Shan ilaa todoba qof. Tani waa qabow.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Jawaabta ugu badan waa meel dhexe. Haddii mashruucu weyn yahay, markaa waxaad inta badan yeelan doontaa xaalad aan xal ku habboonayn oo wax walbaa aysan ka shaqeynin, sidaas darteed waxaad ku dhamaaneysaa isku-dhafka. Ma jiraan wax khalad ah oo arrintan ku saabsan, inta aad fahamsan tahay in labaduba ay leeyihiin faa'iidooyin.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Haddii ay wax iska beddeleen VPC-ga oo aad rabtay inaad isbeddeladan ku dabaqdo EC2, tusaale ahaan, waxaad rabtay inaad cusboonaysiiso kooxda autoscaling sababtoo ah waxaad lahayd subnet cusub, ka dib waxaan ugu yeeraa abaabulka ku-tiirsanaanta noocan oo kale ah. Waxaa jira xalal qaar: yaa isticmaala maxaa?

Waxaan soo jeedin karaa xalalka jira. Waxaad isticmaali kartaa Terraform si aad u samayso sixirka, ama waxaad isticmaali kartaa makefiles si aad u isticmaasho Terraform. Oo arag haddii ay wax halkaas iska beddeleen, waxaad ka bilaabi kartaa halkan.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Sidee u jeceshahay go'aankan? Ma jiraa qof aaminsan in tani ay tahay xal fiican? Waxaan arkaa dhoola cadeyn, sida muuqata shaki ayaa soo galay.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Dabcan, tan ha isku dayin guriga. Terraform weligeed looma qorshayn in laga maamulo Terraform.

Hal warbixin waxay igu yidhaahdeen: "Maya, tani ma shaqayn doonto." Ujeedadu waa in aysan shaqayn. Inkasta oo ay u muuqato mid aad u cajiib ah markaad ka bilaabi karto Terraform ka Terraform, ka dibna Terraform, waa inaadan samayn taas. Terraform waa in had iyo jeer ku bilowdaa si fudud.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

https://github.com/gruntwork-io/terragrunt/

Haddii aad u baahan tahay wac orchesteration marka ay wax iska beddeleen hal meel, markaa waxaa jira Terragrunt.

Terragrunt waa utility, ku-darka Terraform, kaas oo kuu ogolaanaya inaad isku dubarid oo abaabulo wicitaanada qaybaha kaabayaasha.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Faylka qaabeynta Terraform ee caadiga ah wuxuu u eg yahay sidan.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Waxaad sheegtaa moduleka gaarka ah ee aad rabto inaad wacdo.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Maxaa ku tiirsanaanta moduleka?

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Maxaa doodaha uu modulekani aqbalayaa. Taasi waa waxa kaliya ee jira in laga ogaado Terragrunt.

Dukumentiga ayaa jira, waxaana jira 1 xiddigood oo ku yaal GitHub. Laakiin inta badan kiisaska tani waa waxa aad u baahan tahay inaad ogaato. Tanina aad bay u fududahay in laga hirgeliyo shirkadaha hadda bilaabay inay la shaqeeyaan Terraform.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Markaa orchestration waa Terragrunt. Waxaa jira doorashooyin kale.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Hadda aan ka hadalno sida loogu shaqeeyo koodka.

Haddii aad u baahan tahay inaad ku darto sifooyin cusub koodkaaga, inta badan tani way fududahay. Waxaad qoraysaa kheyraad cusub, wax walba waa sahlan yihiin.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Haddii aad haysatid xoogaa kheyraad ah oo aad horay u abuurtay, tusaale ahaan, waxaad ka baratay Terraform ka dib markaad furato akoon AWS oo aad rabto inaad isticmaasho kheyraadka aad horey u heysatay, markaa waxaa habboonaan lahayd inaad qaabkaaga u kordhiso habkan, si waxay taageertaa isticmaalka kheyraadka jira.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Waxayna taageertay abuurista ilo cusub iyadoo la adeegsanayo khayraadka block.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Marka la soo saaro waxaan had iyo jeer soo celinaa id soo saarista iyadoo ku xiran waxa la isticmaalay.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Dhibaatada labaad ee aadka muhiimka u ah Terraform 0.11 waxay la shaqaynaysaa liisaska.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Dhibaatadu waa in haddii aan haysanno liiska isticmaalayaasha.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Oo markaan abuurno isticmaalayaashan iyadoo la adeegsanayo kheyraadka xannibaadda, markaa wax walbaa si fiican ayey u socdaan. Waxaan dhex maraa liiska oo dhan, abuurista fayl kasta. Wax walba waa fiican yihiin. Ka dibna, tusaale ahaan, user3, oo dhexda ku jira, waa in laga saaraa halkan, ka dibna dhammaan kheyraadka la abuuray isaga ka dib ayaa dib loo abuuri doonaa sababtoo ah index ayaa isbeddelaya.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Ku shaqaynta liisaska jawi dawladeed. Waa maxay deegaan dawladeed? Tani waa xaalada meesha qiimaha cusub la abuurayo marka kheyraadkan la abuuro. Tusaale ahaan, furaha gelitaanka AWS ama furaha sirta ah ee AWS, ie. marka aan abuurno isticmaale, waxaan helnaa galitaanka ama furaha siraha cusub. Mar kasta oo aan tirtirno isticmaale, isticmaaluhu wuxuu yeelan doonaa fure cusub. Laakiin tani maaha shui feng, sababtoo ah isticmaaluhu ma rabi doono inuu saaxiibo nala yeesho haddii aan u abuurno isticmaale cusub mar kasta oo qof ka tago kooxda.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Xalku waa kan. Kani waa kood ku qoran Jsonnet. Jsonnet waa luuqad wax ka bedela Google.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Amarkani wuxuu kuu ogolaanayaa inaad aqbasho template-ka oo marka la soo saaro wuxuu soo celinayaa faylka json kaas oo loo sameeyay si waafaqsan qaabkaaga.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Qaab-dhismeedka ayaa u eg sidan.

Terraform wuxuu kuu ogolaanayaa inaad si isku mid ah ula shaqeyso labada HCL iyo Json, markaa haddii aad awood u leedahay inaad abuurto Json, markaa waxaad ku dhex shubi kartaa Terraform. Faylka wata kordhinta .tf.json si guul leh ayaa loo soo dejin doonaa.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Ka dibna waxaan ula shaqeynaa sida caadiga ah: terraform init, terramorm codsan. Oo waxaan abuurnaa laba isticmaale.

Hadda kama baqayno haddii qof ka tago kooxda. Waxaan wax ka beddeli doonaa faylka json Vasya Pupkin wuu tagay, Petya Pyatochkin ayaa hadhay. Petya Pyatochkin ma heli doonto fure cusub.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Isku-dhafka Terraform-ka iyo qalabyada kale runtii maaha shaqada Terraform. Terraform waxaa loo abuuray sidii madal lagu abuurayo kheyraad waana taas. Wax kasta oo ka dambeeyana maaha walaac Terraform. Oo looma baahna in halkaas lagu tolo. Waxaa jira macquul, kaas oo sameeya wax kasta oo aad u baahan tahay.

Laakiin xaalado ayaa soo baxa marka aan rabno inaan kordhinno Terraform oo aan wacno amar ka dib marka wax la dhammeeyo.

Jidka kowaad. Waxaan abuurnaa wax soo saar meesha aan ku qorno amarkan.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Kadibna waxaan ugu yeereynaa amarkan ka soo baxa sheyga terraform-ka oo aan qeexno qiimaha aan rabno. Sidaa darteed, amarka waxaa lagu fuliyaa dhammaan qiyamka la beddelay. Aad bay u raaxo badan tahay.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Jidka labaad. Tani waa isticmaalka null_resource iyadoo kuxiran isbedelada kaabayaashayaga. Waxaan wici karnaa isla local-exe isla marka aqoonsiga kheyraadka qaar isbedelo.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Dabiici ahaan, tani dhammaantood waa siman yihiin warqad, sababtoo ah Amazon, sida dhammaan bixiyeyaasha kale ee dadweynaha, waxay leeyihiin fara badan oo kiisas u gaar ah.

Kiiska cidhifka ah ee ugu caansan waa marka aad furto akoon AWS, waxay ku xiran tahay gobollada aad isticmaasho; sifadan ma halkaas baa laga awooday; laga yaabaa inaad furtay ka dib December 2013; laga yaabaa in aad isticmaalayso default in VPC iwm. Waxaa jira xadayn badan. Waxayna Amazon ku kala firdhisay dhammaan dukumeentiyadii.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Waxaa jira dhowr shay oo aan ku talinayo in laga fogaado.

Si aad u bilowdo, iska ilaali dhammaan dooda aan qarsoodiga ahayn ee gudaha qorshaha Terraform ama Terraform CLI. Waxaas oo dhan waxaa lagu ridi karaa faylka tfvars ama doorsoome deegaan.

Laakiin uma baahnid inaad xafiddo amarkan sixirka oo dhan. Qorshaha Terraform – var and off we go. Doorsoomaha koowaad waa var, doorsoomaha labaad waa var, ka saddexaad, afraad. Mabda'a ugu muhiimsan ee kaabayaasha koodka ah ee aan isticmaalo inta badan waa in kaliya marka la eego koodhka, waa in aan si cad u fahmo waxa halkaas la geeyo, gobolkee iyo qiyamka. Oo sidaas darteed uma baahnid inaan akhriyo dukumeentiyada ama aan weydiiyo Vasya waxa uu u isticmaalay si uu u abuuro kooxdeena. Kaliya waxaan u baahanahay inaan furo fayl leh tfvars kordhinta, kaas oo inta badan ku habboon deegaanka, oo aan eego wax kasta oo jira.

Sidoo kale, ha isticmaalin doodaha bartilmaameedka ah si loo yareeyo baaxadda. Taas awgeed aad bay u fududahay in la isticmaalo qaybo yaryar oo kaabayaal ah.

Sidoo kale, looma baahna in la xaddido oo la kordhiyo isbarbardhigga. Haddii aan haysto 150 kheyraad oo aan rabo inaan kordhiyo isbarbardhigga Amazon laga bilaabo 10 illaa 100, markaa waxay u badan tahay inay wax khaldami doonaan. Ama waxaa laga yaabaa inay hadda si fiican u socoto, laakiin marka Amazon ay sheegto inaad wacdo badan tahay, waxaad noqon doontaa dhibaato.

Terraform wuxuu isku dayi doonaa inuu dib u bilaabo inta badan dhibaatooyinkan, laakiin ma gaadhi doontid ku dhawaad ​​waxba. Isbarbardhigga=1 waa shay muhiim ah in la isticmaalo haddii aad ku turunturoodo qaar ka mid ah cayayaanka gudaha AWS API ama gudaha bixiyaha Terraform-ka. Kadibna waxaad u baahan tahay inaad qeexdo: parallelism=1 oo sug ilaa Terraform uu dhammeeyo hal wicitaan, ka dibna kan labaad, ka dibna kan saddexaad. Mid mid ayuu u daah-furi doonaa.

Dadku badanaa waxay i weydiiyaan, "Maxaan u malaynayaa in goobaha shaqada ee Terraform ay shar yihiin?" Waxaan aaminsanahay in mabda'a kaabayaasha sida code waa in la arko waxa kaabayaasha la abuuray iyo waxa la qiimeeyo.

Goobaha shaqada may abuurin isticmaalayaashu Tani macnaheedu maaha in isticmaalayaashu ay ku qoreen arrimaha GitHub oo aanan ku noolaan karin la'aanteed goobaha shaqada ee Terraform. Maya sidan maaha. Terraform Enterprise waa xal ganacsi. Terraform oo ka socda HashiCorp ayaa go'aansaday inaan u baahanahay goobo shaqo, sidaas darteed waanu xareynay. Aad ayey ii fududdahay in aan ku dhejiyo gal gaar ah. Markaas waxaa jiri doona faylal yar oo dheeraad ah, laakiin way sii caddaan doontaa.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Sidee looga shaqeeyaa koodka? Dhab ahaantii, ku shaqeynta liisaska waa xanuunka kaliya. Si fududna u qaado Terraform. Tani ma aha waxa kuu samayn doona wax kasta oo weyn. Looma baahna in la tuuro wax kasta oo ku qoran dukumentiga halkaas.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Mawduuca warbixinta ayaa la qoray "mustaqbalka." Arintan si kooban ayaan uga hadli doonaa. Mustaqbalka, tani waxay ka dhigan tahay in 0.12 la sii deyn doono dhawaan.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

0.12 waa wax badan oo cusub. Haddii aad ka timid barnaamijyada caadiga ah, markaa waxaad seegeysaa dhammaan noocyada kala duwan ee blocks firfircoon, siddo, hawlgallada isbarbardhigga saxda ah iyo shuruudaha, halkaas oo dhinacyada bidix iyo midig aan la xisaabin isku mar, laakiin waxay ku xiran tahay xaaladda. Wax badan ayaad tabaysaa, markaa 0.12 ayaa kuu xalin doonta.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Laakiin! Haddii aad wax yar u qorto oo aad si fudud u qorto, adigoo isticmaalaya qaybo diyaarsan iyo xalalka saddexaad, markaa ma sugi doontid oo aad rajaynayso in 0.12 uu kuu iman doono oo uu wax walba kuu hagaajin doono.

Sharaxaada kaabayaasha Terraform ee mustaqbalka. Anton Babenko (2018)

Waad ku mahadsan tahay warbixinta! Waxaad uga hadashay kaabayaasha kood ahaan oo aad si dhab ah u tidhi hal kelmad oo ku saabsan imtixaannada. Imtixaanada miyaa looga baahan yahay cutubyada? Waa ayo cidda mas'uuliyadda ka saaran tahay? Miyaan u baahanahay inaan qoro naftayda mise waa mas'uuliyadda cutubyada?

Sannadka soo socda waxaa buuxin doona warbixino sheegaya inaan go'aansanay inaan tijaabino wax walba. Maxaa la tijaabiyaa waa su'aasha ugu weyn. Waxaa jira ku-tiirsanaan badan, xannibaadyo badan oo ka yimid bixiyeyaasha kala duwan. Marka aniga iyo adiga aan hadlayno oo aad tiraahdo: "Waxaan u baahanahay baaritaanno," markaas waxaan ku weydiiyaa: "Maxaad tijaabin doontaa?" Waxaad sheegtay inaad gobolkaaga ku tijaabin doonto. Markaa waxaan leeyahay taasi kama shaqaynayso gobolkayga. Taasi waa, xitaa ma awoodi doono inaan ku heshiiyo tan. Ma aha in la sheego in ay jiraan dhibaatooyin farsamo oo badan. Taasi waa, sida loo qoro imtixaanadan si ay ugu filnaato.

Waxaan si firfircoon u baarayaa mawduucan, tusaale ahaan sida si toos ah loo soo saaro imtixaanno ku salaysan kaabayaasha aad qortay. Taasi waa, haddii aad qortay koodhkan, markaa waxaan u baahanahay inaan socodsiiyo, taas oo ku saleysan tan waxaan abuuri karaa imtixaanno.

Terratest waa mid ka mid ah maktabadaha inta badan la sheego ee kuu ogolaanaya inaad qorto imtixaanada la qabsiga Terraform. Tani waa mid ka mid ah utility-yada. Waxaan doorbidayaa nooca DSL, tusaale ahaan, spec.

Anton, waad ku mahadsan tahay warbixinta! Magacaygu waa Valery. Aan weydiiyo su'aal falsafad yar. Waxaa jira, shuruud ahaan, bixinta, waxaa jira hawlgelin. Bixinta waxay abuurtaa kaabayaashayga, marka la geeyo waxaan ku buuxinnaa wax faa'iido leh, tusaale ahaan, server-yada, codsiyada, iwm. Oo waxay ku jirtaa madaxayga in Terraform uu u badan yahay bixinta, iyo suurtogalnimada waa wax badan oo la geynayo, sababtoo ah macquul sidoo kale waa jir ahaaneed Kaabayaasha. wuxuu kuu ogolaanayaa inaad ku rakibto nginx, Postgres. Laakiin isla mar ahaantaana, macquul waxay u muuqataa inay ogolaato bixinta, tusaale ahaan, Amazon ama ilaha Google. Laakiin Terraform sidoo kale wuxuu kuu ogolaanayaa inaad geyso qaar ka mid ah software-ka adigoo isticmaalaya qaybo ka mid ah. Marka loo eego aragtidaada, ma jiraan nooc ka mid ah xuduudaha u dhexeeya Terraform iyo Aansible, halkee iyo waxa ka wanaagsan in la isticmaalo? Mise, tusaale ahaan, ma u malaynaysaa in Ansible uu yahay qashin, waa inaad isku daydaa inaad wax walba u isticmaasho Terraform?

Su'aal wanaagsan, Valery. Waxaan aaminsanahay in Terraform-ka uusan is beddelin ujeeddada laga soo bilaabo 2014. Waxaa loo abuuray kaabayaasha oo u dhintay kaabayaasha. Waxaan wali haysanay oo aan yeelan doonaa baahida maaraynta qaabeynta. Caqabadda jirta ayaa ah in ay jirto xogta isticmaalaha gudaha launch_configuration. Oo halkaas waxaad jiidataa macquulka ah, iwm. Tani waa farqiga caadiga ah ee aan sida ugu fiican u jeclahay.

Haddii aan ka hadlayno kaabayaasha quruxda badan, markaa waxaa jira adeegyo sida Packer oo soo ururiya sawirkan. Kadibna Terraform waxay isticmaashaa isha xogta si ay u hesho sawirkan oo ay u cusbooneysiiso launch_configuration. Taasi waa, habkan dhuumaha ayaa ah inaan marka hore jiidno Tracker, ka dibna jiido Terraform. Oo haddii dhismuhu dhaco, markaa isbeddel cusub ayaa dhacaya.

Hello! Waad ku mahadsan tahay warbixinta! Magacaygu waa Misha, shirkadda RBS. Waxaad wici kartaa Macallimiinta adoo adeegsanaya adeeg bixiye marka la abuurayo kheyraad. Aansible waxa kale oo uu leeyahay mawduuc la yiraahdo alaabada firfircoon. Oo marka hore waxaad wici kartaa Terraform, ka dibna wac Ansible, kaas oo ka qaadi doona khayraadka gobolka iyo fulinta. Maxaa ka wanaagsan?

Dadku waxay isticmaalaan labadaba guul siman. Waxay iila muuqataa in alaabada firfircoon ee Ansible ay tahay wax ku habboon, haddii aynaan ka hadlin kooxda autoscaling. Sababtoo ah kooxda autoscaling waxaan horey u haysanaa qalab noo gaar ah, kaas oo loo yaqaan launch_configuration. In launch_configuration waxaan ku duubnaa wax kasta oo u baahan in la bilaabo markaan abuurno kheyraad cusub. Sidaa darteed, Amazon, adoo isticmaalaya alaab firfircoon iyo akhrinta faylka Terraform ts, fikradayda, waa xad dhaaf. Haddii aad isticmaasho qalab kale oo aan lahayn fikradda "kooxda autoscaling", tusaale ahaan, waxaad isticmaashaa DigitalOcean ama bixiye kale oo aan jirin koox autoscaling, ka dibna halkaas waa inaad gacanta ku soo jiidataa API, hel cinwaannada IP, samee faylka alaabada firfircoon, iyo Aansible ayaa mar hore dhex wareegi doona. Taasi waa, Amazon waxaa jira launch_configuration, iyo wax kasta oo kale waxaa jira alaab firfircoon.

Source: www.habr.com

Add a comment