ٹیرافارم (Terraform) کے ساتھ درمیانے سائز کا انفراسٹرکچر
ماخذ: https://github.com/antonbabenko/terraform-best-practices/tree/master/examples/medium-terraform
یہ مثال ایک میڈیم سائز کے انفراسٹرکچر کے لیے ٹیرافارم Terraform کنفیگریشنز کو ساخت دینے طور پر استعمال کرتا ہے:
2 AWS اکاؤنٹس
2 الگ انوائرنمنٹ (prod اور stage جو کچھ بھی شیئر نہیں کرتے)۔ ہر انوائرنمنٹ ایک الگ AWS اکاؤنٹ میں رہتا ہے
ہر انوائرنمنٹ Terraform Registry سے ماخوذ آف دی شیلف انفراسٹرکچر ماڈل (
alb
) کے مختلف ورژن کا استعمال کرتا ہے۔ہر انوائرنمنٹ
modules/network
کے ایک ہی ورژن کے اندرونی ماڈل کا استعمال کرتا ہے کیونکہ یہlocal
ڈائرکٹری سے ماخوذ ہے۔
نوٹ: میں نے "off-the-shelf infrastructure module" کو "آف دی شیلف انفراسٹرکچر ماڈل" کے طور پر ترجمہ کیا ہے کیونکہ یہ اصطلاح اردو میں زیادہ عام ہے۔
ان منصوبوں کے لیے بہترین انفراسٹرکچر منطقی طور پر الگ کیا گیا ہے (الگ AWS اکاؤنٹس)
یہ اچھا ہے۔جب AWS اکاؤنٹس کے درمیان شیئر کیے جانے والے ریسورس کو تبدیل کرنے کی کوئی ضرورت نہ ہو (ایک انوائرنمنٹ = ایک AWS اکاؤنٹ = ایک state فائل)
یہ اچھا ہے۔ جب انوائرنمنٹ کے درمیان تبدیلیوں کی آرکاسٹریشن کی کوئی ضرورت نہ ہو
یہ اچھا ہے۔ جب انفراسٹرکچر ریسورس ہرانوائرنمنٹ کے لیے مختلف مقصد پر ہوں اور انہیں عام نہیں بنایا جا سکتا (مثلاً، کچھ ریسورس ایک انوائرنمنٹ میں یا کچھ regions میں موجود نہیں ہیں)
جیسے جیسے پروجیکٹ بڑھتا ہے، ان انوائرنمنٹ کو ایک دوسرے کے ساتھ up-to-date رکھنا مشکل تر ہوتا جائے گا۔ دہرائے جانے والے کاموں کے لیے انفراسٹرکچر ماڈلز (آف دی شیلف یا اندرونی) استعمال کرنے پر غور کریں۔
Last updated