AWS پیرامیٹر اسٹور بمقابلہ ماحولیاتی متغیرات

اس مضمون میں میں یہ دیکھ رہا ہوں گا کہ کیا اور جب AWS پیرامیٹر اسٹور کو AWS بنیادی ڈھانچے میں ماحولیاتی تغیرات کو تبدیل کرنے کے لئے استعمال کیا جانا چاہئے۔ میں یہ نہیں دیکھ رہا ہوں گا کہ ان میں سے ہر ایک کیا ہے یا ان کو کس طرح گہرائی میں مرتب کرنا ہے بلکہ ان دونوں کے مابین ایک موازنہ ہے۔

ماحولیاتی متغیرات کا معاملہ

سیٹ اپ کرنا آسان ہے

ماحول کے متغیر کے ساتھ سیٹ اپ حاصل کرنا آسان ہے۔ نوڈ ، مثال کے طور پر ، ڈاٹنیو ماڈیول ہے جو ایک کمانڈ کے ذریعہ این پی ایم کے ذریعہ انسٹال کیا جاسکتا ہے:

npm انسٹال dotenv

ہمیں یہ یقینی بنانا ہوگا کہ ہمارے اسکرپٹ میں کہیں بھی ڈوٹنف کا داخلہ نقطہ موجود ہے ، عام طور پر مطلوبہ بیان کے ذریعے۔

ضرورت ہے ('dotenv'). تشکیل ()

یہاں سے ، ہمیں اپنے ماحولیاتی متغیرات کو پروجیکٹ کے روٹ فولڈر میں رکھی گئی .env فائل میں شامل کرنے کی ضرورت ہے۔

آپ ڈاٹینیو ماڈیول کے بارے میں مزید معلومات یہاں حاصل کرسکتے ہیں۔

یہ واضح رہے کہ پیرامیٹر اسٹور ابتدائی طور پر سیٹ اپ کی آسانی میں ایک جیسے پہلوؤں کا اشتراک نہیں کرتا ہے - اگر آپ نے پہلے کبھی بھی پیرامیٹر اسٹور کے ساتھ کام نہیں کیا ہے تو ، سیٹ اپ کے عمل پر غور کرنے کے لئے کچھ چیزوں کے ساتھ سخت محنت محسوس ہوسکتی ہے:

  • آپ کو AWS اکاؤنٹ تک رسائی کی ضرورت ہے
  • آپ کو یہ جاننے کی ضرورت ہے کہ AWS ڈیش بورڈ کیسے چلائیں - خاص طور پر ایس ایس ایم سیکشن۔
  • حساس / محفوظ پیرامیٹرز کو کے ایم ایس کے ساتھ خفیہ کرنا چاہئے - جس میں خود کو کچھ اضافی سیٹ اپ کی ضرورت ہوتی ہے (https://aws.amazon.com/kms/)
  • آپ کی ضروریات پر منحصر ہے ، آپ کو پیرامیٹر اسٹور کو صحیح طریقے سے کام کرنے کے ل other دیگر AWS سروسز جیسے IAM اور SSM آرڈر کے بارے میں تشکیل علم کی ضرورت ہوسکتی ہے۔
  • تمام پیرامیٹرز کو بادل پر میزبانی کی جاتی ہے جس میں IAM پروگرامیمیٹک رسائی کی ضرورت ہوتی ہے ، جس کا مطلب ہے کہ ایک بلاتعطل کنکشن کی ضرورت ہے (یہ واضح رہے کہ bespoke لوکل سیٹ اپ مقامی متغیر کے ساتھ تشکیل دیا جاسکتا ہے جو صورتحال کے لحاظ سے پیرامیٹر اسٹور متغیرات کی جگہ استعمال کیا جاسکتا ہے۔ I در حقیقت اس طرح کے نقطہ نظر کی حوصلہ افزائی کرے گا)۔

ترقی ، تعیناتی اور جانچ کے دوران اپ ڈیٹ کرنا آسان ہے

ماحولیاتی متغیرات آسانی سے مذکورہ بالا .env فائل اور ڈاٹینیو ماڈیول کے ذریعے اپ ڈیٹ ہوسکتے ہیں۔ اس فائل کی مختلف حالتیں بھی ہر ایک متعلقہ ماحول کے مطابق بنائی اور استعمال کی جاسکتی ہیں۔ جانچ کے منظر نامے میں ہمارے ماحولیاتی متغیرات کی درآمد اسی طرح کام کرتی ہے (متعلقہ ڈاٹینیو فائل سے این وی ورس کی درآمد)۔

اسٹیجنگ یا پروڈکشن سرور پر تعی .ن کرنے کے لئے ، ہم صرف .env فائل کا متبادل ورژن استعمال کرنا چاہتے ہیں۔ یہ آپ کے ورژن کنٹرول سسٹم میں موجود .env فائل کو مقامی طور پر (عام طور پر گٹ) میں نظر انداز کرکے اور ہر مرحلے / سرور مثال کے طور پر ایک نئی کاپی بنا کر آسانی سے کیا جاسکتا ہے۔

ماحولیاتی متغیرات بھی مسلسل انٹیگریشن سسٹم (CI) کے ساتھ اچھی طرح سے مل جاتے ہیں۔ مثال کے طور پر سرکل سی آئی میں ماحولیاتی متغیرات کے نظم و نسق کے لئے ایک سرشار سیکشن موجود ہے جہاں انہیں پراجیکٹ بلڈ لیول پر شامل کیا جاسکتا ہے اور جب کسی بھی جگہ تعیناتی کے لئے تیار ہوتا ہے تو اسے اپ ڈیٹ کیا جاسکتا ہے۔

پیرامیٹر اسٹور کے نقطہ نظر سے ، یہ زبان / فریم ورک ایگنوسٹک ہے ، مطلب یہ ہے کہ پیرامیٹر اسٹور سروس تک پیش قدمی رسائی کے ساتھ AWS SDK کا استعمال کرتے ہوئے تمام سیٹ اپ کو دستی طور پر انجام دینے کی ضرورت ہوگی ، یا اسی طرح کسی تیسرے فریق فراہم کنندہ (جیسے این پی ایم ماڈیول) کے ذریعہ . اگرچہ AWS اور اس کی خدمات کلاؤڈ کمپیوٹنگ ڈومین میں حفاظتی معیارات کا معیار ہیں ، لیکن آپ اپنی مرضی کے مطابق ماڈیول جس کو آپ تیار کرنا چاہتے ہیں یا استعمال کرسکتے ہیں وہ بددیانتی یا نگرانی کی وجہ سے سیکیورٹی خطرات کا شکار ہوسکتے ہیں۔ یہ بات ذہن میں رکھتے ہیں کہ اس کے لئے انڈسٹری قبول شدہ ماڈیولز ہیں۔ AWS جیسے بااعتماد اداروں کے ذریعہ برقرار اور توثیق کی جاتی ہے۔

تعی /ن / جانچ کے نقطہ نظر سے پیرامیٹر اسٹور بھی چیلنجوں کا ایک انوکھا مجموعہ لے کر آتا ہے ، گویا کہ یہاں تجویز کردہ نقطہ نظر موجود ہیں ، جب آپ پیرامیٹر اسٹور کے ساتھ بات چیت کا انتخاب کرتے ہیں تو یہ آپ پر پوری طرح سے منحصر ہوتا ہے۔

ماحولیاتی تغیرات استعمال کرنے کے لئے آزاد ہیں

اگرچہ AWS پیرامیٹر اسٹور میں اضافی معاوضے (https://aws.amazon.com/systems-manager/pricing) شامل نہیں ہیں ، ایمیزون کے متعلقہ خدمات جیسے قیمتوں کا بنیادی ڈھانچہ جیسے KMS (https://aws.amazon.com/kms/pricing) ) استعمال سے دور اضافی اخراجات اٹھانا شروع کردیں گے۔ دوسری طرف ، ماحولیاتی متغیرات کا استعمال مفت ہے۔

تو پھر کیوں ماحول کے متغیرات کی جگہ؟ : پیرامیٹر اسٹور کا معاملہ

اس مقام تک وینیلا ماحول کا متغیر حل مرحلہ / محفوظ متغیر میدان میں غلبہ حاصل کرنے کی دوڑ میں پیرامیٹر اسٹور کو ایجاد کرتا ہے۔ اگرچہ پیرامیٹر اسٹور اس مرحلے میں حل ہونے سے کہیں زیادہ چیلنجز پیدا کرتا نظر آتا ہے ، تاہم ، یہاں کچھ چیزیں ہیں ، جو پیرامیٹر اسٹور غیر متنازعہ طور پر ماحولیاتی متغیرات سے بہتر کارکردگی کا مظاہرہ کرتی ہے۔

پیرامیٹر اسٹور متغیرات کو متعدد منصوبوں میں بانٹ سکتا ہے

پروجیکٹوں میں ماحولیاتی تغیرات کا اشتراک کرنے کے لئے میں نے جو بہترین سیٹ اپ پایا ہے وہ یہ ہے کہ کسی مشترکہ وجود میں موجود فائل سے ماحولیاتی متغیرات لانے والے ایک خود کار طریقے سے تعیناتی کے عمل کا استعمال کیا جائے ، جیسے کہ ایس 3 بالٹی جو ضرورت کے مطابق پروجیکٹ کنفیگریشن میں پلگ ہوجائے (عام طور پر اس کے ذریعے کیا جاتا ہے) اسکرپٹ جو CI سروس سے چلتی ہے)۔ پچھلے تجربے سے ، یہ انتہائی معقول طور پر قابل عمل آپشن ہے (براہ کرم مجھے بتائیں کہ کیا آپ کو کسی بھی بہتر اختیارات کا تجربہ ہے)۔ یہ بدقسمتی سے ابتدائی طور پر ایک تکلیف دہ مشق ہے اور بالآخر کوئی ایسی چیز نہیں جسے آپ دستی طور پر طویل عرصے تک برقرار رکھنا چاہتے ہو ، جس کی بنیادی وجہ یہ ہے کہ اس کی تشکیل یا اسے برقرار رکھنے کے دوران راستے میں ہونے والی کسی بھی غلطی یا نگرانی سے بھی مسائل پیدا ہوسکتے ہیں۔

ہر وہ چیز جو ہم خود کار طریقے سے ایڈ ڈبلیو ایس سروس کے حوالے کرسکتے ہیں ، ہمیں چاہئے اور یہیں سے پیرامیٹر اسٹور چمکتا ہے۔ پروجیکٹوں میں کے ایم ایس کیز اور پیرامیٹر اسٹور کے متغیرات کا تبادلہ باکس سے باہر آتا ہے۔

میں ایک قدم پیچھے ہٹنا چاہتا ہوں اور AWS کو ایک جامع نقطہ نظر سے دیکھنا چاہتا ہوں۔ ایمیزون نے کلاؤڈ کمپیوٹنگ کے ہر پہلو کو سنبھالنے میں بہت اچھا کام کیا ہے ، اور ان میں ترقیاتی ٹیموں کی بہتات ہے جو مخصوص خدمات کے لئے وقف ہے جس کی آپ اور میں کبھی بھی نقل نہیں کرسکیں گے۔ اس کا بالآخر مطلب یہ ہے کہ ایک بار جب آپ ایمیزون کے ’تجربے‘ کو خرید لیں تو آپ کو AWS کلاؤڈ انفراسٹرکچر کے بینر کے تحت مل کر کام کرنے کے لئے ڈیزائن کی گئی تمام خدمات کا استعمال کرنا چاہئے۔ اگرچہ اس کے مسائل ہیں (جیسے کہ آپ اور میں اب ایک پیش کش کی حیثیت سے اے ڈبلیو ایس میں مکمل طور پر بند ہیں) ، لیکن آپ ان کے لئے ہر ممکن چیز کو آف لوڈ کرنا بالآخر آسان ہوجاتے ہیں ، کیوں کہ اس کے بارے میں آپ کو پریشان ہونے کی ضرورت ہے۔ تھوڑا سا اضافی لاگت آئے گی۔

پیرامیٹر اسٹور ایکسیس کنٹرول کو استعمال کرسکتا ہے

صارف تک رسائی پر مخصوص کنٹرول رکھنا IAM سروس کو AWS کی سب سے بڑی خوبی میں سے ایک بناتا ہے ، خاص طور پر جب یہ ممکنہ طور پر حساس معلومات جیسے API کیز یا پاس ورڈز سے نمٹنے کی بات آتی ہے۔ وینیلا احساس (جیسے ڈاٹنک اپروچ کا استعمال کرتے ہوئے) کے اندر ماحولیاتی متغیر تک رسائی پر قابو پانے کا تصور صرف ایک آپشن نہیں ہے (جب تک کہ آپ اپنے اپنے حل طلب حل کو تیار کرنے پر راضی نہ ہوں - یا ’بہترین طریقوں‘ کے دائرے سے باہر منتقل ہوجائیں)۔

پیرامیٹر اسٹور کی قدر آسانی سے اپ ڈیٹ ہوجاتی ہے

اپنے پیرامیٹر اسٹور میں کسی بھی اقدار کو اپ ڈیٹ کرنے کے ل you آپ کو اپنے AWS ڈیش بورڈ (یا سی ایل آئی) تک مناسب رسائ کی ضرورت ہے ، اس کا مطلب یہ ہے کہ غیر تکنیکی ٹیم کے ممبران بھی AWS ڈیش بورڈ تجربے کے تھوڑے سے اقدار کو اپ ڈیٹ کرسکتے ہیں۔

ماحولیاتی متغیر کو ماحولیاتی متغیر کو اپ ڈیٹ کرنے کے ماحولیاتی متغیر پہلو پر پریشانی پیدا ہوجاتی ہے کیونکہ عام طور پر صرف ہنر مند ٹیم کے ممبران جن تک سرور کو اپ ڈیٹ کرنے کی اجازت حاصل ہوتی ہے وہ ان تک رسائی اور تازہ کاری کرسکیں گے۔ مزید برآں یہ آپ کے پروجیکٹ کو کمزوری کی ایک سطح پر کھولتا ہے ، کیونکہ سرور میں لاگ ان ہونے اور مکھی پر بنیادی پروجیکٹ فائلوں کو اپ ڈیٹ کرنا (یہاں تک کہ خودکار سیٹ اپ پر بھی) مسائل کا باعث بن سکتے ہیں۔

کے ایم ایس پیرامیٹر اسٹور کی اقدار آسانی سے مرموز کرسکتے ہیں

اگرچہ پیرامیٹر اسٹور میں خفیہ کاری والی اقدار کا ابتدائی سیٹ اپ تھوڑا سا مشکل معلوم ہوسکتا ہے ، ایک بار جب آپ اس کی عادت ہوجائیں تو ، یہ بالکل آسان ہے اور بہت زیادہ معنی خیز ہے - یہاں تک کہ غیر تکنیکی نقطہ نظر سے بھی۔ یہ سیکیورٹی کی ایک بہت بڑی پرت بھی ہے جو اس میں شامل نہیں ہے۔

ماحولیاتی تغیرات کے ل enc خفیہ کاری کا استعمال ممکن ہے جسے آپ سادہ متن میں اسٹور نہیں کرنا چاہتے ہو ، لیکن اس کو دستی طور پر مرتب کرنا اور برقرار رکھنا مشکل ہوسکتا ہے۔

پیرامیٹر اسٹور متغیرات کو منظم کیا جاسکتا ہے

پیرامیٹر اسٹور استعمال کرتے وقت ایک ہی جگہ پر پروڈکشن اور اسٹیجنگ پیرامیٹرز کا انتظام کیا جاتا ہے ، جس میں پیرامیٹرز کو چھانٹنا اور فلٹر کرنا شامل ہے اور حتی کہ اپنے مقصد کو واضح کرنے کے لئے وضاحتیں شامل کرنا بھی شامل ہیں۔

ماحول کے متغیر نقطہ نظر سے آپ کو صرف متغیر تنظیم سے باہر نہیں ملتا ہے۔ ماحول کے متغیر متغیرات کا انتظام کرنا آسان ہوسکتا ہے ، لیکن جب یہ دستی طور پر انتظام کرنے کے لئے بہت زیادہ متغیرات موجود ہیں تو یہ مسئلہ بن جاتا ہے۔ ماحولیاتی متغیرات کو مختلف فائلوں اور فولڈروں میں ترتیب دینا ممکن ہوسکتا ہے ، لیکن اس کے لئے واقعی میں ایک قابل عمل آؤٹ آف دی باکس موجود نہیں ہے جو ایسا نہیں ہوتا ہے جس سے چیزیں غیرضروری طور پر پیچیدہ ہوجاتی ہیں۔

بالآخر ، مذکورہ عوامل کو مدنظر رکھتے ہوئے ، اس فیصلے کا فیصلہ پروجیکٹ کی پیچیدگی اور دائرہ کار سے کیا جانا چاہئے۔

نتیجہ اخذ کرنا

اپنے اسٹیج / محفوظ پیرامیٹرز کا نظم و نسق کرنے کے لئے پیرامیٹر اسٹور یا ماحولیات کے متغیرات کو استعمال کرنے کے انتخاب کرنے پر دیگر عوامل پر بھی غور کرنا پڑے گا ، لیکن امید ہے کہ اس مضمون میں ہم نے اہم باتوں کا احاطہ کیا ہے۔

اگر آپ کے پاس کوئی اور عوامل ہیں جو آپ کو قابل قدر سمجھتے ہیں تو میں آپ کے خیالات کو سننا چاہتا ہوں۔