البنية التحتية كبرنامج
البنية التحتية كبرنامج ( IaC ) هي عملية إدارة وتوفير موارد مراكز بيانات الحاسوب من خلال ملفات تعريف قابلة للقراءة آليًا، بدلاً من الاعتماد على تكوين الأجهزة المادية أو أدوات التكوين التفاعلية. [ 1 ] أي أنه بدلاً من إنشاء التكوين يدويًا، يتوفر تكوين مُعد مسبقًا يمكن تطبيقه على الجهاز. [ 2 ] تشمل البنية التحتية لتكنولوجيا المعلومات التي تُدار بهذه العملية المعدات المادية، مثل الخوادم المادية ، والأجهزة الافتراضية وموارد التكوين المرتبطة بها. قد توجد التعريفات في نظام تحكم بالإصدارات بدلاً من العمليات اليدوية. يمكن أن تستخدم ملفات التعريف إما نصوصًا برمجية أو تعريفات تصريحية، ولكن غالبًا ما تعتمد البنية التحتية كبرنامج على الأساليب التصريحية .
تاريخ
نشأ مفهوم إدارة البنية التحتية من خلال التعليمات البرمجية من ممارسات إدارة التكوين المبكرة. في التسعينيات، قدمت أدوات مثل CFEngine ، التي أنشأها مارك بورغيس في عام 1993، فكرة وصف تكوين النظام بلغة تصريحية بدلاً من تنفيذ الأوامر اليدوية، مما وضع الأساس الفكري للبنية التحتية كبرنامج (IaC). [ 3 ]
ملخص
ظهرت البنية التحتية كبرنامج (IaC) مع بدء المؤسسات بإدارة بنى تحتية أكبر وأكثر تعقيدًا، لا سيما مع نمو الحوسبة السحابية والحاجة إلى توفير الموارد باستمرار وعلى نطاق واسع. وقد مكّن التعامل مع تكوين البنية التحتية كبرنامج - تخزينه في نظام التحكم بالإصدارات، ومراجعته، ونشره تلقائيًا - الفرق من تقليل الأخطاء اليدوية وإعادة إنتاج البيئات بشكل موثوق. كما أن القدرة على التعامل مع البنية التحتية كبرنامج واستخدام الأدوات نفسها المستخدمة في أي مشروع برمجي آخر من شأنها أن تسمح للمطورين بنشر التطبيقات بسرعة. [ 4 ]
المزايا
يمكن تقسيم قيمة البنية التحتية كبرنامج (IaC) إلى ثلاث فئات قابلة للقياس: التكلفة، والسرعة، والمخاطر. يهدف خفض التكلفة إلى مساعدة المؤسسة ليس فقط من الناحية المالية، بل أيضًا من حيث الموارد البشرية والجهد المبذول، ما يعني أنه بإزالة العنصر اليدوي، تتمكن المؤسسات من إعادة تركيز جهودها على مهام أخرى. تُمكّن أتمتة البنية التحتية من تسريع عملية تهيئة البنية التحتية، وتوفر رؤية شاملة تساعد الفرق الأخرى في جميع أنحاء المؤسسة على العمل بسرعة وكفاءة أكبر. تزيل الأتمتة المخاطر المرتبطة بالخطأ البشري، مثل سوء التهيئة اليدوية؛ إذ يُمكن أن يؤدي التخلص من هذا الخطأ إلى تقليل وقت التوقف وزيادة الموثوقية. تُساعد هذه النتائج والخصائص المؤسسة على الانتقال نحو تطبيق ثقافة DevOps : العمل المشترك بين التطوير والعمليات . [ 5 ]
أنواع المناهج
توجد عموماً منهجان رئيسيان للبنية التحتية كبرنامج (IaC): المنهج التصريحي ( الوظيفي ) مقابل المنهج الإجرائي ( الأمري ). ويكمن الفرق بين المنهج التصريحي والمنهج الإجرائي أساساً في تحديد "ماذا" مقابل تحديد "كيف" .يركز النهج التصريحي على تحديد شكل التكوين المستهدف النهائي؛يركز الأسلوب الإجرائي على كيفية تغيير البنية التحتية لتحقيق ذلك. [ 6 ] يحدد الأسلوب التصريحي الحالة المرغوبة، وينفذ النظام ما يلزم لتحقيقها. أما الأسلوب الإجرائي فيحدد أوامر محددة يجب تنفيذها بالترتيب المناسب للوصول إلى النتيجة المرجوة. [ 7 ]
طُرق
تتيح البنية التحتية كبرنامج (IaC) للمؤسسات إدارة الخوادم وتكويناتها باستخدام التعليمات البرمجية. هناك طريقتان لتطبيق هذه التكوينات على الخوادم: طريقة " الدفع " وطريقة " السحب ". في طريقة "الدفع"، يرسل النظام المتحكم في التكوين التعليمات مباشرةً إلى الخادم. أما في طريقة "السحب"، فيسترجع الخادم تعليماته من النظام المتحكم. [ 8 ]
أدوات
تتوفر العديد من الأدوات التي تُحقق إمكانيات أتمتة البنية التحتية وتستخدم البنية التحتية كبرنامج (IaC). وبشكل عام، يُمكن اعتبار أي إطار عمل أو أداة تُجري تغييرات أو تُهيئ البنية التحتية بشكل تصريحي أو إجرائي بناءً على منهجية برمجية، جزءًا من البنية التحتية كبرنامج (IaC). [ 9 ] تقليديًا، كانت أدوات أتمتة دورة حياة الخوادم وأدوات إدارة التكوين تُستخدم لتحقيق البنية التحتية كبرنامج (IaC). أما الآن، فتستخدم المؤسسات أيضًا أدوات أتمتة التكوين المستمر أو أطر عمل مستقلة للبنية التحتية كبرنامج (IaC)، مثل PowerShell DSC من مايكروسوفت [ 10 ] أو AWS CloudFormation . [ 11 ]
أتمتة التكوين المستمر
يمكن اعتبار جميع أدوات أتمتة التكوين المستمر (CCA) امتدادًا لأطر عمل البنية التحتية كبرنامج (IaC) التقليدية. فهي تستفيد من البنية التحتية كبرنامج لتغييرها وتكوينها وأتمتتها، كما توفر رؤية وكفاءة ومرونة في إدارة البنية التحتية. [ 12 ] وتوفر هذه الميزات الإضافية أمانًا والتزامًا على مستوى المؤسسات.
محتوى المجتمع
يُعدّ محتوى المجتمع عاملاً أساسياً في تحديد جودة أدوات أتمتة العمليات السحابية مفتوحة المصدر. ووفقاً لشركة غارتنر ، فإن قيمة هذه الأدوات "تعتمد على المحتوى والدعم المُقدّم من مجتمع المستخدمين بقدر اعتمادها على النضج التجاري وأداء أدوات الأتمتة". [ 12 ] وقد أنشأت شركات رائدة مثل Puppet و Chef مجتمعاتها الخاصة. فلدى Chef مستودع Chef Community Repository ، ولدى Puppet منصة PuppetForge . [ 13 ] وتعتمد شركات أخرى على مجتمعات مجاورة وتستفيد من أُطر عمل البنية التحتية كبرنامج (IaC) الأخرى مثل PowerShell DSC. [ 10 ] وتظهر شركات جديدة لا تعتمد على المحتوى، بل على النماذج، مع دمج الذكاء في المنتج لتقديم المحتوى. تُناسب هذه الأنظمة المرئية والموجهة للكائنات المطورين، لكنها تُعدّ مفيدة بشكل خاص لفرق DevOps وعمليات الإنتاج التي تُفضّل النماذج على البرمجة النصية للمحتوى. مع استمرار تطور هذا المجال وتغيره، سيصبح المحتوى القائم على المجتمع أكثر أهمية من أي وقت مضى لكيفية استخدام أدوات البنية التحتية كبرنامج، ما لم تكن هذه الأدوات موجهة نحو النموذج وموجهة نحو الكائنات.
| أداة | تم إصداره بواسطة | طريقة | يقترب | مكتوب في | تعليقات |
|---|---|---|---|---|---|
| محرك CFE | Northern.tech (1993) | يحذب | تصريحي | ج | — |
| دمية | الدمية (2005) | ادفع، اسحب | تصريحي، أمري | لغة C++ ، كلوجر منذ الإصدار 4.0، روبي | — |
| الشيف | الشيف (2009) | يحذب | تصريحي، أمري | روبي | — |
| سولت ستاك | SaltStack (2011) | ادفع، اسحب | تصريحي، أمري | بايثون | — |
| أنسيبل ، برج أنسيبل | ريد هات (2012) | ادفع، اسحب | تصريحي، أمري | بايثون | — |
| تيرافورم | هاشيكورب (2014) | يدفع | تصريحي، أمري | يذهب | — |
| قضاعة | إينيدو (2015) | يدفع | تصريحي، أمري | — | موجه لنظام التشغيل ويندوز |
| بولومي | بولومي (2018) | يدفع | تصريحي، أمري | يذهب | — |
| أوبن توفو | مؤسسة لينكس والمساهمون (2023) | يدفع | تصريحي، أمري | يذهب | تفرع Terraform |
وتشمل الأدوات الأخرى AWS CloudFormation و cdist و StackStorm و Juju و Step CI.
العلاقات
العلاقة بـ DevOps
يمكن أن تكون البنية التحتية كبرنامج (IaC) سمةً أساسيةً لتمكين أفضل الممارسات في DevOps . يصبح المطورون أكثر انخراطًا في تحديد التكوين، وتشارك فرق العمليات في وقت مبكر من عملية التطوير. [ 14 ] توفر الأدوات التي تستخدم IaC رؤيةً واضحةً لحالة الخوادم وتكوينها، وبالتالي توفر هذه الرؤية للمستخدمين داخل المؤسسة، مما يُعزز التعاون بين الفرق لتعظيم جهودها. [ 15 ] يهدف التشغيل الآلي عمومًا إلى تبسيط العمليات اليدوية، وتقليل الارتباك والأخطاء فيها، وجعلها أكثر كفاءةً وإنتاجيةً. مما يسمح بإنشاء برامج وتطبيقات أفضل تتميز بالمرونة، وتقليل وقت التوقف، وفعالية التكلفة للشركة. يهدف IaC إلى تقليل التعقيد الذي يُعيق كفاءة التكوين اليدوي. يُعتبر التشغيل الآلي والتعاون من العناصر الأساسية في DevOps؛ وغالبًا ما تُضمّن أدوات تشغيل البنية التحتية كمكونات لسلسلة أدوات DevOps . [ 16 ]
العلاقة بالأمن
حدد تقرير التهديدات السحابية لعام 2020 الصادر عن الوحدة 42 (وحدة استخبارات التهديدات التابعة لشركة Palo Alto Networks المتخصصة في الأمن السيبراني ) حوالي 200,000 ثغرة أمنية محتملة في قوالب البنية التحتية كبرمجيات. [ 17 ]
انظر أيضاً
مراجع
- ↑ ويتيج، أندرياس؛ ويتيج، مايكل (2016). خدمات أمازون السحابية قيد التنفيذ . دار مانينغ للنشر. ص 93. ISBN 978-1-61729-288-0.
- ↑ "ما هي البنية التحتية كبرنامج (IaC)؟" . www.redhat.com . تم الاطلاع عليه بتاريخ 15 يوليو 2026 .
- ↑ بورغيس، مارك (2004). إدارة الشبكات والأنظمة التحليلية . وايلي. ISBN 0-470-86100-2.
- ↑ رايلي، كريس (12 نوفمبر 2015). "قم بإصدار نسخ من بنيتك التحتية" . DevOps.com . تم الاطلاع عليه بتاريخ 29 يونيو 2026 .
- ↑ فيليبس، أندرو (14 مايو 2015). "الانتقال من أتمتة البنية التحتية إلى ديف أوبس الحقيقي" . DevOps.com .
- ↑ "النماذج التصريحية مقابل النماذج الإجرائية لإدارة التكوين: أيهما أفضل حقًا؟" . Scriptrock.com . مؤرشف من الأصل في 31 مارس 2015. تم الاطلاع عليه في 14 ديسمبر 2015 .
- ↑ لوشفيتز، مارتن (14 نوفمبر 2014). "الاختيار بين أبرز برامج إدارة التكوين مفتوحة المصدر" . إدارة الشبكات والأمن . لورانس، كانساس، الولايات المتحدة الأمريكية: لينكس نيو ميديا يو إس إيه إل إل سي.
- ↑ فينيزيا، بول (21 نوفمبر 2013). "Puppet ضد Chef ضد Ansible ضد Salt" . عالم الشبكات . عالم الشبكات. مؤرشف من الأصل في 18 يوليو 2018. تم الاسترجاع في 14 ديسمبر 2015 .
- ↑ اتجاهات سوق غارتنر: ديف أوبس - ليس سوقًا، بل فلسفة تتمحور حول الأدوات وتدعم سلسلة قيمة التسليم المستمر (تقرير). غارتنر. ١٨ فبراير ٢٠١٥.
- 1 2 تشاجانتي، رافيكانث (5 يناير 2016). "DevOps، والبنية التحتية كبرنامج، وPowerShell DSC: مقدمة" . مجلة PowerShell . مجلة PowerShell . تم الاطلاع عليه بتاريخ 11 يناير 2016 .
- ↑ "تقديم AWS CloudFormation" .
- 1 2 فليتشر، كولين؛ كوسغروف، تيرينس (26 أغسطس 2015). رؤى الابتكار لأدوات أتمتة التكوين المستمر . غارتنر (تقرير).
- ↑ ستورجون، فيل (28 أكتوبر 2012). "دمية أم طاهٍ؟" . مؤرشف من الأصل في 1 فبراير 2016. تم الاطلاع عليه في 29 يناير 2016 .
- ↑ راموس، مارتن (4 نوفمبر 2015). "التكامل المستمر: البنية التحتية كبرنامج في DevOps" . easydynamics.com . مؤرشف من الأصل في 6 فبراير 2016. تم الاطلاع عليه في 29 يناير 2016 .
- ↑ البنية التحتية كبرمجيات: إشعال شرارة تسريع تسليم التطبيقات (تقرير). فورستر. مارس 2015.
- ↑ وورستر، لوري ف.؛ كولفيل، روني ج.؛ هايت، كاميرون؛ تريباثي، سوميندرا؛ راستوجي، أديتي. تحليل التقنيات الناشئة: ديف أوبس: تحول ثقافي، وليس تقنية (تقرير). غارتنر.
- ↑ «تقرير التهديدات السحابية يُظهر الحاجة إلى منهجية DevSecOps متسقة» . InformationWeek . ١٣ فبراير ٢٠٢٠. تاريخ الاطلاع: ٢٤ فبراير ٢٠٢٠ .
- تطوير البرمجيات الرشيقة
- عملية تطوير البرمجيات
- إدارة التكوين
- هندسة النظم
- برامج التنسيق الموسيقي
- الحوسبة السحابية
