کی میز کے مندرجات[چھپائیں][دکھائیں]
انفرا کاسٹ DevOps، SRE، اور ڈویلپرز کے لیے اہم ہے جو انفراسٹرکچر کے بطور کوڈ پروجیکٹ جیسے کہ Terraform کے لیے کلاؤڈ لاگت کا تخمینہ لگانا چاہتے ہیں۔ Infracost کے ساتھ، آپ مختلف اختیارات کا موازنہ کرتے ہوئے تیزی سے لاگت میں کمی دیکھ سکتے ہیں، جس سے کسی بڑے فیصلے سے پہلے بہتر بصیرت حاصل کرنے میں مدد ملتی ہے۔
انفراکوسٹ کیسے کام کرتا ہے؟
Infracost آپ کے Terraform کوڈ کو اسکین کر کے 3 ملین سے زیادہ قیمتوں کو چیک کر سکتا ہے، اور یہ آپ کے وسائل شروع کرنے سے پہلے ایک سادہ اور پڑھنے میں آسان لاگت کا تخمینہ تیار کرتا ہے۔
آپ انفراکوسٹ کو یہ جاننے کے لیے بھی استعمال کر سکتے ہیں کہ کوڈ کی کون سی لائنوں پر لاگت کا سب سے زیادہ اثر پڑتا ہے کیونکہ یہ آپ کی پل کی درخواستوں میں وسائل کی لاگت کا نقشہ بناتا ہے۔ انفراکوسٹ کو اپنے CI/CD میں ضم کر کے، آپ اپنی ٹیم کے ساتھ تعاون کر سکتے ہیں اور اپنے موجودہ ورک فلو میں ہونے والی تبدیلیوں کے اثرات پر بات چیت کو فعال کر سکتے ہیں۔
انفراکوسٹ اپنی کلاؤڈ پرائسنگ API بیک اینڈ سروس کے ذریعے کام کرتا ہے، اور CLI ٹول کے ساتھ، آپ JSON فارمیٹ میں Terraform پلان کو پارس کر سکتے ہیں۔ API استعمال میں ہر کلاؤڈ وسائل کی انفرادی لاگت کے ساتھ ساتھ کلاؤڈ فراہم کنندہ کی بنیاد پر ان کے متعلقہ لاگت کے پیرامیٹرز کا حوالہ دیتا ہے۔
پروگرام کو چلانے کے لیے کسی اسناد کی ضرورت نہیں ہے، اور یہ Terraform یا تجزیہ کردہ کلاؤڈ وسائل میں کوئی ردوبدل نہیں کرتا ہے۔ Terraform وسائل کی اقسام کی گنتی کا استعمال کرتے ہوئے، API اس بات کو یقینی بناتا ہے کہ نئے وسائل کا حساب رکھا جائے۔
Infracost لاگت کی خرابی کو ظاہر کرنے کے دو اہم طریقے ہیں:
A) اخراجات کی مکمل خرابی۔
ب) موجودہ اور منصوبہ بند ریاست کے درمیان ماہانہ اخراجات کا فرق
Infracost کے ساتھ شروع کرنا (مرحلہ بہ قدم)
Infracost کو انسٹال کرنے اور استعمال کرنا شروع کرنے کے لیے اس مرحلہ وار گائیڈ پر عمل کریں:
1. انفراکوسٹ انسٹال کریں۔
شروع کرنے کا پہلا قدم Infracost انسٹال کرنا ہے، لیکن آپ کے پاس پہلے سے ہونا ضروری ہے۔ ٹرافیفار انسٹال
یہاں Infracost کے مختلف ورژن پر ایک نظر ہے:
macOS ہومبریو:
brew install infracost
infracost -version # v0.9.7 دکھانا چاہیے۔
macOS دستی:
# آپ کے OS/arch کی بنیاد پر CLI ڈاؤن لوڈ کرتا ہے اور اسے /usr/local/bin میں رکھتا ہے۔
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | ایسیچ
لینکس:
# آپ کے OS/arch کی بنیاد پر CLI ڈاؤن لوڈ کرتا ہے اور اسے /usr/local/bin میں رکھتا ہے۔
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | ایسیچ
ڈاکر:
ڈوکر پل انفراکوسٹ/انفرا کوسٹ
ڈاکر رن -rm \
-e INFRACOST_API_KEY=see_following_step_on_how_to_get_this \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/code/ infracost/infracost کی خرابی -path /code/
# انفراکوسٹ یا ٹیرافارم کے لیے دیگر مطلوبہ جھنڈے/انفس شامل کریں۔
# مثال کے طور پر، اگر آپ AWS assume-role استعمال کر رہے ہیں تو ان کی ضرورت ہو سکتی ہے:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
ونڈوز:
ڈاؤن لوڈ اور ان زپ تازہ ترین رہائی. اسے کمانڈ پرامپٹ یا پاور شیل سے چلائیں۔ .\infracost.exe --no-color
دیگر مطلوبہ کمانڈز/جھنڈوں کے ساتھ (رنگ آؤٹ پٹ میں ایک بگ ہے جسے ہمیں ونڈوز پر ٹھیک کرنے کی ضرورت ہے)۔ آپ کو exe فائل کو اس فولڈر میں بھی منتقل کرنا چاہئے جو آپ کے پاس ہے۔ PATH
ماحول متغیر، جیسے۔ C:\Windows
.
2. ایک API کلید حاصل کریں۔
اگلا مرحلہ ایک مفت API کلید کے لیے رجسٹر کرنا ہے، جسے CLI Cloud Pricing API سے استفسار کرنے کے لیے استعمال کرتا ہے جیسے کہ مثال کی اقسام کے لیے قیمتیں حاصل کرنا۔
تمام آپریٹنگ سسٹمز:
انفراکوسٹ رجسٹر
کلید اس میں محفوظ ہے۔ ~/.config/infracost/credentials.yml
.
3. انفراکوسٹ چلائیں۔
اب آپ Infracost چلانے کے لیے تیار ہیں، جو آپ کی Terraform ریاست یا کلاؤڈ وسائل میں کوئی تبدیلی نہیں کرتا ہے۔ آپ اسے جانچنے کے لیے فراہم کردہ Terraform پروجیکٹ کے ساتھ چلا سکتے ہیں۔
تمام آپریٹنگ سسٹمز:
گٹ کلون https://github.com/infracost/example-terraform.git
cd example-terraform/sample1
# main.tf کے ساتھ کھیلیں اور اخراجات کا موازنہ کرنے کے لیے دوبارہ چلائیں۔
انفراکوسٹ بریک ڈاؤن -پاتھ
# ماہانہ اخراجات کا فرق دکھائیں، yml فائل میں ترمیم کریں اور اخراجات کا موازنہ کرنے کے لیے دوبارہ چلائیں۔
انفراکوسٹ ڈیف -پاتھ -sync-usage-file -usage-file infracost-usage.yml
4. CI/CD میں شامل کریں۔
اب آپ انفراکوسٹ کا استعمال کر سکتے ہیں۔ CI/CD انضمام خود بخود پل کی درخواست کے تبصرے شامل کرنے کے لیے، جو آپ کو لاگت کے تخمینے میں فرق دکھاتے ہیں۔ یہ آپ کو ایک حفاظتی نیٹ بھی فراہم کرے گا، جو ٹیموں کو ان کے ورک فلو کے حصے کے طور پر تبدیلیوں کے لاگت کے اثرات پر بات کرنے کے قابل بنائے گا۔
استعمال
۔ infracost
CLI میں درج ذیل اہم کمانڈز ہیں:
breakdown
: اخراجات کی مکمل خرابی دکھائیں۔diff
: موجودہ اور منصوبہ بند حالت کے درمیان ماہانہ اخراجات کا فرق دکھائیں۔
اگر آپ کے ریپو میں متعدد ٹیرافارم پروجیکٹس یا ورک اسپیسز ہیں تو انفراکوسٹ کنفگ فائل کا استعمال کریں۔ ان کے نتائج کو ایک ہی خرابی یا مختلف آؤٹ پٹ میں ملایا جائے گا۔
اعلی درجے کی استعمال
Infracost میں استعمال کے مختلف جدید طریقے بھی ہیں جو کہ باقاعدہ استعمال کے طریقوں کے علاوہ استعمال کیے جا سکتے ہیں۔ یہ جدید طریقے Infracost config فائل کے ذریعے بھی استعمال کیے جا سکتے ہیں۔
ٹیرافارم پلان فائل
انفراکوسٹ کو ٹیرافارم پلان فائل کے خلاف چلایا جا سکتا ہے، جس کا مطلب ہے کہ آپ پہلے ہی ٹیرافارم چلا چکے ہیں۔ init.
انفراکوسٹ صرف Terraform چلاتا ہے۔show
اس معاملے میں، مطلب یہ ہے کہ اسے کلاؤڈ اسناد کی ضرورت نہیں ہے یا --terraform-plan-flags
مقرر کیا جائے.
سی ڈی پاتھ/ٹو/کوڈ
terraform init
ٹیرافارم پلان آؤٹ tfplan.binary
انفراکوسٹ بریک ڈاؤن -path tfplan.binary
infracost diff -path tfplan.binary
ٹیرافارم اسٹیٹ
اگر آپ موجودہ ٹیرافارم حالت کی لاگت کی خرابی دیکھنا چاہتے ہیں، تو آپ کو معلوم ہونا چاہیے۔ infracost breakdown
کمانڈ ہے a --terraform-use-state
پرچم، جو اس معاملے میں کارآمد ثابت ہوگا۔ آپ کو پہلے ہی Terraform چلانا چاہیے۔ apply
لہذا انفراکوسٹ صرف Terraform چلاتا ہے۔ show
، جس کے لیے کلاؤڈ اسناد کی ضرورت نہیں ہے یا --terraform-plan-flags
مقرر کیا جائے.
انفراکوسٹ بریک ڈاؤن -پاتھ کی مثالیں/ٹیرافارم -ٹیرافارم-استعمال-ریاست
ٹیرافارم اسٹیٹ JSON فائل
آپ چل سکتے ہیں infracost breakdown
ٹیرافارم اسٹیٹ JSON فائل کے خلاف۔ یہ اندرونی JSON نمائندگی کے بجائے ریاست کا [JSON آؤٹ پٹ فارمیٹ] ہوگا۔ اسے چلانے سے پیدا ہونا چاہیے۔ terraform show -json
ایک Terraform پروجیکٹ کے اندر، اور یہ خاص طور پر مفید ہے اگر آپ موجودہ Terraform ریاست کی لاگت کی خرابی کو دیکھنا چاہتے ہیں۔ اس صورت میں، اس کا مطلب ہے کہ آپ پہلے ہی ٹیرافارم چلا رہے ہیں۔ apply
، یعنی کوئی کلاؤڈ اسناد یا --terraform-plan-flags
کی ضرورت ہے.
کون سے بادل اور وسائل کی حمایت کی جاتی ہے؟
Infracost سے زیادہ کی حمایت کرتا ہے۔ 200 ٹیرافارم وسائل AWS، Google، اور Azure میں، جبکہ دیگر IaC ٹولز جیسے پلومی اور کلاؤڈ فارمیشن روڈ میپ میں شامل ہیں۔ نئے وسائل کے لیے سپورٹ کو مسلسل شامل کیا جا رہا ہے، اس لیے ریلیز کے لیے ریپو کو چیک کرنا ضروری ہے۔
نتیجہ
انفراکوسٹ ایک مددگار ہے۔ ڈویلپرز کے لیے ٹول, DevOps, SRE، اور دیگر جو لاگت کی خرابی کو تیزی سے دیکھنا چاہتے ہیں اور مختلف اختیارات کا پہلے سے موازنہ کرنا چاہتے ہیں۔ اگر آپ اسے CI کے ساتھ ضم کرنا چاہتے ہیں اور/یا AWS اور Google Cloud کے لیے تعاون کی ضرورت ہے تو یہ بھی ایک اچھا انتخاب ہے۔ اگر آپ اپنی ٹیم کے درمیان بہتر تعاون پیدا کرنا چاہتے ہیں تو Infracost بھی اس سلسلے میں مدد کر سکتا ہے۔ یہ تمام خصوصیات اسے ایک ٹول بناتی ہیں جس پر آپ کو Terraform کے لیے کلاؤڈ لاگت کے تخمینے کے لیے سختی سے غور کرنا چاہیے۔
جواب دیجئے