I hurihia mai i Terraform ki te CloudFormation - ka pouri

Ko te tohu i nga hanganga hei waehere i roto i te whakatakotoranga kuputuhi tukurua he mahinga tino pai mo nga punaha kaore e hiahia ki te wiri ki nga kiore. He ingoa to tenei mahi - Hanganga hei Waehere, a tae noa ki tenei wa e rua nga taputapu rongonui hei whakatinana, ina koa i roto i te AWS: Terraform и CloudFormation.

I hurihia mai i Terraform ki te CloudFormation - ka pouri
Te whakataurite i te wheako ki a Terraform me CloudFormation

I mua i te taenga mai Twitch (he Amazon Jr.) I mahi ahau i te timatanga kotahi me te whakamahi i a Terraform mo nga tau e toru. I te waahi hou, i whakamahia ano e ahau a Terraform me toku kaha katoa, katahi ka pana te kamupene ki te whakawhiti ki nga mea katoa a Amazon, tae atu ki te CloudFormation. Kua kaha ahau ki te whakawhanake i nga tikanga pai mo nga mea e rua, a kua whakamahia e au nga taputapu e rua i roto i nga rerenga mahi tino uaua, whakahaere-whanui. I muri mai, i muri i taku whakaaro nui ki nga paanga o te heke mai i Terraform ki CloudFormation, ka mohio ahau ko Terraform pea te whiringa pai mo te whakahaere.

Terraform Horrible

Pūmanawa Beta

Kaore ano kia tukuna e Terraform te putanga 1.0, he take pai kia kaua e whakamahia. He nui te whakarereketanga mai i taku whakamatau tuatahi i a au ano, engari i tera wa terraform apply he maha nga wa ka pakaru i muri i nga whakahoutanga maha, i muri noa ranei i nga tau e rua o te whakamahi. Ka kii ahau "he rereke nga mea katoa inaianei," engari ... ko te ahua o te korero a te katoa, kaore? He huringa karekau i te hototahi ki nga putanga o mua, ahakoa e tika ana, me te ahua ano ko te wetereo me nga tangohanga o nga toa rawa kei te hiahia inaianei. Ko te ahua kua tino pai ake te taputapu, engari... :-0

I tetahi atu taha, he pai te mahi a AWS ki te pupuri i te hototahi whakamuri. Ko tenei pea na te mea ka tino whakamatauria a raatau ratonga i roto i te whakahaere katahi ka whakaingoatia, ka whakaputahia. No reira, "i whakapau kaha ratou" he korero iti. Ko te pupuri i te hototahi whakamuri me nga API mo te punaha he rerekee, he uaua ano he AWS he tino uaua. Ko te tangata kua mau tonu ki te pupuri i nga API a-iwi e whakamahia whanuitia ana, me mohio ki te uaua o te mahi pera mo nga tau maha. Engari ko te whanonga o CloudFormation, i taku maharatanga, kaore i rereke i roto i nga tau.

Tutaki te waewae... he matā

Ki taku mohio, mukua te rauemi tangata o waho Karekau e taea te puranga CloudFormation mai i to CF. He pera ano ki a Terraform. Ka taea e koe te kawemai i nga rauemi kei roto i to puranga. Ko te mahi ka taea te kii he mea whakamiharo, engari me te kaha nui ka tae mai he kawenga nui. Me taapiri noa koe i tetahi rauemi ki te puranga, a, i a koe e mahi ana me to puranga, kaore e taea e koe te muku, te whakarereke ranei i tenei rauemi. I tetahi ra ka hoki whakamuri. I tetahi ra i runga i a Twitch, i kawemai mai tetahi i te roopu haumaru AWS a tetahi atu ki roto i a raatau ake tepu Terraform i te mea kaore he kino. He maha nga whakahau i uru atu ahau, a... kua ngaro te roopu haumaru (me nga waka taumai).

Terraform Nui

Te whakaoranga mai i nga ahuatanga kaore i oti

I etahi wa kaore a CloudFormation e tino whakawhiti mai i tetahi whenua ki tetahi atu. I te wa ano, ka ngana ia ki te hoki ki te waa o mua. He pouri te kore e taea tenei i nga wa katoa. He tino whakamataku ki te patuiro i nga mea i tupu i muri mai - kaore koe e mohio mena ka koa a CloudFormation kei te taumanutia - ahakoa ki te whakatika noa. Ahakoa ka taea ranei te hoki ki te ahua o mua, kaore ia i te mohio ki te whakatau me te taunoa, ka whakairihia mo nga haora e tatari ana mo te merekara.

Ko Terraform, i tetahi atu taha, ka kaha ake te whakaora mai i nga whakawhitinga rahua me te tuku taputapu patuiro matatau.

He marama ake nga huringa ki te ahua tuhinga

“Tena, te taurite uta, kei te huri koe. Engari me pehea?"

— te miihini ohorere, kua rite ki te pehi i te paatene "whakaae".

I etahi wa ka hiahia ahau ki te mahi i etahi raweke me te taurite kawenga i roto i te puranga CloudFormation, penei i te taapiri i te tau tauranga, te whakarereke ranei i tetahi roopu haumaru. He kino nga huringa o te whakaaturanga ClouFormation. Ko ahau, i runga i nga titi me nga ngira, ka taki-rua i te konae yaml tekau nga wa kia mohio ai kaore au i whakakore i tetahi mea e tika ana, kaore ano kia taapirihia he mea kore.

Ko te Terraform he tino marama ake mo tenei kaupapa. I etahi wa ka tino marama ia (panui: hoha). Waimarie, kei roto i te putanga hou he whakaaturanga pai ake o nga huringa kia taea e koe te kite i nga mea e huri ana.

Te ngawari

Tuhia te rorohiko whakamuri.

Ki te korero puhoi, ko te ahuatanga tino nui o te raupaparorohiko roa-roa ko te kaha ki te urutau ki te whakarereke. Tuhia tetahi pūmanawa whakamuri. I te nuinga o nga wa ka pohehe ahau ma te tango i tetahi ratonga "maamaa", katahi ka tiimata ki te whakakii i nga mea katoa ki roto i te CloudFormation kotahi, Terraform stack ranei. A ko te tikanga, i nga marama i muri mai ka kitea kua marama ahau ki nga mea katoa he he, a ko te ratonga ehara i te mea ngawari! Na inaianei me wawahi e au tetahi puranga nui ki nga waahanga iti. Ka mahi koe me te CloudFormation, ka taea anake tenei ma te hanga ano i te puranga o naianei, a kaore au e mahi i tenei ki aku putunga. Ko te Terraform, i tetahi atu taha, i taea te wetewete i te puranga me te wawahi ki nga waahanga iti ake.

Kōwae i git

Ko te tohatoha i te waehere Terraform puta noa i nga puranga maha he maamaa ake i te tohatoha waehere CloudFormation. Ma te Terraform, ka taea e koe te whakauru i to waehere ki roto i te rehitatanga git ka uru atu ma te whakamahi i te mana putanga oro. Ka taea e te tangata whai waahi ki tenei putunga te whakamahi ano i te waehere tiritahi. Ko te rite o CloudFormation ko S3, engari karekau he painga ano, kaore he take me whakarere ke atu i te git ki te S3 katoa.

I tipu te whakahaere me te kaha ki te tiri i nga puranga noa i eke ki te taumata whakahirahira. Ko te Terraform he mea ngawari, he maamaa hoki, engari ma te CloudFormation ka peke koe i roto i nga poroporo i mua i to mahi penei.

Nga mahi hei waehere

"Me tuhi ka pai."

—he miihini 3 tau i mua i te hanga i te pahikara Terraform.

Ina tae mai ki te whanaketanga rorohiko, ko Haere, he kaupapa Java ranei ehara i te waehere noa.

I hurihia mai i Terraform ki te CloudFormation - ka pouri
Waehere hei Waehere

Kei reira ano nga hanganga e mahi ana.

I hurihia mai i Terraform ki te CloudFormation - ka pouri
Hanganga hei Waehere

Engari no hea ia? Me pehea te aroturuki? Kei hea e noho ana to waehere? Me whai whakaaetanga uru nga kaihanga?

I hurihia mai i Terraform ki te CloudFormation - ka pouri
Nga Mahi hei Waehere

Ko te noho hei kaiwhakawhanake rorohiko ehara i te mea ko te tuhi waehere anake.

Ehara i te mea ko AWS anake: ka whakamahi pea koe i etahi atu kaiwhakarato. SignalFx, PagerDuty, Github ranei. Tena pea kei a koe he tūmau Jenkins o roto mo te CI/CD, he papatohu o roto ranei a Grafana hei aroturuki. Ko te Infra as Code i whiriwhiria mo nga take rereke, a he rite te hiranga o ia mea mo nga mea katoa e pa ana ki te rorohiko.

I a au e mahi ana i Twitch, i whakaterehia e matou nga ratonga i roto i nga punaha whakauru me nga punaha AWS a Amazon. He maha nga ratonga miihini i tautokohia e matou, me te piki haere o nga utu whakahaere. I penei nga korero:

  • Я: Aue, he maha nga tohu ki te overclock kotahi microservice. Me whakamahi ahau i tenei paru ki te hanga i tetahi putea AWS (i haere matou ki nga kaute e 2 i runga ratonga moroiti), katahi ko tenei mo te whakatu matohi, ko tenei mo te penapena waehere, ko tenei mo te rarangi imeera, katahi ko tenei...
  • Arataki: Kia tuhi tatou ka pai.
  • Я: Ka pai, engari ka huri te tuhinga. Ka hiahia matou ki tetahi huarahi ki te tirotiro kei te noho hou enei taputapu Amazon hanga-i roto.
  • Arataki: He pai te tangi. A ka tuhia e matou he tuhinga mo tenei.
  • Я: Nui! A ka hiahia tonu te tuhinga ki te whakarite tawhā. E farii anei oia ia ratou?
  • Arataki: Tukua kia mau ki te wahi e haere ai ia!
  • Я: Ka huri pea te tukanga ka ngaro te hototahi whakamuri. Ka hiahiatia etahi momo mana putanga oro.
  • Arataki: He whakaaro pai!
  • Я: Ka taea te huri a-ringa i nga taputapu, i roto i te atanga kaiwhakamahi. Ka hiahia matou ki te tirotiro me te whakatika i tenei.

… 3 tau i muri mai:

  • Arataki: Na ka whiwhi tatou i te whenua.

Ko te morare o te korero: ahakoa ko koe upoko i runga i nga rekereke i nga mea katoa a Amazon, kei te whakamahi tonu koe i tetahi mea ehara i te AWS, a ko enei ratonga he ahua e whakamahi ana i te reo whirihoranga hei pupuri i taua ahua ki te tukutahi.

CloudFormation lambda vs git modules terraform

Ko te lambda te otinga a CloudFormation ki te take arorau ritenga. Ma te lambda ka taea e koe hanga tonotono ranei rauemi kaiwhakamahi. Ko tenei huarahi e whakaatu ana i etahi atu uaua karekau i roto i te whakaputanga kupu a Terraform o nga waahanga git. Ki ahau nei, ko te raru nui ko te whakahaere whakaaetanga mo enei lambdas kaiwhakamahi katoa (a he maha nga kaute AWS enei). Ko tetahi atu raruraru nui ko te raruraru "he aha te mea i puta tuatahi mai, te heihei, te hua manu ranei?" raruraru: he hononga ki te waehere lambda. Ko tenei mahi ano he hanganga me te waehere, a ko ia ano me aroturuki me nga whakahou. Ko te whao whakamutunga i roto i te kawhena ko te uaua ki te whakahou i nga huringa tohu lambda; me whakarite hoki kia kore e huri nga mahi tapae me te kore he whakahau tika i waenga i nga oma.

Kei te maumahara ahau i te wa i pirangi au ki te hanga i tetahi tuunga kanari mo te taiao Elastic Beanstalk me te taurite kawenga matarohia. Ko te mea ngawari ki te mahi ko te mahi tuarua mo te EB i te taha o te taiao whakangao, me te whai i tetahi taahiraa ake: ko te whakakotahi i te roopu tuku kanari-aunoa me te tukunga LB ki te taiao whakangao. A mai i te whakamahi a Terraform ASG beantalk hei whakatau, ka hiahia tenei kia 4 atu rarangi waehere i Terraform. I taku patai mehemea he otinga rite kei CloudFormation, i tohuhia ahau e ratou ki tetahi putunga git katoa me te pipeline tuku me nga mea katoa, mo tetahi mea ka taea e nga raina 4 o te waehere Terraform te mahi.

He pai ake te kite i te paheketanga

Me tino rite te mooni ki nga tumanakohanga.

Te kitenga paheke he mahinga tino kaha hei tohu tohu na te mea ka awhina i te whakarite kia rite te mooni ki nga tumanako. Kei te waatea me te CloudFormation me te Terraform. Engari i te tipu haere o te hangahanga, ko te rapu mo te paheketanga i CloudFormation ka nui ake nga kitenga teka.

Ma te Terraform, he nui ake nga matau o te huringa ora mo te rapu tere. Hei tauira, ka uru koe ki te whakahau wareware_whakarereke tika ki te whakamaramatanga mahi ECS mena kei te pirangi koe ki te wareware i nga huringa ki tetahi whakamaramatanga mahi motuhake me te kore e aro ki nga huringa ki to tukunga ECS katoa.

CDK me te heke mai o CloudFormation

He uaua ki te whakahaere i te CloudFormation i nga tauine-whakawhitinga nui. Ko te nuinga o enei uaua ka mohiohia, ka hiahia te taputapu ki nga mea penei aws-cdk, he anga mo te tautuhi i nga hanganga kapua i roto i te waehere me te whakahaere ma te AWS CloudFormation. He rawe ki te kite he aha nga wa kei te heke mai mo aws-cdk, engari ka uaua te whakataetae ki etahi atu kaha o Terraform; ki te kawe mai i te CloudFormation ki tenei ra, ka hiahiatia nga huringa o te ao.

Kia kore ai e pouri a Terraform

Ko tenei "hanganga hei waehere", ehara i te "hei tuhinga".

Ko taku whakaaro tuatahi mo Terraform he tino kino. Ki taku whakaaro kaore au i te marama ki te huarahi. Tata ki te katoa o nga miihini ka mohio he whakatakotoranga tuhinga me huri ki te hanganga e hiahiatia ana. KAUA E WHAKAMAHI KI TENEI.

Ko nga korero o te whanaketanga rorohiko pai ka pa ano ki a Terraform.

Kua kite ahau i te maha o nga tikanga i mahia hei hanga waehere pai e kore e arohia i Terraform. Kua ako koe mo nga tau ki te noho hei kaiwhakatakoto kaupapa pai. Kaua e whakarerea tenei wheako na te mea kei te mahi koe me Terraform. Ko nga korero o te whanaketanga rorohiko pai e pa ana ki a Terraform.

Me pehea e kore ai e tuhia te waehere?

Kua kite ahau i nga puranga Terraform nui kaore rawa he tuhinga. Me pehea e taea ai e koe te tuhi waehere ki nga wharangi - kaore he tuhinga? Tāpirihia nga tuhinga e whakamarama ana i to waehere Terraform (whakaaro ki te kupu "waehere"), he aha te mea nui o tenei waahanga, me te aha koe.

Me pehea e taea ai e matou te toha atu i nga ratonga ko tetahi mahi matua() i mua?

Kua kite ahau i nga puranga Terraform tino uaua kua whakaatuhia hei waahanga kotahi. He aha tatou e kore ai e tohatoha i nga rorohiko penei? He aha tatou ka wehewehe ai i nga mahi nunui ki nga mea iti? He rite ano nga whakautu ki a Terraform. Mēnā he rahi rawa tō kōwae, me wāwāhi kia iti ake ngā kōwae.

Kaore to kamupene e whakamahi whare pukapuka?

Kua kite ahau i te mahi a nga miihini, te huri i tetahi kaupapa hou ma te whakamahi i a Terraform, te kape-whakapiri poauautanga i nga kongakonga nunui mai i etahi atu kaupapa ki roto i a raatau ake, katahi ka tarai ki a raatau kia timata ra ano te mahi. Ka mahi penei koe me te tohu "pakanga" i to kamupene? Kare noa matou e whakamahi whare pukapuka. Ae, ehara i te mea he whare pukapuka nga mea katoa, engari kei hea tatou kaore he whare pukapuka tiritahi i runga i te kaupapa?!

Kaore koe e whakamahi ana i te PEP8, i te gofmt ranei?

Ko te nuinga o nga reo he kaupapa whakahōputu paerewa kua whakaaetia. I roto i te Python ko PEP8 tenei. I roto i te Haere - gofmt. Kei a Terraform tana ake: terraform fmt. Whakamahia mo te hauora!

Ka whakamahi koe i te React me te kore e mohio ki a JavaScript?

Ka taea e nga waahanga Terraform te whakangawari i etahi waahanga o nga hanganga uaua ka hangaia e koe, engari ehara tenei i te mea kaore e taea e koe te tarai. Kei te hiahia koe ki te whakamahi tika i a Terraform me te kore e mohio ki nga rauemi? Kua mate koe: ka pahemo te wa, kaore koe e rangatira ki a Terraform.

Kei te whakawaehere koe me te hunga takitahi, te werohanga whakawhirinaki ranei?

Ko te werohanga whakawhirinaki he mahi tino pai mo te whakawhanaketanga rorohiko me te pai ake i te hunga takitahi. He pehea te whai hua i roto i te Terraform? Kua kite ahau i nga waahanga Terraform e whakawhirinaki ana ki te whenua mamao. Engari i te tuhi i nga kōwae hei tiki i te ahua mamao, tuhia he kōwae e tango tawhā. Na ka tukuna enei tawhā ki te kōwae.

He pai te mahi a o whare pukapuka i nga mea tekau, kotahi ranei te mea pai?

Ko nga whare pukapuka e mahi pai ana ko nga mea e aro nui ana ki tetahi mahi e tino pai ana. Engari ki te tuhi i nga waahanga Terraform nui e ngana ana ki te mahi i nga mea katoa i te wa kotahi, hangahia etahi waahanga kia pai ai te mahi kotahi. Na ka whakakotahihia ina hiahiatia.

Me pehea e whakarereke ai i nga whare pukapuka me te kore hototahi whakamuri?

Ko te kōwae Terraform noa, penei i te whare pukapuka, me korero nga huringa ki nga kaiwhakamahi me te kore e hototahi whakamuri. He hoha ka puta enei huringa i roto i nga whare pukapuka, ka rite ki te hoha ka mahia nga huringa kore-whakamuri-hototahi i roto i nga waahanga Terraform. E taunaki ana kia whakamahia nga tohu git me te semver i te wa e whakamahi ana i nga waahanga Terraform.

Kei te whakahaerehia to ratonga whakaputa i runga i to pona, i tetahi pokapū raraunga ranei?

He taputapu rite a Hashicorp kapua whenua ki te whakahaere i to whenua. Ko enei ratonga matua he ngawari ki te whakahaere, ki te tirotiro, ki te whakaae ki nga huringa whenua.

Kaore koe e tuhi i nga whakamatautau?

E mohio ana nga miihini me whakamatau te waehere, engari ka wareware tonu ratou ki te whakamatautau i te wa e mahi ana me Terraform. Mo nga hanganga, kua kiki tenei i nga waa tinihanga. Ko taku tohutohu ko te "whakamatautau" ranei "te hanga tauira" nga taapu ma te whakamahi i nga waahanga ka taea te tuku tika mo te whakamatautau i te wa o te CI/CD.

Terraform me nga ratonga moroiti

Ko te oranga me te mate o nga kamupene microservices e whakawhirinaki ana ki te tere, te auaha, me te whakararu o nga papamahi microservice hou.

Ko te ahua kino e pa ana ki nga hoahoanga microservice, kaore e taea te whakakore, e pa ana ki te mahi, ehara i te waehere. Ki te whakaaro koe ko Terraform he huarahi noa ki te whakaaunoa i te taha hanganga o te hoahoanga microservices, kei te ngaro koe i nga hua pono o te punaha. Inaianei kua oti he rite nga mea katoa ki te waehere.

Source: will.com

Tāpiri i te kōrero