Mohamed Amine Hajji / Projects

Mini Cloud Architecture

A 5-node high-availability cloud lab — HAProxy load balancing, redundant app servers, and a multi-master MariaDB Galera cluster with automatic failover — provisioned from bare VMs with shell scripts.

GitHub

A working 5-node distributed system built to prove out how real cloud platforms achieve high availability: every layer, from bare Ubuntu VMs to network segmentation, is provisioned with idempotent shell scripts and no manual steps. HAProxy load-balances two Node.js app servers kept file-consistent via rsync, while a multi-master MariaDB Galera cluster replicates synchronously and Keepalived floats a Virtual IP between database nodes — so the app layer never talks to a specific host, only to whichever one is healthy.

Highlights

Stack: Vagrant, VirtualBox, Bash, HAProxy, Node.js, Express, MariaDB Galera, Keepalived, Linux