مقالات عملية مرتبة حسب المجال والمستوى، اختر المجال المناسب واقرأ من مستوى مبتدئ إلى محترف.
لو الـ Pod بتاعك بيموت ويرجع وفي حالته OOMKilled، السبب إنه عدّى سقف الذاكرة. مقال للمبتدئ بمثال حجز الترابيزة في المطعم، شرح علمي لـ cgroups و OOM killer وكود الخروج 137، إعداد YAML وأوامر kubectl قابلة للنسخ، أرقام قبل وبعد من خدمة fintech، الفرق بين requests و limits، 4 trade-offs، ومتى متحطش limit على الذاكرة.
لو حد عمل kubectl edit على الإنتاج ومحدّش عارف مين ولا إمتى، المشكلة مش في الفريق. GitOps بـ ArgoCD بيخلّي Git مصدر الحقيقة الوحيد، والـ cluster يرجّع نفسه لحالته الصح في ثوانٍ. مقال للمبتدئ بمثال الترموستات، المبادئ الأربعة من OpenGitOps، ملف Application كامل قابل للنسخ على ArgoCD، أرقام self-heal مقاسة، 4 trade-offs، ومتى GitOps يبقى overhead.
في الـ default mode، أي pod في الـ cluster يقدر يفتح اتصال على أي pod تاني — بما فيهم الـ database. مقال للمبتدئ بمثال عمارة الشقق المفتوحة، YAML شغّال في 14 سطر، شرح default-deny pattern، وأرقام مقاسة من penetration test على cluster fintech قبل وبعد NetworkPolicy.
لو بتعمل rolling update ولاحظت إن users بيشوفوا 502 في أول 20 ثانية بعد كل deploy، المشكلة مش في الكود — هي إن Kubernetes بيوجّه ترافيك على pod قبل ما الـ app يخلّص استعداد. مقال للمبتدئ بمثال محل الكشري، فرق Liveness و Readiness و Startup Probes، YAML شغّال على Kubernetes 1.32 + كود Node.js قابل للنسخ، أرقام مقاسة من خدمة fintech عربية (18,400 خطأ 5xx → 38 خطأ، نزول 99.79%)، 4 trade-offs خفية في DB checks وفي period/threshold، ومتى Probes تكون تعقيد بدون فايدة.
cron بيشتغل صامت وبيفشل أصمت. لو الـ backup فشل أو السيرفر كان مطفي وقت التشغيل، مفيش حد بيدري. systemd timers بيحل ده في 8 أسطر config مع logs مركزية في journald و Persistent=true لتعويض المهام الفاتت. مقال للمبتدئ بمثال صديق الميه، شرح علمي من توثيق systemd الرسمي، service + timer كاملين شغّالين على Ubuntu 22.04، أرقام من فريق 6 مهندسين على 22 سيرفر (الكشف من 4.6 يوم لـ 38 ثانية)، 4 trade-offs خفية، ومتى cron يفضل خيار أذكى.
لو فريقك بيكرّر نفس السيرفر مرتين، المشكلة مش في الكود — المشكلة إن كل واحد عنده نسخة منفصلة من ذاكرة Terraform. مقال للمبتدئ بمثال ورقة المشتريات على باب التلاجة، شرح علمي لملف الـ state والـ lock، إعداد S3 backend في 6 أسطر، أرقام من فريق 5 مهندسين، trade-offs حقيقية، ومتى متستخدمش backend بعيد.
لو سيرفر PostgreSQL بياكل 1.8 جيجا رام وبيرجّع too many clients عند 200 مستخدم، المشكلة مش في حجم السيرفر، المشكلة في غياب طبقة pooling. مقال للمبتدئ بمثال الأسانسير المشترك، شرح علمي لـ Connection Pool، إعداد PgBouncer كامل في 10 سطور، أرقام مقاسة من إنتاج (الذاكرة من 1.4GB لـ 280MB، 0 أخطاء في 90 يوم)، 4 trade-offs خفية، ومتى PgBouncer مش الحل أصلًا.
لو الـ Docker image بتاع تطبيقك حجمه أكتر من جيجابايت وفيه عشرات الـ CVEs، انت مش محتاج alpine ولا slim — انت محتاج Distroless. مقال للمبتدئ بمثال صندوق الشحن، تعريف علمي من مشروع Google 2017، Dockerfile قبل وبعد، أرقام مقاسة على Node.js و Python و Go (الحجم من 1.13GB لـ 187MB، CVEs من 167 لـ 3)، 4 trade-offs حقيقية، ومتى Distroless مش الحل أصلاً.
لو الـ deploy بيرجّع 503 لكل المستخدمين أول 28 ثانية بعد كل release، Kubernetes مش غلطان — هو بيبعت ترافيك لـ Pods لسه ما اتصلتش بقاعدة البيانات. مقال للمبتدئ يشرح Liveness و Readiness و Startup Probes بمثال مستشفى الاستقبال، YAML شغّال على Kubernetes 1.30، أرقام مقاسة من cluster GKE بـ 18 microservice (5xx من 23% لـ 0.4%، Pod restart loops من 14/أسبوع لـ 0)، 4 trade-offs خفية، ومتى Probes بتكون مضيعة وقت.