دورة أتمتة السيرفرات وهندسة الـ DevOps (DevOps & Cloud Automation)
🚀 مسار الدروس
- 1ما هو DevOps؟ ولماذا تدفع الشركات ثروات لمهندسي الأتمتة السحابية؟
- 2مشكلة “الكود يعمل على جهازي فقط” وكيف يحلها Docker نهائياً؟
- 3تثبيت Docker وإعداد بيئة العمل على Linux و Windows
- 4أول حاوية (Container) لك: تشغيل سيرفر ويب Nginx بكلمة واحدة
- 5فهم صور دوكر (Docker Images) وكيفية سحبها وإدارتها
- 6أوامر Docker الأساسية للتحكم: تشغيل، إيقاف، فحص، وحذف الحاويات
- 7كتابة أول Dockerfile: تحويل سكربت Python إلى صورة (Image) معزولة
- 8تحويل سيرفر Node.js متكامل إلى حاوية Docker قابلة للنقل
- 9التخزين الدائم (Docker Volumes): كيف نمنع ضياع قواعد البيانات عند توقف الحاوية؟
- 10مشروع مصغر: بناء وتغليف تطبيق تفاعلي مع قاعدة بيانات داخل حاوية معزولة
- 11ما هو Docker Compose؟ ولماذا نحتاجه لتشغيل المشاريع المعقدة؟
- 12كتابة أول ملف docker-compose.yml خطوة بخطوة
- 13ربط حاوية خادم (Backend) بحاوية قاعدة بيانات (MySQL/PostgreSQL) آلياً
- 14إدارة الشبكات (Docker Networks): كيف تتحدث الحاويات مع بعضها بأمان؟
- 15تمرير المتغيرات البيئية (Environment Variables) للحاويات بشكل آمن
- 16تقليل حجم الحاويات: بناء صور دوكر خفيفة جداً وسريعة (Alpine Linux)
- 17مشروع مصغر: تشغيل منصة WordPress كاملة مع قاعدة بياناتها بضغطة زر
- 18مشروع مصغر: أتمتة تشغيل بيئة تطوير (React + Node + DB) بملف YAML واحد
- 19ما وراء الالتزام (Commit): كيف تدير فروع المشروع (Branches) باحترافية؟
- 20دمج الأكواد (Git Merge vs Rebase) وحل التعارضات (Merge Conflicts)
- 21استراتيجيات العمل الجماعي: نظام GitHub Flow وكيف تعمل الشركات الكبرى؟
- 22حماية الفروع (Branch Protection) ومنع رفع الأكواد الخاطئة للنسخة الحية
- 23استخدام Git Hooks لأتمتة فحص وتنسيق الكود قبل أي عملية Push
- 24التراجع عن الأخطاء الكارثية: الفرق بين Git Reset و Git Revert
- 25مشروع مصغر: محاكاة بيئة عمل فريق برمجي لحل مشكلة وتحديث الكود بأمان
- 26ما هو الـ CI/CD؟ ولماذا نؤتمت عمليات اختبار ونشر الأكواد؟
- 27مقدمة في GitHub Actions: كتابة أول مسار عمل (Workflow)
- 28بناء أوامر YAML لأتمتة تشغيل السكربتات التلقائية عند كل Push
- 29أتمتة تشغيل الاختبارات البرمجية (Unit Tests) في السحابة لاكتشاف الأخطاء
- 30أتمتة بناء صور Docker ورفعها إلى Docker Hub آلياً بدون تدخل بشري
- 31إدارة الأسرار (GitHub Secrets) لحماية كلمات المرور ومفاتيح الـ API في الأتمتة
- 32النشر المستمر (Continuous Deployment): رفع الكود الجديد إلى سيرفر Linux تلقائياً
- 33إنشاء خط أنابيب (Pipeline) يرفض الأكواد التي تفشل في الاختبارات
- 34إرسال إشعارات فورية إلى Telegram أو Slack عند نجاح أو فشل نشر التحديثات
- 35الجدولة (Cron Jobs) في GitHub Actions لتشغيل المهام الاحتياطية ليلاً
- 36مشروع عملي: بناء CI/CD كامل يختبر وينشر تطبيق ويب إلى السيرفر آلياً
- 37ما هو Ansible؟ وكيف تتحكم في 100 سيرفر Linux من حاسوبك المكتبي؟
- 38إعداد الاتصال الآمن (SSH Keys) بدون كلمات مرور بين جهازك والخوادم
- 39كتابة ملفات الجرد (Inventory) لتعريف وتصنيف الخوادم
- 40أول Playbook لك: تثبيت البرامج (مثل Nginx و Node) آلياً بلغة YAML
- 41استخدام المتغيرات (Variables) والحلقات (Loops) داخل Ansible
- 42المعالجات (Handlers): إعادة تشغيل الخدمات فقط عند حدوث تغيير في السيرفر
- 43أتمتة إعداد جدار الحماية (UFW) وتأمين عدة سيرفرات Linux بضغطة واحدة
- 44أتمتة إنشاء مستخدمين جدد بصلاحيات محددة على السيرفرات لفرق العمل
- 45مشروع مصغر: سكربت Ansible يجهز سيرفر Ubuntu خام بالكامل كخادم ويب جاهز
- 46البنية التحتية ككود (IaC): لماذا يجب أن نتخلى عن إنشاء السيرفرات يدوياً؟
- 47تثبيت Terraform وربطه مع مزود خدمة سحابي (AWS أو DigitalOcean) عبر الـ API
- 48كتابة أول ملف Terraform لإنشاء سيرفر (VPS) سحابي برمجياً
- 49أوامر Terraform الأساسية المذهلة (Init, Plan, Apply, Destroy)
- 50إدارة حالة البنية التحتية (Terraform State) وكيف تحافظ عليها من الضياع
- 51إنشاء شبكات سحابية (VPC) وقواعد بيانات مُدارة بالكامل عبر الأكواد
- 52استخدام الوحدات (Modules) في Terraform لتنظيم الكود وإعادة استخدامه
- 53تحديث وتدمير الموارد السحابية بأمان دون التأثير على الخدمات الأخرى
- 54مشروع مصغر: أتمتة إنشاء بيئة إنتاج كاملة (سيرفر + شبكة + IP ثابت) برمجياً
- 55لماذا المراقبة حتمية في الـ DevOps؟ مقدمة في Prometheus و Grafana
- 56تثبيت Prometheus لجمع مقاييس السيرفر (استهلاك الذاكرة، المعالج، الشبكة)
- 57تثبيت Grafana وربطها بـ Prometheus لإنشاء لوحات تحكم بصرية مذهلة
- 58بناء لوحة تحكم (Dashboard) مخصصة لمراقبة أداء تطبيق وسيرفرات شركتك
- 59إعداد تنبيهات (Alerts) لإرسال رسالة إذا ارتفع استهلاك المعالج عن 90%
- 60مشروع مصغر: نظام مراقبة متكامل يكتشف توقف السيرفر ويبلغك عبر الإيميل فوراً
- 61ما هو Kubernetes (K8s)؟ ومتى ننتقل من Docker Compose إليه؟
- 62فهم بنية K8s: ما هي الـ Pods، الـ Nodes، والـ Clusters؟
- 63كتابة أول ملف Deployment لتشغيل تطبيقك على نظام Kubernetes
- 64استخدام Services لربط التطبيقات وعمل موازنة أحمال (Load Balancing)
- 65التحجيم التلقائي (Auto-scaling): كيف يواجه تطبيقك آلاف الزوار فجأة دون انهيار؟
- 66مشروع التخرج (الجزء 1): استخدام Terraform لبناء سيرفرات المشروع الآلية
- 67مشروع التخرج (الجزء 2): أتمتة النشر عبر GitHub Actions وتغليف المشروع بـ Docker
- 68النتيجة النهائية: محاكاة يوم كامل في حياة مهندس DevOps محترف