الـ Deployment الناجح ليس الذي يظهر فيه زر أخضر فقط؛ الناجح هو الذي تستطيع مراقبته وتشخيصه والتراجع عنه بدون تخمين.
1. Image قابلة للتكرار
2. Health ليس مجرد 200
افصل بين:
- Liveness: العملية نفسها حية.
- Readiness: التطبيق جاهز لاستقبال Traffic.
- Dependency status: قاعدة البيانات أو Redis أو خدمات أساسية.
3. ماذا أراقب؟
| Signal | مثال |
|---|---|
| Latency | p50 / p95 / p99 |
| Traffic | requests per minute |
| Errors | 5xx + domain failures |
| Saturation | CPU / memory / DB pool |
| Jobs | queue lag / failed jobs |
4. Checklist قبل الضغط على Deploy
- Migration backward-compatible
- Secrets خارج Image
- Health endpoints جاهزة
- Backup حديث ويمكن استعادته
- Rollback command معروف
- Smoke test بعد النشر
5. Rollback يجب أن يكون إجراءً معروفًا
Deployments should be boring. Incidents should be diagnosable.
بعد تجهيز Runbook، اربطه بقرارات هندسة المنتج وبنية SaaS حتى يصبح التشغيل جزءًا من التصميم منذ البداية.