CSE356 Cloud Computing course project. Building a full Discord clone with real-time bidirectional chat using WebSocket, deployed on a self-managed Kubernetes cluster provisioned with kubeadm. Kafka handles message pub/sub for scalable event-driven communication across services.
Manually provisioned multi-node k8s cluster using kubeadm — Control Plane + 2 Worker Nodes on Clanode bare-metal servers
Configured Nginx Ingress Controller for path-based routing to API Gateway, chat server, auth service, and frontend
Automated build and deploy pipeline — GitHub push triggers Jenkins to build Docker images and roll out to k8s pods
Deployed Kafka cluster for real-time message distribution — Producer/Consumer pattern with WebSocket subscribers for bidirectional chat
Infrastructure provisioning and configuration management across cluster nodes using Ansible playbooks
Cluster and application monitoring with Grafana dashboards for pod health, resource usage, and request metrics
Infrastructure (My Part)
Application