When our group of 11 was handed the brief for our DMI DevOps Micro-Internship capstone project, the goal was clear: take a real-world microservices application and deploy it end-to-end on AWS using production-grade tooling. No shortcuts, no simulated environments. The kind of setup you'd actually find in a professional engineering team.

The application we worked with was Spring PetClinic — a veterinary clinic management system built as 8 independent Spring Boot microservices. On the surface it's a simple app. Under the hood it's a distributed system with service discovery, centralised configuration, an API gateway, a generative AI chatbot, and a full observability stack. It was the perfect candidate for what we were trying to learn.

What We Built

The final architecture brought together a wide range of tools across every layer of the stack:

Terraform to provision the AWS infrastructure — VPC, EKS cluster, RDS, ECR repositories, IAM roles, and the AWS Load Balancer Controller