DevOps والتشغيل
من Git إلى النشر والمراقبة والتوفر العالي وKubernetes، وكيف تبقى الخدمة تعمل.
إدارة الكود Git والمستودعات
مبتدئقبل أي نشر أو CI يحتاج فريقك مكاناً واحداً للكود وطريقة واضحة للعمل عليه، وهنا تتعلم Git وطرق العمل بالفروع وتشغيل خادم Git خاص بفريقك.
- إدارة النسخ وGit للمبتدئين: لماذا نحتاجها وكيف تعمل
- Git في العمل اليومي: الدمج والتراجع دون أن تخسر عملك
- Trunk-Based Development: فروع قصيرة ودمج يومي
- Gitea: خادم Git خاص لفريقك على سيرفرك
- دخول موحد إلى Gitea بحسابات authentik
- Forgejo: البديل المجتمعي لـ Gitea، ومتى تختار GitLabمخطط
- Git Hooks وpre-commit: افحص الكود قبل أن يدخل المستودعمخطط
- توقيع ال Commits بمفاتيح SSH وGPG: من كتب هذا الكود فعلاً؟مخطط
- Monorepo أم Polyrepo؟ كيف تنظم مستودعات فريقكمخطط
5 من 9 منشورة
DevOps وCI/CD: من الكود إلى السيرفر
للمطوريناجعل الكود يصل إلى السيرفر عبر خط CI/CD يبني ويختبر وينشر من Git، وإذا كنت تطور تطبيقاً سوف يعمل داخل Container وخلف Reverse Proxy فانتبه لأخطاء لا تظهر إلا بعد النشر.
- طرق نشر التطبيقات من FTP إلى GitOps، وأين تقف أنت
- بيئة التطوير المحلية: كيف تحاكي البريد وDNS وHTTPS على جهازك
- أدوات بيئة التطوير المحلية: ماذا تستخدم لكل خدمة؟
- بيئة تطوير محلية كاملة بملف Docker Compose واحد
- من الفرع إلى الإنتاج: البيئات وGitOps للفرق
- أنواع الاختبارات للمبتدئين: من Unit إلى E2E مع Playwright
- Gitea Actions: تشغيل CI/CD وبناء Docker Images على سيرفرك
- نمذجة التهديدات Threat Modeling للمبتدئين
- أمن سلسلة التوريد البرمجية Software Supply Chain للمبتدئين
- DevSecOps للمبتدئين: الأمن داخل خط CI/CD ومتى يعمل كل فحص
- Secrets Scanning: كيف تكتشف الأسرار المسربة في الكود
- SAST: كيف يجد تحليل الكود الثابت الثغرات قبل التشغيل
- SCA: كيف تجد الثغرات المعروفة في مكتبات مشروعك
- فحص ال Docker Images وملفات البنية ككود IaC
- DAST: فحص تطبيقك من الخارج وهو يعمل
- خط CI/CD آمن من البداية للنهاية على Gitea Actions
- قبل أن تنشر تطبيقك على خادمك: قائمة تحقق للمطور
- كيف يرى تطبيقك عنوان الزائر الحقيقي خلف ال Reverse Proxy
- CORS: لماذا يرفض المتصفح طلبك، وكيف تسمح به بأمان
- لماذا يفشل رفع الملفات الكبيرة؟ وأين تعدل حد الحجم
- Woodpecker CI: خطوط CI/CD خفيفةمخطط
- مقارنة Gitea Actions وWoodpecker وJenkinsمخطط
- قائمة مكونات البرنامج SBOM مع Syft، وتوقيع ال Images مع Cosign وSigstoreمخطط
- معايير SLSA: كيف تثبت أن البرنامج الذي نشرته هو نفسه الذي بنيتهمخطط
- إدارة الحزم والمكتبات Artifacts مع Nexusمخطط
- Python لأتمتة مهام السيرفرمخطط
20 من 26 منشورة
ضمان الجودة والاختبار QA
للمطورينكل ما يخص ضمان الجودة QA في مكان واحد: المفهوم والعملية ودور فريق الاختبار، ثم أنواع الاختبارات وأدواتها، ثم أتمتة الاختبارات وجودة الكود والأداء والأمان.
- ما هو ضمان الجودة QA وكيف يعمل فريق الاختبار؟
- أنواع الاختبارات للمبتدئين: من Unit إلى E2E مع Playwright
- أدوات ضمان الجودة QA: أيها يناسب فريقك؟
- Kiwi TCMS: إدارة حالات الاختبار والأخطاء على سيرفرك
- اختبارات E2E مع Playwright: من أول اختبار إلى CI
- اختبار ال API مع Bruno وPostman في خط CI
- اختبار العقود Contract Testing بين الخدمات مع Pact
- اختبارات يكتبها الذكاء الاصطناعي: متى تثق بها؟
- متى يكون الذكاء الاصطناعي واثقاً ومخطئاً؟
- اختبار الأحمال والضغط Load Testing للمبتدئين
- ما هي جودة الكود Code Quality وكيف تقيسها؟
- أدوات جودة الكود: أيها تختار لفريقك؟
- SonarQube عملياً: بوابة جودة لكود الذكاء الاصطناعي
- مراجعة كود الذكاء الاصطناعي دون أن تصبح شكلية
- DAST: فحص تطبيقك من الخارج وهو يعمل
- اختبار الطفرات Mutation Testing: هل تكشف اختباراتك الأخطاء؟
- سهولة الوصول Accessibility: موقع وتطبيق يستخدمه الجميع
- اختبار سهولة الوصول Accessibility لموقع عربي
- اختبار تطبيقات الجوال مع Appium وMaestro
19 من 19 منشورة
البنية كشيفرة IaC والأتمتة
متقدمعندما يصبح عندك أكثر من سيرفر لا يعقل أن تنشئها وتضبطها يدوياً في كل مرة، فتكتب البنية في ملفات داخل Git تراجعها وتعيد تطبيقها، فيصبح السيرفر الجديد نسخة مطابقة في دقائق.
- مصطلحات البنية كشيفرة IaC التي تحتاجها قبل أي أداة
- Terraform أم OpenTofu؟ قصة تغيير الترخيص وما يعنيه لك
- أول بنية مع OpenTofu: إنشاء سيرفر وسجلات DNS من ملفمخطط
- ملف الحالة State: أين تحفظه وكيف تقفله وتحميهمخطط
- الوحدات Modules وتنظيم مشاريع OpenTofuمخطط
- تشغيل OpenTofu من خط CI/CD: Plan في كل طلب دمجمخطط
- الإعداد الأول للسيرفر تلقائياً مع cloud-initمخطط
- Ansible للمبتدئين: Inventory وPlaybooks وRolesمخطط
- تأمين السيرفرات تلقائياً مع Ansibleمخطط
- واجهة لتشغيل Ansible لفريقك: Semaphore UIمخطط
- OpenTofu أم Ansible؟ ومتى تستخدم الاثنين معاًمخطط
- بناء Images جاهزة للسيرفرات مع Packerمخطط
- إدارة الأسرار Secrets: Infisical أم OpenBao؟مخطط
- تشفير الأسرار داخل Git مع SOPSمخطط
2 من 14 منشورة
التشغيل والصيانة
متقدمالسيرفر لا ينتهي العمل عليه بعد التثبيت، فالنسخ الاحتياطي والمراقبة والتحديث والاستعداد للطوارئ هي ما يجعل خدماتك تعمل لسنوات.
- النسخ الاحتياطي بقاعدة 3-2-1 واختبار الاستعادة
- أي أداة نسخ احتياطي Backup تناسب سيرفرك؟
- FinOps: كيف تجعل فريقك مسؤولاً عن تكلفة السحابة
- أدوات FinOps: التكلفة قبل الدمج وبعد النشر
- نسخ احتياطي خارج السيرفر: S3 وHetzner Storage Box وسيرفر في مدينة أخرىمخطط
- نسخ قواعد البيانات بشكل صحيح: pg_dump وmysqldump ولقطات ال Volumesمخطط
- Proxmox Backup Server لنسخ الأجهزة الافتراضيةمخطط
- روتين الصيانة الأسبوعي: كم يحتاج السيرفر من وقتك؟مخطط
- خطة الطوارئ قبل أن تحتاجهامخطط
- تحديث ال Containers بأمان: Watchtower أم Diun أم Renovate؟مخطط
4 من 10 منشورة
المراقبة والسجلات Observability
متقدملا تنتظر أن يخبرك المستخدم أن الخدمة متوقفة، فالمقاييس Metrics والسجلات Logs والتتبع Traces تخبرك قبله، وتخبرك لماذا توقفت.
- مفاهيم المراقبة Observability: من الإشارة إلى التنبيه
- السجلات Logging للمطورين: ماذا تسجل وماذا لا تسجل
- سجلات تساعدك فعلاً: من «حدث خطأ» إلى سبب المشكلة
- مسار السجل Log Pipeline من التطبيق إلى البحث والتنبيه
- Audit Trail: كيف تبني سجل تدقيق لا يقبل العبث
- جمع السجلات Logs مركزياً مع Grafana Loki
- السجلات المركزية Logs مع Graylog وOpenSearch
- سجلات منظمة Structured Logs تبحث فيها بالخصائص مع Seq
- أي أداة لسجلاتك المركزية؟ مقارنة بالأرقام على البيانات نفسها
- تتبع الأخطاء Error Tracking للمطورين مع GlitchTip
- SigNoz: بديل Datadog مفتوح المصدر Open Source على سيرفرك
- كم تكلف منصات المراقبة Observability؟ مقارنة بالأرقام
- مراقبة الخدمات والتنبيهات مع Uptime Kumaمخطط
- مراقبة خفيفة لسيرفر واحد: Netdata أو Beszelمخطط
- Prometheus وNode Exporter: قياس صحة السيرفراتمخطط
- لوحات Grafana والتنبيهات مع Alertmanagerمخطط
- OpenTelemetry للمطورين: تتبع الطلبات Tracesمخطط
- تتبع الطلبات مع Jaegerمخطط
- VictoriaLogs: سجلات مركزية بذاكرة وتخزين أقلمخطط
- مقارنة Grafana Stack وSigNoz وZabbixمخطط
12 من 20 منشورة
الأداء والموثوقية SRE
متقدمموقع يحمل في ثانية يختلف عن موقع يحمل في خمس، وخدمة متاحة 99.9% تختلف عن 99%، لذلك تعلم كيف تقيس الأداء والموثوقية بأرقام واضحة، وكيف تتفق عليها مع فريقك وعملائك، وكيف تتعامل مع الأعطال عندما تحدث.
- استكشاف الأخطاء وتحليل الأداء للمبتدئين: من العرض إلى السبب
- تحليل أداء سيرفر Linux في 60 ثانية: ماذا تكتب أولاً؟
- تتبع الطلب البطيء من المتصفح إلى قاعدة البيانات
- اختبار الأحمال والضغط Load Testing للمبتدئين
- من يتحمل المسؤولية Accountability عندما يتعطل الإنتاج؟
- مفاهيم SRE للمبتدئين: SLA وSLO وSLI وError Budgetمخطط
- ماذا تعني 99.9%؟ حساب وقت التوقف المسموح لكل مستوىمخطط
- سرعة الموقع بالأرقام: TTFB وLCP وINP وCLS ومؤشرات Core Web Vitalsمخطط
- قياس سرعة موقعك وتحسينها: Lighthouse وWebPageTestمخطط
- التخزين المؤقت Caching على كل طبقة: المتصفح والـ CDN والسيرفر وقاعدة البياناتمخطط
- تخطيط السعة Capacity Planning: متى تحتاج سيرفراً أكبر؟مخطط
- هندسة الفوضى Chaos Engineering: اختبر التعطل قبل أن يحدثمخطط
5 من 12 منشورة
التوفر العالي High Availability
متقدمسيرفر واحد يعني نقطة فشل واحدة، فإذا توقف توقفت خدماتك، والتوفر العالي يعني أن تستمر الخدمة رغم تعطل جزء منها، لكنه يضاعف التعقيد والتكلفة، لذلك افهم المفاهيم وقرر ما الذي يستحقه فعلاً.
- مفاهيم التوفر العالي High Availability للمبتدئين
- عنوان IP عائم بين سيرفرين مع Keepalived وVRRP
- عناقيد قواعد البيانات Database Clustering ومتى تحتاجها
- هل تحتاج التوفر العالي فعلاً؟ احسب تكلفة التوقف قبل أن تبنيمخطط
- موازنة الأحمال Load Balancing: المفاهيم والخوارزمياتمخطط
- HAProxy مع Keepalived: موزع أحمال بلا نقطة فشل واحدةمخطط
- النسخ المتماثل Replication وFailover تلقائي لـ PostgreSQL مع Patroniمخطط
- عنقود MariaDB Galeraمخطط
- توفر عالٍ لـ Redis وValkey مع Sentinelمخطط
- عنقود Proxmox VE والتوفر العالي للأجهزة الافتراضيةمخطط
- اختبار التعطل: كيف تتأكد أن خطة التوفر تعمل فعلاًمخطط
3 من 11 منشورة
Kubernetes وGitOps
متقدمعندما تكبر الخدمات وتحتاج إلى أكثر من سيرفر وتوزيع تلقائي وتحديث دون توقف يأتي دور Kubernetes، ومعه GitOps الذي يجعل Git المصدر الوحيد لحالة العنقود Cluster.
- هل تحتاج Kubernetes فعلاً؟ متى يكفي Docker Compose
- مصطلحات Kubernetes مشروحة بالترتيب، من Pod إلى Ingress
- تثبيت K3s على سيرفر واحدمخطط
- عنقود K3s من ثلاث عقد Nodesمخطط
- Helm: تثبيت التطبيقات على Kubernetesمخطط
- ConfigMaps وSecrets: الإعدادات والأسرار في Kubernetesمخطط
- StatefulSets وقواعد البيانات داخل Kubernetesمخطط
- Ingress وcert-manager: نطاقات وشهادات HTTPSمخطط
- التخزين في Kubernetes مع Longhornمخطط
- الصلاحيات RBAC وسياسات الشبكة NetworkPolicyمخطط
- التوسع التلقائي HPA وحدود الموارد Requests وLimitsمخطط
- استراتيجيات النشر: Rolling وBlue-Green وCanaryمخطط
- مراقبة Kubernetes مع kube-prometheus-stackمخطط
- GitOps مع Argo CDمخطط
- Argo CD أم Flux؟مخطط
- إدارة عدة عناقيد مع Rancherمخطط
- Service Mesh: Istio أم Linkerd؟مخطط
- Nomad: بديل أخف من Kubernetesمخطط
- مقارنة K3s وMicroK8s وTalos Linuxمخطط
2 من 19 منشورة
منصات للمطورين: Backend جاهز وبيئة تطوير وAPI
متوسطالمطور لا يحتاج إلى بناء كل شيء من الصفر، فهناك منصات Backend جاهزة تستضيفها بنفسك، وبيئات تطوير في المتصفح، وبوابات API تحمي خدماتك وتنظمها.
- هندسة المنصات Platform Engineering والمشكلة التي تحلها
- DevOps وSRE وهندسة المنصات: أين يلتقي كل منها؟
- Headless CMS: متى تحتاجه، وهل تختار Strapi أم Directus؟
- Feature Flags: انشر الكود وفعل الميزة لاحقاً
- ما هي بوابة API Gateway ومتى تحتاجها؟
- Apache APISIX عملياً: من أول Route إلى بوابة إنتاج
- بيئة تطوير في المتصفح لفريقك مع code-server وCoderمخطط
- Unleash: إدارة الميزات Feature Flags لفريقكمخطط
- Flagsmith: Feature Flags وإعدادات عن بعد Remote Configمخطط
- اختبارات A/B وقياس أثر الميزة مع GrowthBookمخطط
- معيار OpenFeature: لا تربط كودك بأداة واحدةمخطط
- Unleash أم Flagsmith أم GrowthBook؟مخطط
- مكتبة الخدمات والتوثيق الموحد للمطورين مع Backstageمخطط
- جدولة سير البيانات Pipelines مع Apache Airflowمخطط
6 من 14 منشورة