ٹیرافارم فراہم کرنے والے

Yrafarm Fra M Krn Wal



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

یہ مضمون مختلف کلاؤڈ پلیٹ فارمز اور خدمات کے ساتھ تعامل کرنے کے لیے مختلف فراہم کنندگان کو استعمال اور ترتیب دینے کے طریقے پر بحث کرتا ہے۔

Terraform فراہم کرنے والوں کا تعارف

Terraform فراہم کرنے والے پلگ ان ہیں جو ہمیں Terraform کا استعمال کرتے ہوئے مختلف کلاؤڈ پلیٹ فارمز اور خدمات کے ساتھ تعامل کرنے کی اجازت دیتے ہیں۔ یہ فراہم کنندگان Terraform کنفیگریشن کو API کالز میں ترجمہ کرنے کے ذمہ دار ہیں جو کسی مخصوص کلاؤڈ پلیٹ فارم یا سروس پر وسائل کو منظم کرنے کے لیے ضروری ہے۔







Terraform میں فراہم کنندگان کی اقسام

میں Terraform رجسٹری ، ہم تین قسم کے فراہم کنندگان کو دیکھ سکتے ہیں:



سرکاری فراہم کنندگان

سرکاری فراہم کنندگان کی دیکھ بھال HashiCorp کمپنی کرتی ہے جو Terraform کی مالک ہے۔ اگر ہمیں اچھی طرح سے دستاویزی اور تازہ ترین فراہم کنندگان کی ضرورت ہو تو یہ فراہم کنندگان بہترین دستیاب آپشن ہیں۔



AWS، Microsoft Azure، اور Google Cloud Platform فراہم کرنے والے Terraform میں سرکاری فراہم کنندگان کی مثالیں ہو سکتے ہیں۔





پارٹنر فراہم کرنے والے

فریق ثالث کی تنظیمیں ان فراہم کنندگان کو برقرار رکھتی ہیں اور ان کی خدمات کے لیے سرکاری مدد فراہم کرنے کے لیے HashiCorp کے ساتھ شراکت داری کی ہے۔

GitLab، MongoDB، اور CloudFlare فراہم کرنے والے کچھ پارٹنر فراہم کنندگان ہیں جو صارفین کے لیے دستیاب ہیں۔



کمیونٹی فراہم کرنے والے

کمیونٹی فراہم کنندگان عام طور پر Terraform کمیونٹی کے افراد یا تنظیموں کے ذریعہ بنائے جاتے ہیں جو کلاؤڈ پلیٹ فارم یا سروس پر وسائل کا انتظام کرنا چاہتے ہیں جو کسی آفیشل یا پارٹنر فراہم کنندہ کے ذریعہ تعاون یافتہ نہیں ہے۔

کمیونٹی فراہم کرنے والوں کی کچھ مثالیں درج ذیل تصویر میں دکھائی گئی ہیں:

ٹیرافارم فراہم کنندہ کا استعمال کیسے کریں۔

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

فراہم کنندہ کے کنفیگر ہونے کے بعد، ہم کلاؤڈ پلیٹ فارم یا سروس پر وسائل کا نظم کرنے کے لیے اپنی Terraform کنفیگریشن میں فراہم کنندہ کے فراہم کردہ وسائل اور ڈیٹا کے ذرائع استعمال کر سکتے ہیں۔

آئیے ایک سادہ Terraform کنفیگریشن فائل بنائیں جو AWS کلاؤڈ پلیٹ فارم میں EC2 مثال بناتی ہے۔

فراہم کنندہ 'aws' {

ورژن = '~> 3.0'

علاقہ = 'us-east-2'

}

وسائل 'aws_instance' 'myEC2' {

جو = 'ami-0a561b65214a47cac'

instance_type = 't3. چھوٹا'

ٹیگز = {

نام = 'نئی مثال'

}

}

سب سے پہلے، ہم فراہم کنندہ بلاک کی وضاحت کرتے ہیں، AWS فراہم کنندہ اور اس علاقے کی وضاحت کرتے ہیں جہاں وسائل بنائے جاتے ہیں۔ اس کے بعد، ہم اپنے ریسورس بلاک کو بطور وسیلہ قسم کے طور پر aws_instance، وسائل کے نام کے طور پر 'myEC2' اور 'ami'، 'instance_type'، اور 'tags' کو اوصاف کے طور پر بیان کرتے ہیں۔ وسائل کی قسم کو دو حصوں میں تقسیم کیا جاسکتا ہے: فراہم کنندہ اور وسائل۔ اس صورت میں، 'aws' فراہم کنندہ ہے، اور 'مثال' وسائل ہے۔ اس کے علاوہ، اگر کسی کو دس EC2 مثالیں فراہم کرنے کی ضرورت ہے، تو 'count' وصف کو دس کے ساتھ قدر کے طور پر استعمال کیا جا سکتا ہے۔

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

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

Terraform میں متعدد فراہم کنندگان کا استعمال

ایک فراہم کنندہ کو استعمال کرنے کے بجائے، Terraform ہمیں مختلف قسم کی خدمات اور کلاؤڈ پلیٹ فارمز کے ساتھ تعامل کرنے کے لیے ایک ہی Terraform کنفیگریشن فائل کے اندر متعدد فراہم کنندگان کو استعمال کرنے کی اجازت دیتا ہے۔

آپ کی سمجھ کے لیے، آئیے ایک مثال دیتے ہیں جہاں ہم گوگل کلاؤڈ پلیٹ فارم میں ایک کمپیوٹ انجن، GitHub میں ایک ذخیرہ، اور AWS کلاؤڈ پلیٹ فارم میں ایک S3 بالٹی لگاتے ہیں۔

فراہم کنندہ 'گوگل' {

پروجیکٹ = 'پہلا منصوبہ'

علاقہ = 'us-west1'

}

فراہم کنندہ 'گیتوب' {

ٹوکن = 'YOUR_GITHUB_TOKEN'

}

فراہم کنندہ 'aws' {

ورژن = '~> 3.0'

علاقہ = 'us-west-2'

}

وسائل 'google_compute_instance' 'gcpInstance' {

نام = 'نئی مثال'

مشین_قسم = 'n1-معیاری-1'

زون = 'us-west1-a'

boot_disk {

ابتدائیہ_پیرامس {

تصویر = 'debian-Cloud/debian-10'

}

}

}

وسائل 'github_repository' 'gitRepo' {

نام = 'نیا ریپو'

تفصیل = 'یہ میرا نیا ذخیرہ ہے'

}

وسائل 'aws_s3_بالٹی' 'awsBucket' {

بالٹی = 'نئی بالٹی'

acl = 'نجی'

}

پہلے قدم کے طور پر، ہم فراہم کنندگان (Google، GitHub، اور AWS) اور ضروری معلومات جیسے علاقہ، پروجیکٹ کا نام، وغیرہ کی وضاحت کے لیے اپنے فراہم کنندہ بلاکس کی وضاحت کرتے ہیں۔ پھر، ہم تین وسائل کے بلاکس کا استعمال کرتے ہوئے اپنے وسائل کا اعلان کرتے ہیں: 'gcpInstance'، ' gitRepo'، اور 'awsBucket'۔

سب سے پہلے، ہم گوگل کلاؤڈ پلیٹ فارم میں ایک کمپیوٹ انجن بناتے ہیں جس میں 'نئی مثال' کے نام سے، 'n1-standard-1' مشین کی قسم کے طور پر، اور 'us-west1-a' کو دستیابی زون کے طور پر بنایا گیا ہے۔ یہ ڈیبین کو بطور میزبان OS استعمال کرتا ہے۔ پھر، ہم 'new-repo' کے نام سے ایک GitHub ذخیرہ اور ایک مناسب تفصیل بناتے ہیں۔ آخر میں، ایک S3 بالٹی نام کے طور پر 'نئی بالٹی' اور ACL (ایکسیس کنٹرول لسٹ) کی قدر کے طور پر 'نجی' کے ساتھ بنائی جاتی ہے۔

ان تینوں Terraform فراہم کنندگان کے ساتھ، ہم آسانی سے کلاؤڈ پلیٹ فارمز اور ان کی خدمات کے ساتھ تعامل کر سکتے ہیں۔

Terraform فراہم کنندگان کے ساتھ کام کرنے کے بہترین طریقے

فراہم کنندہ ورژننگ

ہمیں فراہم کنندہ کے ورژن کی وضاحت کرنی چاہیے کیونکہ یہ مستقل مزاجی کو یقینی بنانے میں مدد کرتا ہے اور نئے ورژنز میں بریکنگ تبدیلیوں کی وجہ سے غیر متوقع رویے سے بچتا ہے۔

فراہم کنندہ کی توثیق

ہم متعلقہ کلاؤڈ پلیٹ فارم یا سروس کے ساتھ تعامل کرنے کے لیے Terraform کو تصدیق کرنے اور اس کی اجازت دینے کے لیے API کیز اور رسائی ٹوکن جیسے محفوظ تصدیقی طریقہ کار کا استعمال کر سکتے ہیں۔

فراہم کنندہ کی دستاویزات

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

فراہم کنندہ کی تازہ ترین معلومات

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

کمیونٹی سپورٹ

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

ایرر ہینڈلنگ اور ٹربل شوٹنگ

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

نتیجہ

ہم نے Terraform فراہم کرنے والوں کا مختصر تعارف کرایا۔ ہم نے مختلف کلاؤڈ پلیٹ فارمز اور خدمات کے ساتھ تعامل کرنے کے لیے ان کا استعمال اور ترتیب دینے کے طریقے پر تبادلہ خیال کیا اور آسان سمجھنے والی مثالوں کے ذریعے مختلف کلاؤڈ پلیٹ فارمز اور خدمات کے وسائل کو منظم کرنے کے لیے متعدد فراہم کنندگان کو کیسے استعمال کیا جائے۔