قمت بتصميم وتنفيذ بنية تحتية سحابية متكاملة على AWS مع نظام CI/CD مؤتمت بالكامل باستخدام Terraform وJenkins وAnsible.
يهدف المشروع إلى أتمتة عملية إنشاء البنية التحتية ونشر التطبيقات بدون تدخل يدوي، من خلال خطوط CI/CD تعمل على إدارة دورة حياة كاملة للبنية التحتية (Infrastructure as Code).
يعتمد النظام على فصل طبقتين رئيسيتين:
• طبقة إدارة CI/CD (Jenkins Bootstrap Layer)
• طبقة البنية التحتية للتطبيق (Infrastructure Layer)
### مكونات المشروع:
• إنشاء VPCs منفصلة للـ Jenkins والبنية الأساسية للتطبيق
• نشر EC2 Instances (Bastion / App / Jenkins Agent)
• إعداد قاعدة بيانات RDS MySQL
• إعداد Redis باستخدام ElastiCache
• استخدام Application Load Balancer لتوزيع الترافيك
• إعداد NAT Gateway وInternet Gateway للشبكات
### أدوات وتقنيات:
• Terraform لإنشاء وإدارة البنية التحتية (Infrastructure as Code)
• Jenkins لتنفيذ خطوط CI/CD pipelines
• Ansible لإعداد السيرفرات وتكوينها تلقائيًا
• Docker لتشغيل Jenkins داخل حاوية
• AWS (EC2, VPC, RDS, ElastiCache, ALB, IAM)
### آلية العمل:
يقوم Jenkins بتنفيذ pipeline تلقائي يتضمن:
• Terraform Init / Plan / Apply
• إنشاء الموارد السحابية على AWS
• تشغيل Ansible لتجهيز السيرفرات
• نشر التطبيق Node.js تلقائيًا
• إجراء اختبارات تلقائية للتأكد من نجاح النشر
### مميزات المشروع:
• بنية Infrastructure as Code قابلة لإعادة الاستخدام
• فصل كامل بين بيئة CI/CD والبنية التحتية
• دعم بيئتي Dev وProduction
• أتمتة كاملة لعملية النشر والتحديث
• تصميم قابل للتوسع High Availability Ready
• إدارة آمنة بدون استخدام مفاتيح AWS مباشرة
هذا المشروع يعكس مستوى متقدم في DevOps ويغطي مفاهيم الشبكات، الأتمتة، الحاويات، وإدارة البنية التحتية السحابية على AWS.