Mohamed Magdy Dewidar
View Github Repo
End-to-End CI/CD & Orchestration

Automated DevOps Orchestration

A full-lifecycle DevOps lifecycle for a microservices application with a React frontend and Flask backend, fully automated via GitLab CI/CD and deployed to AWS EC2 using Ansible.

System Architecture

The application components are containerized and orchestrated via docker-compose, managed by Ansible roles, and deployed to AWS for production access.

DevOps Pipeline System Architecture

CI/CD Execution Proof

The pipeline is triggered on every push to the main branch , executing 6 automated stages: Slack notifications, dependency installation, testing, security scanning with Trivy, and Ansible deployment.

Successful GitLab CI/CD Pipeline

Deployment Result

Once deployed to the AWS EC2 instance (Ubuntu 24.04 LTS) , NGINX serves the React frontend, which proxies API requests to the Flask backend.

Live Task Manager Application on AWS

Infrastructure Provisioning

Ansible automatically provisions the EC2 instance, clones the repository, and pulls hardened Docker images.

Security Scanning

Built-in Trivy scans audit the Docker images for high-severity vulnerabilities before the deployment phase.