المؤلفين

Gregg Lindemulder

Staff Writer

Matthew Kosinski

Enterprise Technology Writer

ما هي Terraform؟

Terraform هي أداة مفتوحة المصدر بنظام البنية التحتية كرمز برمجي (IaC) تم إنشاؤها بواسطة HashiCorp. تُمكّن Terraform المطورين من توفير وتحديث وتدمير عناصر البنية التحتية المحلية والسحابية - مثل الأجهزة الافتراضية ومجموعات Kubernetes - من خلال كتابة ملفات تكوين يمكن للبشر قراءتها.

تستخدم أداة HashiCorp Terraform لغة توضيحية بدلاً من لغة إجرائية. يصف المستخدمون الحالة النهائية المطلوبة لموارد البنية التحتية، وتتعامل أداة Terraform مع الباقي. تنشئ Terraform تلقائيًا خطة تنفيذ، وتحدد التبعيات بين الموارد وتوفر العناصر بالترتيب الصحيح. على سبيل المثال، إذا كان الجهاز الافتراضي (VM) يعتمد على سحابة خاصة افتراضية (VPC)، فإن Terraform تضمن إنشاء سحابة خاصة افتراضية قبل توفير الجهاز الافتراضي.

في المقابل ، باستخدام اللغة الإجرائية ، يجب على المطورين كتابة إرشادات خطوة بخطوة لتوفير البنية التحتية.

يمكن إصدار ملفات تكوين Terraform وإعادة استخدامها ومشاركتها. تدير Terraform العناصر منخفضة المستوى، مثل موارد الحوسبة والتخزين، والعناصر عالية المستوى، مثل إدخالات نظام أسماء النطاقات (DNS) وميزات البرمجيات كخدمة (SaaS).

في فبراير 2025، استحوذت شركة IBM على HashiCorp وعروضها، بما في ذلك Terraform.

تصميم ثلاثي الأبعاد لكرات تتدحرج على مسار

أحدث الأخبار والرؤى حول الذكاء الاصطناعي 


تتوفر معارف وأخبار منسقة بمهارة حول الذكاء الاصطناعي والسحابة وغيرها في نشرة Think الإخبارية الأسبوعية. 

كيف تعمل Terraform؟

تقوم Terraform بإنشاء وإدارة الموارد على المنصات السحابية والخدمات الأخرى من خلال واجهات برمجة التطبيقات. تعمل Terraform مع أي منصة أو خدمة تقريبًا تحتوي على واجهة برمجة تطبيقات يمكن الوصول إليها، بما في ذلك Amazon Web Services (AWS) وMicrosoft Azure وGoogle Cloud وGitHub وIBM Cloud وDocker.

يتكون سير عمل Terraform الأساسي من ثلاث مراحل:

  1. الكتابة
  2. التخطيط
  3. التطبيق

1. الكتابة

يقوم المطور بكتابة ملف تكوين قابل للقراءة من قبل البشر لتحديد تكوينات الموارد للبنية التحتية المطلوبة. الملف تعريفي، مما يعني أن المطور يصف البنية التحتية التي يريدها ولكن ليس كيفية توفيرها.  

على سبيل المثال، إذا أراد أحد المطورين توفير البنية الأساسية لنشر تطبيق مستضاف على السحابة، فقد يحدد أنه يحتاج إلى أجهزة افتراضية في سحابة خاصة افتراضية، مع مجموعات أمان مرتبطة وأداة موازنة الأحمال.

يمكن لملف تكوين واحد إدارة الموارد الموجودة عبر العديد من خدمات ومزودي السحابة.

2. الخطة

يحلل Terraform كلاً من التكوين المكتوب الذي قدمه المطور والحالة الحالية للبنية التحتية للمؤسسة. ثم يقوم بإنشاء خطة تنفيذ تصف كيف ستصل إلى الحالة النهائية المطلوبة من الحالة الحالية.

تأخذ الخطة نفسها شكل قائمة بالبنية التحتية التي ستقوم Terraform بإنشائها أو تحديثها أو تدميرها لجعل العالم الحقيقي يتماشى مع التكوينات الموصوفة للمطور.

فكِّر في المثال السابق لمطور ينشر تطبيقًا على الأجهزة الافتراضية في سحابة خاصة افتراضية. قد تتضمن خطة Terraform إجراءات مثل:

  • توفير أجهزة افتراضية جديدة لاستضافة التطبيق.

  • تعديل مجموعة أمان موجودة للسماح بنقل البيانات إلى الأجهزة الافتراضية الجديدة.

  • توفير أداة موازنة أحمال لتوزيع حركة المرور بين الأجهزة الافتراضية.

يمكن للمطورين مراجعة الخطة وتعديلها قبل أن تنفذها Terraform.

3. التطبيق

عندما تتم الموافقة على الخطة، تقوم Terraform بتنفيذ العمليات المقترحة بالترتيب الصحيح، مع احترام أي تبعيات للموارد. أي إذا كان المورد أ يعتمد على الموارد ب، فإن Terraform تضمن إنشاء الموارد ب قبل الموارد أ.

على سبيل المثال، إذا قام أحد المطورين بتحديث خصائص سحابة خاصة افتراضية (VPC) وتغيير عدد الأجهزة الافتراضية في هذه السحابة الخاصة الافتراضية (VPC)، فإن Terraform يعيد إنشاء سحابة خاصة افتراضية (VPC) بخصائص محدثة قبل تغيير عدد الأجهزة الافتراضية.

عناصر Terraform

تتضمن العناصر الأساسية لأداة Terraform ما يلي:

  • ملفات التكوين
  • الوحدات
  • ملفات الحالة
  • مقدمو الخدمات
  • السجلات
  • Terraform CLI
ملفات التكوين

ملفات التكوين هي الطريقة التي يحدد بها المطورون الموارد المطلوبة للبيئات المحلية والسحابية. تخبر هذه الملفات Terraform عن المزودين الذين يجب استخدامهم والبنية التحتية التي يجب إنشاؤها والبيانات التي يجب جلبها. يمكن للمطورين تعديل ملفات التكوين وإعادة استخدامها ومشاركتها.

يمكن للمطورين كتابة ملفات التكوين بلغة JSON أو بلغة HashiCorp Configuration Language (HCL). تستخدم لغة HCL بناء جملة توضيحي: يصف المطورون البنية التحتية المطلوبة بدلاً من تحديد كيفية توفيرها. تشبه لغة HCL أزواج القيمة الرئيسية في لغة JSON، لكنها مُحسّنة من أجل سهولة القراءة البشرية.

الوحدات

الوحدات النمطية هي حاويات قابلة لإعادة الاستخدام لموارد متعددة شائعة الاستخدام معاً. على سبيل المثال، قد تحتوي الوحدة النمطية على أجهزة افتراضية وقواعد بيانات وتكوينات الشبكة وإعدادات الأمان كلها في حزمة واحدة. يتم تخزين الوحدات النمطية كمجموعات من ملفات التكوين.

تسمح وحدات Terraform النمطية للمطورين بإنشاء بنية تحتية معقدة دون البدء من نقطة الصفر في كل مرة. بدلاً من ذلك، يمكنهم استخدام الوحدات التي تصف بالفعل ترتيبات البنية التحتية التي يحتاجون إليها.

ملفات الحالة

ملف حالة Terraform هو تمثيل للحالة الحالية للبنية التحتية، بما في ذلك العناصر والتكوينات والعلاقات بين الموارد.  

عندما تنشئ Terraform خطة، تبدأ بمقارنة ملف التكوين بملف الحالة. يتيح ذلك لأداة Terraform تحديد التغييرات التي تحتاج إلى إجرائها لجعل البنية التحتية الحالية تتماشى مع التكوين المطلوب.

مقدمو الخدمات

موفرو Terraform هم مكونات إضافية تسمح لأداة Terraform بالتفاعل مع واجهات برمجة التطبيقات للخدمات والمنصات الخارجية. يمكّن الموفرون Terraform من إدارة الموارد في بيئات البنية التحتية كخدمة (IaaS) والمنصة كخدمة (PaaS) والبرمجيات كخدمة (SaaS). يحتوي كل موفر على جميع التعليمات البرمجية التي يحتاجها Terraform للاتصال بخدمة والمصادقة وتوفير الموارد.

بينما يمكن للمطورين كتابة الموفرين الخاصين بهم، يمكنهم أيضاً استخدام موفرين موجودين مسبقا تمت كتابتهم بواسطة HashiCorp ومستخدمي Terraform الآخرين. هناك موفرون جاهزون لمعظم خدمات السحابة الخاصة والسحابة العامة الرئيسية، بالإضافة إلى قواعد البيانات وحلول الشبكات والأدوات الشائعة الأخرى.  

السجلات

يعد سجل Terraform Registry مستودعاً للموفرين والوحدات النمطية وقواعد السياسة والحلول.

يمكن لأي شخص نشر الموارد واستهلاكها على سجل Terraform Registry العام. يمكن للمؤسسات أيضًا إنشاء سجلات خاصة لمشاركة وحداتها النمطية ومواردها داخليًا.

Terraform CLI

واجهة سطر الأوامر (CLI) Terraform هي أداة واجهة سطر أوامر (CLI) لإدارة البنية التحتية باستخدام Terraform. يستخدمها المطورون لتنفيذ الأوامر وإنشاء خطط التنفيذ وتطبيق التغييرات والتفاعل مع عناصر Terraform الرئيسية مثل ملفات التكوين وملفات الحالة والموفرين والوحدات النمطية.

كيف تستخدم المؤسسات Terraform؟

تستخدم المؤسسات Terraform لتوفير البنية التحتية وإدارتها طوال دورة حياتها. تشمل حالات الاستخدام الشائعة ما يلي:

  • إدارة بيئات السحابة المتعددة
  • إدارة البنية التحتية للتطبيقات
  • البنية التحتية للخدمة الذاتية
  • إدارة السياسات والامتثال
  • التعاون بين الفِرق

إدارة بيئات السحابة المتعددة

يمكن أن تكون بيئات السحابة المتعددة معقدة لأن كل موفر سحابة له واجهاته وأدواته ومهام سير العمل الخاصة به. علاوة على ذلك، يمكن توزيع الموارد الرئيسية عبر مراكز بيانات متعددة.

يمكن للمؤسسات استخدام Terraform لتبسيط إدارة وتنسيق البنى التحتية متعددة السحابة واسعة النطاق وتنسيقها. وعلى وجه التحديد، تُمكّن Terraform المؤسسات من استخدام لغة التكوين نفسها لتوفير الموارد وإدارتها عبر العديد من موفري الخدمات في سير عمل واحد.

إدارة البنية التحتية للتطبيقات

يمكن لأداة Terraform نشر وإدارة البنية التحتية للتطبيقات متعددة المستويات، مما يمكّن المؤسسات من إدارة الموارد لكل مستوى في سير عمل موحد مع احترام التبعيات.

على سبيل المثال، قد يتكون تطبيق متعدد المستويات من مجموعة من خوادم الويب وطبقة قاعدة البيانات وطبقة واجهة برمجة التطبيقات وخوادم التخزين المؤقت وطبقة التوجيه. سيقوم Terraform بتوفير طبقة قاعدة البيانات قبل توفير خوادم الويب التي تعتمد عليها.

البنية التحتية للخدمة الذاتية

عادةً ما تتلقى فرق عمليات تكنولوجيا المعلومات المركزية في المؤسسات الكبيرة العديد من طلبات البنية التحتية المتكررة.

يمكن للمؤسسات أن تستخدم Terraform لبناء نموذج بنية تحتية للخدمة الذاتية يمكّن فرق المنتجات من إدارة بنيتها التحتية الخاصة بها بشكل مستقل. على سبيل المثال، باستخدام الوحدات النمطية التي تم إنشاؤها مسبقاً، يمكن للفرق نشر العناصر الموحدة والمعتمدة مباشرة.

يمكن للمؤسسات أيضًا دمج Terraform مع أنظمة إصدار التذاكر ومسارات عمليات تطوير التكامل المستمر/التسليم المستمر (CI / CD) للمساعدة في أتمتة طلبات توفير البنية التحتية الجديدة. على سبيل المثال، عندما يقوم مستخدم بإرسال طلب بنية تحتية إلى نظام التذاكر، يمكن لأداة Terraform بدء سير عمل لتحديث الموارد تلقائيًا وفقًا لذلك. 

إدارة السياسات والامتثال

يمكن أن تساعد Terraform المؤسسات في فرض سياسات الأمان والامتثال على أنواع الموارد التي يمكن لفرق العمل توفيرها واستخدامها.

على سبيل المثال، يمكن للمؤسسات استخدام وحدات Terraform النمطية لتقنين معايير نشر الموارد وإدارتها على مستوى المؤسسة. عندما تستخدم الفرق الأخرى هذه الوحدات النمطية المعتمدة، يمكنها التأكد من أنها تنشر الموارد بما يتوافق مع الممارسات التنظيمية.

التعاون بين الفِرق

يمكن للمؤسسات تخزين ملفات تكوين Terraform في نظام التحكم في الإصدار (VCS)، مما يمكّن فرق عمليات التطوير من التعاون بشأن التعليمات البرمجية ومراجعة التعريفات وتتبع تغييرات البنية التحتية والعودة إلى إصدارات البنية التحتية السابقة إذا لزم الأمر.

Terraform مقابل Kubernetes

تُعد Kubernetes وTerraform عناصر شائعة في بيئات السحابة، ويساعد كلاهما في أتمتة المهام المتعلقة بالبنية التحتية. ومع ذلك، فإن الاختلاف الأساسي بين الاثنين هو أن Kubernetes يركز على أحمال التشغيل المحفوظة في حاويات، بينما تدير Terraform جميع أنواع العناصر، بما في ذلك مجموعات Kubernetes نفسها.

Kubernetes هي منصة مفتوحة المصدر لتنسيق الحاويات تستخدم لجدولة وأتمتة نشر التطبيقات في حاويات وإدارتها وتوسيع نطاقها. Terraform هي أداة تعمل بنظام البنية التحتية كرمز برمجي وتقوم بأتمتة توفير البنية التحتية وإدارتها.

على الرغم من أن هذه الأدوات متباينة وذات وظائف مختلفة، إلا أنها غالبًا ما تعمل معًا في بيئات السحابة. على سبيل المثال ، يمكن لأداة Terraform أتمتة توفير مجموعات Kubernetes على المنصات السحابية، بينما تدير Kubernetes نشر التطبيقات داخل هذه المجموعات.

Terraform مقابل Ansible

تعد كل من Terraform وAnsible أداتين تتوفران بنظام البنية التحتية كرمز برمجي تساعدان في أتمتة مهام البنية التحتية الرئيسية. إلا أنهما تستخدمان لغات مختلفة وغالباً ما تخدمان أغراضاً مختلفة. تُستخدم Terraform لتوفير موارد البنية التحتية، بينما تُستخدم Ansible غالبًا لإدارة تكوينات الموارد.

تستخدم Terraform لغة توضيحية بحتة، بينما تجمع Ansible بين اللغات التوضيحية والإجرائية. في التكوين الإجرائي، يحدد المطور خطوات تكوين الموارد في الحالة المطلوبة. يعد التكوين الإجرائي أكثر كثافة في العمل، ولكنه يمكن أن يوفر أيضًا مزيدًا من التحكم.

تسمح أدلة Ansible، المكتوبة بلغة YAML، بالتحكم الدقيق في مهام مثل تثبيت البرامج وتحديث إعدادات النظام. تحتوي Ansible أيضًا على مجموعة متنوعة من الوحدات النمطية المعدة مسبقًا لمهام إدارة التكوين الشائعة، بما في ذلك إدارة الحزم وتحديثات نظام التشغيل. ويمكن لأداة Ansible تطبيق التغييرات على الموارد بشكل غير محدد - بمعنى أنه بعد تطبيق العملية في المرة الأولى، لا تؤدي التطبيقات الأخرى لنفس العملية إلى تغيير المورد.

وعند استخدامها مجتمعة، تساعد هذه الخصائص في تفسير سبب كون Ansible خياراً شائعا لإدارة التكوين.

في حين أن Terraform يمكنها توفير موارد البنية التحتية، إلا أنه لا يمكنها إدارة البرامج داخل الموارد بنفس فعالية Ansible. على سبيل المثال، يمكن لأداة Terraform تحديد جهاز افتراضي جديد، بما في ذلك خصائص مثل نوع المثيل وحجم القرص، ولكن لا يمكنها تحديث نظام التشغيل على الجهاز الافتراضي.

ومع ذلك، يمكن أن تعمل Terraform جنبًا إلى جنب مع أدوات إدارة التكوين مثل Ansible لتبسيط وتيسير تكوين البنية التحتية. على سبيل المثال، قد تستخدم مجموعة ما Terraform لتوفير الأجهزة الافتراضية وAnsible لتكوين البرامج على تلك الأجهزة.

حلول ذات صلة
IBM Turbonomic

توسيع نطاق البنية التحتية الحالية لتكنولوجيا المعلومات لديك تلقائيًا لحسين الأداء بتكاليف أقل.

استكشف IBM Turbonomic
حلول الذكاء الاصطناعي لعمليات تقنية المعلومات

اكتشِف كيف يمكن لاستخدام الذكاء الاصطناعي في عمليات تقنية المعلومات منحك ما تحتاج إليه من معارف لدفع عجلة أداء أعمالك لمستويات استثنائية من التميز.

استكشف حلول الذكاء الاصطناعي لعمليات تقنية المعلومات
الخدمات الاستشارية في مجال الأتمتة

انتقل إلى ما يتجاوز عمليات أتمتة المهام البسيطة لمعالجة العمليات عالية المستوى الموجهة للعملاء وتدرّ الإيرادات من خلال التبني المدمج وتوسيع النطاق.

استكشف خدمات الاستشارات في مجال الأتمتة
اتخِذ الخطوة التالية

اكتشِف كيفية الاستفادة من الذكاء الاصطناعي في عمليات تقنية المعلومات لتوفير الرؤى والمعارف اللازمة لتحقيق أداء استثنائي للأعمال.

استكشف Turbonomic استكشف حلول الذكاء الاصطناعي لعمليات تقنية المعلومات