Dyqani i Parametrave AWS vs Variablave të Mjedisit

Në këtë artikull do të shikoj nëse dhe kur Dyqani i Parametrave AWS duhet të përdoret për të zëvendësuar variablat e mjedisit brenda infrastrukturës AWS. Unë nuk do të shikoj se cilat janë secila prej këtyre ose si t'i vendosim ato në ndonjë mënyrë të thelluar, por më tepër një krahasim midis të dyve.

Një rast për variablat e mjedisit

Lehtë për tu vendosur

Shtë shumë e thjeshtë për të marrë konfigurimin me ndryshoret e mjedisit. Nyja, për shembull, ka një modul dotenv që mund të instalohet përmes npm me një komandë të vetme:

npm instaloni dotenv

Ne duhet të sigurohemi që dotenv ka një pikë hyrëse diku në skenarin tonë, zakonisht përmes një deklarate të kërkuar -

të kërkojë ( 'dotenv'). config ()

Nga këtu, të gjithë ne duhet të bëni është të shtoni variablave tanë mjedis në një skedar .env vendosur në dosjen rrënjë e projektit.

Mund të gjeni më shumë informacion mbi modulin e dotenv këtu:

Duhet të theksohet se Store Parametri nuk fillimisht ndajnë të njëjtat aspekte në lehtësinë e instalimit - në qoftë se ju nuk keni punuar me Store Parametri para, procesi i instalimit mund të duket mjaft e mundimshme me disa gjëra të marrin në konsideratë:

  • Ju duhet qasje në një llogari AWS
  • Ju duhet e di se si për të lundruar në pult AWS - veçanërisht seksionin SSM.
  • Parametrat sensitivë / të sigurt duhet të kodohen me KMS - që në vetvete kërkon disa konfigurime shtesë (https://aws.amazon.com/kms/)
  • Në varësi të nevojave tuaja, mund t'ju duhet njohuri për konfigurimin e shërbimeve të tjera AWS siç janë IAM dhe urdhëri SSM për ta bërë Dyqanin e Parametrave të funksionojë si duhet.
  • Të gjithë parametrat janë të pritur në cloud që kërkojnë qasje programore të IAM, që do të thotë se kërkohet një lidhje e pandërprerë (duhet të theksohet se konfigurimet lokale të ndaluara mund të krijohen me ndryshore lokale që mund të përdoren në vend të variablave të Parametrave Store në varësi të situatës — I në fakt do të inkurajonte këtë lloj qasjeje).

Azhurnohet lehtë gjatë zhvillimit, vendosjes dhe testimit

Variablat e mjedisit mund të azhurnohen lehtësisht përmes skedarit. Të lartpërmendur. Variacionet e kësaj skedari gjithashtu mund të krijohen dhe përdoren për t'iu përshtatur secilit mjedis përkatës. Importimi i variablave tona të mjedisit në një skenar testimi funksionon në të njëjtën mënyrë (importimi i env vars nga skedari përkatës i dotenv).

Për vendosjen në një server në skenë ose prodhim, gjithçka që do të bënim është të përdorim një version alternative të skedarit .env. Kjo mund të bëhet lehtësisht duke injoruar skedarin ekzistues .env në sistemin tuaj të kontrollit të versionit në vend (zakonisht git) dhe duke krijuar një kopje të re në secilin shembull të fazës / serverit.

Variablat e mjedisit gjithashtu integrohen bukur me sistemet e Integrimit të Vazhdueshëm (CI). Rrethi CI, për shembull, ka një seksion të dedikuar për menaxhimin e variablave të mjedisit, ku ato mund të shtohen në një nivel të ndërtimit të projektit dhe azhurnohen në një vend të vetëm, kur janë gati për vendosje -

Nga perspektiva e Dyqanit Parametër, është gjuhë / kornizë agnostike, do të thotë që të gjitha konfigurimet do të duhet të bëhen me dorë duke përdorur një SDK AWS me qasje programatike në shërbimin e Parametrave Store, ose në mënyrë të ngjashme përmes një ofruesi të palës së tretë (siç është një modul npm) . Ndërsa AWS dhe shërbimet e tij janë pikë referimi për standardet e sigurisë në cloud domain, modulet porosi që ju mund të dëshironi për të zhvilluar ose për të përdorur mund të ketë dobësi të sigurisë për shkak të ligësi apo mbikëqyrjes - Duke pasur parasysh se ka industria pranuar modulet për këtë që janë mirëmbahen dhe miratohen nga njësi të besueshme siç janë vetë AWS.

Nga këndvështrimi i vendosjes / testimit, Dyqani i Parametrave gjithashtu vjen me një seri sfidash unike, pasi edhe pse ka qasje të sugjeruar, se si dhe kur vendosni të ndërveproni me Dyqanin Parametër varet plotësisht nga ju.

Variablat Mjedisi janë të lira për t’u përdorur

Edhe pse Dyqani i Parametrave të AWS nuk përfshin tarifa shtesë (https://aws.amazon.com/systems-manager/pricing), struktura e çmimeve të Amazon për shërbime të lidhura siç janë KMS (https://aws.amazon.com/kms/pricing ) do të fillojë të pësojë kosto shtesë bazuar në përdorim. Nga ana tjetër, përdorimi i variablave të mjedisit është falas.

Atëherë, pse të zëvendësojmë variablat e mjedisit? : një rast për Dyqanin e Parametrave

Deri në këtë pikë, zgjidhja e ndryshueshme e mjedisit të vaniljes duket se po ndryshon Dyqanin e Parametrave në garën për mbizotërim në arenën / ndryshimin e sigurt të arenës. Ndërsa Dyqani i Parametrave duket se krijon më shumë sfida sesa zgjidh në këtë pikë, megjithatë, ekzistojnë disa gjëra që Dyqani i Parametrave pa diskutim bën më mirë sesa variablat e mjedisit:

Variablat e dyqanit të parametrave mund të ndahen në shumë projekte

Vendosja më e mirë që kam gjetur për ndarjen e variablave të mjedisit nëpër projekte është të përdor një proces automatik të vendosjes që merr ndryshore të mjedisit nga një skedar i përfshirë në një entitet të përbashkët, siç është një kovë S3 i cili futet në konfigurimin e projektit sipas nevojës (zakonisht bëhet përmes një skenari që drejtohet nga një shërbim CI). Nga përvoja e mëparshme, ky është opsioni më i semantike e mundshme (ju lutem let me know nëse keni përvojë me ndonjë opsionet më të mira). Kjo është për fat të keq një ushtrim i lodhshëm fillimisht dhe në fund të fundit jo diçka që do të dëshironit ta mirëmbani me dorë në planin afatgjatë, gjë që është kryesisht sepse çdo gabim ose mbikëqyrje gjatë rrugës gjatë vendosjes ose mirëmbajtjes së tij mund të çojë në probleme.

Çdo gjë që ne mund të dorëzojë një shërbim AWS për të automatizuar, ne duhet dhe ky është vendi ku Store Parametri shkëlqen. Ndarja çelësat km dhe variablave Parametri Store në të gjithë projektet vjen jashtë-of-the-box.

Dua të bëj një hap prapa dhe të shikoj AWS nga një këndvështrim holistik. Amazon ka bërë një punë të shkëlqyeshme në menaxhimin e çdo aspekti të informatikës cloud, dhe ka një mori ekipe zhvillimi të dedikuar për shërbime specifike që ju dhe unë kurrë nuk do të jemi në gjendje t'i përsërisim. Në fund të fundit do të thotë që pasi të keni blerë përvojën në Amazon, duhet të përdorni të gjitha shërbimet e krijuara për të punuar së bashku nën flamurin e infrastrukturës së reve AWS. Edhe pse ka problemet e saj (si ju dhe unë tani jemi plotësisht të kyçur në AWS si ofrues të shërbimit), në fund të fundit është më e lehtë të ngarkoni gjithçka që mundeni për ta, pasi është një gjë më pak që ju duhet të shqetësoheni - edhe nëse kushton pak më shumë.

Parametri Store mund të përdorë kontrollin e hyrjes

Pasja e një kontrolli specifik mbi përdorimin e bën shërbimin IAM një nga atributet më të mëdha të AWS, veçanërisht kur bëhet fjalë për trajtimin e informacionit potencialisht të ndjeshëm, siç janë çelësat API ose fjalëkalimet. Koncepti i kontrollit të hyrjes në variablat e mjedisit brenda sensit të vaniljes (p.sh. duke përdorur qasjen dotenv) nuk është thjesht një mundësi (përveç nëse jeni të gatshëm të zhvilloni vetë zgjidhjen tuaj të ndihmës - ose të lëvizni jashtë sferës së 'praktikave më të mira').

Vlerat e dyqanit të parametrave azhurnohen lehtësisht

Në mënyrë që të azhurnoni ndonjë vlerë në Dyqanin tuaj të Parametrave, gjithçka që ju nevojitet është qasja e duhur në pultin tuaj AWS (ose CLI), që do të thotë që edhe anëtarët jo-teknikë të ekipit mund të azhurnojnë vlerat me një përvojë të tryezës AWS.

Në anën e ndryshueshme të mjedisit, ndryshimi i ndryshoreve të mjedisit të argumentit bëhet problematik pasi zakonisht vetëm anëtarët e aftë të ekipit që kanë qasje në lejet e azhurnimit të serverit do të jenë në gjendje t'i qasen dhe azhurnojnë këto. Për më tepër, kjo hap projektin tuaj në një shtresë të cenueshmërisë, pasi hyrja në një server dhe azhurnimi i skedarëve bazë të projektit në fluturim (madje edhe në një konfigurim automatik) mund të çojnë në çështje.

KMS mund të shifrojë me lehtësi vlerat e Dyqanit të Parametrave

Edhe pse konfigurimi fillestar i vlerave encrypting në Dyqanin Parametër mund të duket pak i bezdisshëm, pasi të mësoheni me të, ai është mjaft i thjeshtë dhe ka shumë kuptim - qoftë edhe nga një perspektivë jo teknike. Kjo është gjithashtu një shtresë e madhe e sigurisë që shtohet, jashtë kutisë.

Isshtë e mundur të përdoret kriptimi për variablat e mjedisit që mund të mos dëshironi t'i ruani në tekst të thjeshtë, por kjo mund të jetë e vështirë për t'i vendosur dhe mirëmbajtur me dorë.

Mund të organizohen ndryshoret e dyqaneve të parametrave

Parametrat e prodhimit dhe skenimit menaxhohen në një vend të vetëm kur përdorni Parametrin Dyqan, i cili përfshin renditjen dhe filtrimin e parametrave dhe madje shtimin e përshkrimeve për të sqaruar qëllimin e tyre.

Nga një këndvështrim i ndryshueshëm i mjedisit, ju thjesht nuk merrni një organizatë të ndryshueshme. Pasja e disa ndryshoreve të mjedisit mund të jetë mjaft e lehtë për tu menaxhuar, por kjo bëhet problematike kur ka shumë ndryshore për të menaxhuar me dorë. Mund të jetë e mundur të organizohen variablat e mjedisit në skedarë dhe dosje të ndryshme, por me të vërtetë nuk ekziston një zgjidhje e zbatueshme jashtë kutisë për këtë që nuk duket se i komplikon gjërat në mënyrë të panevojshme.

Në fund të fundit, vendimi rreth cilit prej dy zgjidhjeve për t'u përdorur duhet të përcaktohet nga kompleksiteti dhe fushëveprimi i projektit, duke marrë parasysh faktorët e përmendur më lart.

përfundim

Ka faktorë të tjerë që duhet të merren në konsideratë kur zgjidhni nëse do të përdorni Dyqanin e Parametrave ose variablat e mjedisit për të menaxhuar parametrat tuaj fazor / të sigurt, por shpresojmë që në këtë artikull të kemi mbuluar ato të rëndësishme.

Nëse keni ndonjë faktor tjetër që ju mendoni se ia vlen të merren parasysh, unë do të doja të dëgjoja mendimet tuaja.