بناء بيئة تجمع بين الأمان، وقابلية التوسع، والأتمتة، والمراقبة.
أهم أجزاء التصميم:
🔹 Networking & Security
استخدمت Amazon VPC مع Public وPrivate Subnets موزعة على Availability Zones متعددة. وضعت التطبيق وقاعدة البيانات في الشبكات الخاصة، مع استخدام Application Load Balancer لاستقبال حركة المرور، وAWS WAF لإضافة طبقة حماية لتطبيق الويب.
🔹 Amazon EKS & Auto Scaling
استخدمت Amazon EKS لإدارة وتشغيل التطبيق باستخدام Kubernetes، مع Horizontal Pod Autoscaler (HPA) للتوسع الأفقي حسب استهلاك الموارد.
🔹 Database & Secrets Management
استخدمت Amazon RDS for PostgreSQL لقاعدة البيانات، مع إعداد Multi-AZ لتوفير Standby Instance ودعم التوافر العالي. أما البيانات الحساسة، فأديرها باستخدام AWS Secrets Manager بدل تضمينها مباشرة في الكود المصدري.
🔹 CI/CD & GitOps
استخدمت GitHub Actions لأتمتة الاختبارات وبناء Docker Image ونشرها في Amazon ECR، بالإضافة إلى تحديث Kubernetes manifests.
أما Argo CD، فيتولى مزامنة الـ manifests من GitHub مع بيئة Kubernetes، مما يطبق مفهوم GitOps في إدارة عمليات النشر.
🔹 Monitoring & Alerting
أضفت Prometheus وGrafana لمراقبة التطبيق والكلستر، واستخدمت Amazon CloudWatch لمراقبة قاعدة البيانات، مع إعداد تنبيهات عبر Amazon SNS.
🔹 Infrastructure as Code
استخدمت Terraform لإدارة موارد AWS وتنظيمها باستخدام Modules، مما يجعل البنية التحتية أسهل في الإدارة والتطوير.
أكثر شيء استفدته من المشروع هو فهم العلاقة بين مكونات البنية التحتية، وكيف تؤثر القرارات التقنية على الأمان والتوسع والتشغيل، بدل التعامل مع كل خدمة بمعزل عن الأخرى.