Werrej[Aħbi][Uri]
L-infrastruttura hija parti importanti mill-proċess ta' żvilupp ta' softwer peress li hija direttament responsabbli għall-operat bla xkiel ta' applikazzjoni ta' softwer. Servers, load balancers, firewalls, databases, u clusters ta’ kontenituri kkumplikati huma kollha eżempji ta’ infrastruttura.
Minħabba li d-diffikultajiet fl-infrastruttura jippervadu l-proċess kollu ta 'żvilupp, huma rilevanti lil hinn mis-sitwazzjonijiet ta' produzzjoni.
Dawn jinkludu pjattaformi CI/CD, ambjenti ta' stadji, u għodod ta' ttestjar, fost affarijiet oħra.
Hekk kif tiżdied il-kumplessità tal-prodott tas-softwer, dawn l-isfidi tal-infrastruttura jsiru aktar kritiċi. It-teknika tradizzjonali tal-ġestjoni manwalment tal-infrastruttura malajr issir soluzzjoni mhux skalabbli biex taqbel mal-aspirazzjonijiet taċ-ċikli ta 'żvilupp rapidu ta' softwer ibbażati fuq DevOps tal-lum.
Bħala riżultat, Infrastructure as Code (IaC) saret is-soluzzjoni de facto għall-iżvilupp illum. L-infrastruttura bħala kodiċi (IaC) tippermettilek li tiskala u ssegwi l-bidliet fl-infrastruttura hekk kif iqumu.
Aħna ser nagħtu ħarsa aktar mill-qrib lejn l-Infrastruttura bħala Kodiċi f'din il-biċċa, inklużi l-benefiċċji tagħha, għaliex hija vitali, u aktar. Allura, ejja nibdew.
X'inhu l- Infrastruttura bħala Kodiċi?
L-infrastruttura bħala Kodiċi huwa l-proċess tal-provvista u l-konfigurazzjoni ta’ ambjent bl-użu tal-kodiċi aktar milli l-konfigurazzjoni manwalment tal-apparati u s-sistemi xierqa. L-iżviluppaturi jmexxu skripts wara li jiddefinixxu l-parametri tal-kodiċi, u l-pjattaforma IaC awtomatikament tiġġenera l-infrastruttura tal-cloud.
Tali konfigurazzjonijiet awtomatizzati tal-IT jippermettu lit-timijiet jibnu malajr is-setting tal-cloud meħtieġ għall-ittestjar u t-tħaddim tal-prodott tagħhom. L-infrastruttura bħala Kodiċi tippermetti lill-iżviluppaturi jibnu kwalunkwe komponent tal-infrastruttura li jridu, bħal netwerks, load balancers, databases, magni virtwali, u tipi ta' konnessjoni.
F'termini layman, huwa l-proċess tal-forniment u l-ġestjoni tal-infrastruttura speċifikata bl-użu tal-kodiċi aktar milli bl-idejn. IaC hija wkoll teknika DevOps importanti li hija meħtieġa għal ċiklu ta 'ħajja ta' kunsinna ta 'softwer b'ritmu mgħaġġel.
Jippermetti lit-timijiet DevOps jibnu u jverżjoni malajr infrastruttura bl-istess mod li l-kodiċi tas-sors jiġi verżjonat, kif ukoll isegwu dawn il-verżjonijiet biex jimminimizzaw l-inkonsistenza bejn l-ambjenti tal-IT, li jistgħu jikkawżaw problemi kbar waqt l-iskjerament.
Approċċi dikjarattivi vs imperattivi għall-IaC
IaC jista' jiġi avviċinat b'żewġ modi: dikjarattiv jew imperattiv.
Għodda IaC se twaqqaf is-sistema għalik jekk tuża approċċ dikjarattiv, li jiddeskrivi l-istat maħsub tas-sistema, inkluż liema riżorsi teħtieġ u kwalunkwe kwalitajiet li għandu jkollhom.
Approċċ dikjarattiv iżomm ukoll rekord tal-istat attwali tal-oġġetti tas-sistema tiegħek, u jagħmilha aktar faċli biex timmaniġġja l-perijodi ta' waqfien tal-infrastruttura tiegħek. Metodu imperattiv, min-naħa l-oħra, jiddeskrivi l-istruzzjonijiet partikolari li għandhom jiġu esegwiti fl-ordni xierqa biex tinħoloq il-konfigurazzjoni maħsuba.
Ħafna teknoloġiji IaC jużaw approċċ dikjarattiv għall-provvista tal-infrastruttura u se jagħmlu dan awtomatikament. Għodda IaC dikjarattiva tapplika modifiki għall-istat mixtieq għalik jekk tagħmilhom. Ikollok bżonn issir taf kif tapplika dawk l-aġġustamenti jekk qed tuża għodda essenzjali. L-għodod IaC spiss huma kapaċi joperaw fiż-żewġ modi, għalkemm jiffavorixxu lil wieħed fuq l-ieħor.
Kif taħdem l-Infrastruttura bħala kodiċi?
Biex tiġi implimentata kompletament l-infrastruttura bħala kodiċi, iridu jkunu fis-seħħ ftit rekwiżiti.
Pjattaforma għall-cloud hosting bħala servizz (IaaS)
L-ewwel u l-aktar ħtieġa importanti hija l-hosting ta 'aċċess remot. L-għodda tal-ġestjoni tal-konfigurazzjoni għandha tikkonnettja mal-host remot u tagħmel bidliet hemmhekk. It-tim tiegħek għandu jiggarantixxi li l-għodda tal-ġestjoni tal-konfigurazzjoni jkollha aċċess jekk l-infrastruttura mbiegħda hija ġestita waħedha.
L-APIs fuq il-pjattaforma tal-hosting tal-cloud ppermettiet IaaS jippermettu lill-klijenti jibnu, ineħħu u jibdlu r-riżorsi tal-infrastruttura fuq talba. Is-sistemi ta 'ġestjoni tal-konfigurazzjoni jistgħu jużaw dawn l-APIs biex awtomataw dawn l-attivitajiet saħansitra aktar. Digital Ocean, Amazon AWS, u Microsoft Azure huma tliet sistemi IaaS ewlenin.
Pjattaforma għall-ġestjoni tal-konfigurazzjoni
Il-ġabra ta' għodod li tikkonnettja mal-APIs tal-IaaS u awtomatizza l-operazzjonijiet tipiċi hija l-prerekwiżit li jmiss għat-tlestija tal-IaC. Grupp ta' nies jistgħu jaħdmu flimkien biex jipproduċu ġabra ta' skripts u għodod. Madankollu, ikun jeħtieġ ammont sinifikanti ta’ sforz, manutenzjoni kontinwa, u redditu minimu fuq l-investiment. Terraform, Ansible, Salt Stack, u Chef huma biss ftit mill-għodod ta 'ġestjoni tal-konfigurazzjoni open-source li jittrattaw din l-isfida.
Sistema ta 'Kontroll tal-Verżjoni
Pjattaforma ta' ġestjoni tal-konfigurazzjoni tuża fajls ta' test miktuba f'lingwa ta' markup bħal YAML biex tipprovdi kompiti u sekwenzi għall-pjattaforma biex tesegwixxi. Dawn il-fajls tat-test jistgħu jiġu ttrattati bħala kodiċi tal-applikazzjoni u maħżuna f'repożitorju tal-kontroll tal-verżjoni. It-talbiet tal-ġibda u r-reviżjonijiet tal-kodiċi huma permessi fir-repożitorju, li jaġixxi bħala punt wieħed tal-verità. Is-sistema ta 'kontroll tal-verżjoni Git hija l-aktar popolari.
B'dawn il-prerekwiżiti fis-seħħ, ikkunsidra x-xenarju li ġej: żviluppatur jixtieq iżid servizz ta 'applikazzjoni ġdid ma' sistema. Dan l-eżempju juri proċess IaC.
- Fil-pjattaforma tal-ġestjoni tal-konfigurazzjoni preferuta tagħhom, Terraform, l-iżviluppatur jimmodifika fajl tat-test tal-konfigurazzjoni YAML. Il-bidliet jiddikjaraw li huwa meħtieġ server ta 'hosting ġdid.
- Fir-repożitorju Git, l-iżviluppatur jimpenja bidliet għal fergħa tal-karatteristiċi. L-iżviluppatur joħloq talba ta 'ġibda peress li r-repożitorju Git tal-proġett huwa ospitat fuq Bitbucket. Membru ieħor tat-tim iħares mit-talba tal-ġibda u jinnota t-titjib tal-infrastruttura l-ġdida. It-talba tal-ġibda hija approvata minn membru tat-tim, u l-iżviluppatur jintegra l-bidla fil-fergħa ewlenija tar-repożitorju.
- Il-pjattaforma tal-konfigurazzjoni hija meħtieġa f'dan il-pass sabiex twettaq aġġornament. L-iżviluppatur jista 'manwalment jibda l-aġġornament. Minħabba li t-tim juża Bitbucket, għandu aċċess għal Bitbucket Pipelines u jista 'jutilizza wieħed biex awtomat din il-proċedura.
- Terraform jgħaqqad mal-IaaS tat-tim wara l-eżekuzzjoni. Terraform juża l-API IaaS biex imexxi sekwenza ta’ kmandi li jaġġornaw l-IaaS għall-konfigurazzjoni tal-infrastruttura antiċipata.
Benefiċċji IaC
IaC jassisti lill-organizzazzjonijiet fil-ġestjoni tad-domandi tagħhom għall-infrastruttura tal-IT f'varjetà ta 'modi permezz ta' proċeduri awtomatizzati. Uħud mill-benefiċċji tal-installazzjoni tal-IaC huma kif ġej:
- Konsistenza: IaC jista 'jżid il-konsistenza u jnaqqas l-iżbalji li jseħħu ta' spiss waqt issettjar manwali. Tipprevjeni wkoll id-drift tal-konfigurazzjoni li jista 'jseħħ waqt operazzjoni manwali. IaC iħallik tipprevjeni modifiki tal-konfigurazzjoni ad hoc mhux dokumentati billi tikkodifika u tiddokumenta l-istandards tal-konfigurazzjoni tiegħek.
- Effiċjenza: Il-kodifikazzjoni tal-infrastruttura tiegħek toħloq mudell ta' forniment, li tagħmel il-konfigurazzjoni, il-manutenzjoni u l-amministrazzjoni tas-sistema aktar faċli. Jibni infrastruttura flessibbli, ripetibbli u skalabbli. Bħala riżultat, DevOps jista’ jħaffef kull stadju tal-iżvilupp tas-softwer, u dan jirriżulta f’aktar apps li jiġu ppubblikati kuljum.
- Spiża mnaqqsa: IaC tippermetti li l-magni virtwali jiġu ġestiti b'mod programmatiku, u tneħħi l-ħtieġa għal konfigurazzjoni manwali tal-ħardwer u titjib. Bl-użu tal-istess biċċa ta 'kodiċi, operatur wieħed jista' jinstalla u jimmaniġġja magna waħda jew 1000 unità. Bħala riżultat, inqas impjegati huma meħtieġa u tagħmir ġdid m'għadux meħtieġ, li jirriżulta fi iffrankar konsiderevoli tal-ispejjeż.
- Veloċità: IaC inaqqas iż-żmien li jieħu għall-iżviluppaturi biex ifornu l-infrastruttura tagħhom billi jibdluha fi skript sempliċi. Bħala riżultat, l-iskjerament tal-applikazzjonijiet m'għadhomx ittardjati mill-infrastruttura, u softwer ġdid jista' jitwassal b'mod konsiderevoli aktar malajr.
- Naqqas ir-Riskju: Kif jinkoraġġixxi l-IaC kontroll tal-verżjoni, il-fajls tal-konfigurazzjoni tiegħek, bħal kull fajl ieħor tal-kodiċi tas-sors tas-softwer, jistgħu jiġu rintraċċati. Bħala konsegwenza, ir-riskju jitnaqqas.
X'problema ssolvi l-IaC?
Infrastruttura bħala Kodiċi nħolqot biex tindirizza l-kwistjoni ta 'drift ambjent pipeline rilaxx. Mingħajr IaC, it-timijiet huma responsabbli għaż-żamma tas-settings ta 'kull ambjent ta' skjerament. Kull ambjent jevolvi fi snowflake, arranġament uniku li ma jistax jiġi replikat awtomatikament.
Waqt l-iskjeramenti, l-inkonsistenza fost l-ambjenti tikkawża problemi. Snowflakes jeħtieġu operazzjonijiet manwali li huma diffiċli biex jiġu mmaniġġjati u jikkontribwixxu għal żbalji fl-amministrazzjoni u l-manutenzjoni tal-infrastruttura.
Infrastruttura bħala Kodiċi taderixxi mal-idea ta 'idempotenza.
Idempotenza tirreferi għall-fatt li kmand tal-iskjerament dejjem jikkonfigura l-ambjent fil-mira bl-istess mod, irrispettivament mill-istat tal-bidu tal-ambjent. L-impotenza tinkiseb jew billi tissettja awtomatikament mira eżistenti jew tiċħad il-mira eżistenti u tibda mill-ġdid.
Bħala riżultat, bl-użu ta 'IaC, it-timijiet jimmodifikaw id-deskrizzjoni tal-ambjent u l-verżjoni tal-mudell ta' konfigurazzjoni, li ħafna drabi hija miktuba f'formati ta 'kodiċi dokumentati tajjeb bħal JSON. Il-mudell jitmexxa fil-pipeline tar-rilaxx biex jiġu stabbiliti ambjenti fil-mira. It-tim jeditja s-sors, mhux il-mira, jekk ikollhom bżonn jagħmlu bidliet.
Kif jimporta l-IaC fid-DevOps?
L-implimentazzjoni ta' DevOps u metodoloġiji ta' integrazzjoni kontinwa/kunsinna kontinwa (CI/CD) teħtieġ l-użu ta' IaC. Teħles lill-iżviluppaturi mill-maġġoranza tar-responsabbiltajiet tal-provvista, u jippermettilhom li jmexxu skript biss biex l-infrastruttura tagħhom tibda taħdem.
Bħala riżultat, l-iskjerament tal-applikazzjonijiet ma jiġux waqfu waqt li tinbena l-infrastruttura, u s-sadmins tas-sistema ma jiġux mgħobbija b'kompiti manwali li jieħdu ħafna ħin. Mill-integrazzjoni u l-ittestjar permezz tal-kunsinna u l-iskjerament, CI/CD jiddependi fuq awtomazzjoni kostanti u monitoraġġ kontinwu matul iċ-ċiklu tal-ħajja tal-applikazzjoni. Huwa meħtieġ ambjent kostanti biex taħdem l-awtomazzjoni.
Meta t-tim tal-iżvilupp iwassal apps jew jikkonfigura ambjenti mod wieħed u t-tim tal-operazzjonijiet jinstalla u jikkonfigura l-ambjent b'mod differenti, l-awtomatizzazzjoni tal-iskjerament tal-applikazzjonijiet ma tkunx possibbli.
Metodoloġija DevOps tallinja t-timijiet ta 'żvilupp u operazzjonijiet, li tirriżulta f'inqas żbalji, skjeramenti manwali, u inkonsistenzi. Minħabba li kemm it-timijiet tal-iżvilupp kif ukoll tal-operazzjonijiet jistgħu jutilizzaw l-istess deskrizzjoni tal-iskjerament tal-applikazzjoni, IaC jgħinek tissinkronizza l-iżvilupp u l-operazzjonijiet, li tippermetti approċċ DevOps.
Kull ambjent, inkluż l-ambjent tal-produzzjoni tiegħek, għandu jsegwi l-istess metodu ta 'skjerament. Kull darba li jiġi utilizzat IaC, jinħoloq ambjent identiku.
konklużjoni
DevOps tiddependi ħafna fuq l-infrastruttura bħala kodiċi. L-infrastruttura bħala Kodiċi hija l-pass naturali li jmiss biex l-operazzjonijiet tiegħek ikunu lesti għall-futur f'dinja fejn it-teknoloġiji li jfixklu kontinwament qed jittrasformaw is-settur tal-IT.
Jippermettilek tirrealizza l-potenzjal sħiħ ta ' sħaba computing, tnaqqas l-iżbalji assoċjati mal-ġestjoni manwali tal-infrastruttura tal-IT, u ttejjeb il-veloċità li biha jiġi żviluppat is-softwer. Dan kollu jitwettaq filwaqt li jonqsu l-ispejjeż operattivi.
Ħalli Irrispondi