
البنية التحتية ككود مع Terraform: البداية الصحيحة
لماذا البنية التحتية ككود؟
النقر عبر واجهة AWS مناسب للتعلم. لكنه كارثي للإنتاج. البنية التحتية اليدوية غير قابلة للتكرار وغير قابلة للمراجعة وهشة. نقرة واحدة خاطئة يمكن أن تُسقط قاعدة بيانات إنتاجية، ولا يوجد زر تراجع.
١. هيكلة المشروع
مشروع Terraform مُنظّم جيداً يؤتي ثماره مع نمو التعقيد:
infrastructure/
├── environments/
│ ├── dev/
│ ├── staging/
│ └── production/
├── modules/
│ ├── networking/
│ ├── compute/
│ └── database/
└── shared/
└── backend.tf
٢. إدارة الحالة عن بُعد
لا تخزّن حالة Terraform محلياً أبداً. استخدم backend عن بُعد (S3 + DynamoDB لـ AWS) مع قفل الحالة لمنع التعديلات المتزامنة.
٣. الوحدات لإعادة الاستخدام
بمجرد تعريفك لـ VPC أو قاعدة بيانات أو كلاستر Kubernetes لبيئة واحدة، لا ينبغي إعادة كتابتها لبيئة أخرى. وحدات Terraform تُتيح تعريف أنماط البنية التحتية مرة واحدة واستنساخها بمتغيرات مختلفة.
فكّر في الوحدات كدوال للبنية التحتية: مدخلات واضحة، مخرجات متوقعة، اختبار مستقل.
٤. خطط قبل التطبيق
terraform plan ليس اختيارياً. إنه قائمة فحص ما قبل الإقلاع. راجع دائماً مخرجات الخطة قبل التطبيق، خاصة في بيئة الإنتاج.
٥. انضباط إدارة الحالة
- لا تعدّل ملفات الحالة يدوياً أبداً
- استخدم
terraform importللموارد الموجودة - فعّل تعدد إصدارات الحالة على حاوية التخزين
- استخدم مساحات عمل أو ملفات حالة منفصلة لكل بيئة
ابدأ صغيراً وتوسع تدريجياً
لا تحاول ترميز بنيتك التحتية بالكامل في سبرنت واحد. ابدأ بخدمة واحدة، أتقن سير العمل، ثم وسّع. الهدف هو أساس يمكنك البناء عليه لسنوات.