This project demonstrates a production-ready deployment of a Spring Boot application on AWS, covering the full spectrum of cloud infrastructure setup and application delivery. The Maven-built WAR file was uploaded via the AWS CLI and stored in an S3 bucket before being deployed to EC2 instances configured for high availability through failover and auto-scaling groups. Redis caching was implemented as the centerpiece of the project, visually demonstrating the performance delta between a cold database read on first load and a cache-served response on subsequent requests. Supporting infrastructure included RabbitMQ for asynchronous message brokering, Spring Security for securing application endpoints, and Route 53 for DNS and hosted zone management.
Configuring a resilient multi-EC2 deployment with proper failover behavior and auto-scaling policies required careful AWS infrastructure planning. Integrating Redis caching into the Spring Boot application while ensuring cache invalidation and consistency with the underlying database added architectural complexity. Setting up RabbitMQ alongside the application stack and securing the entire system with Spring Security principles demanded a coordinated approach across multiple AWS services. Managing the full deployment pipeline — from Maven build through CLI upload, S3 storage, and EC2 provisioning — without a CI/CD tool required precise manual orchestration.
The application was packaged as a WAR file using Maven and uploaded to an S3 bucket via the AWS CLI, establishing a reliable artifact storage and retrieval workflow. Multiple EC2 instances were provisioned and configured within an auto-scaling group with failover policies to ensure high availability under load. Redis was integrated into the Spring Boot application to cache database responses, with the caching behavior demonstrated live — showing a first-request database hit followed by a significantly faster cache-served response on repeat requests. RabbitMQ was deployed as the message broker for asynchronous communication, Spring Security was configured to enforce authentication and authorization, and Route 53 was used to manage the hosted zone and route traffic to the load-balanced EC2 fleet.
The deployment successfully demonstrated a production-grade AWS architecture capable of handling failover, scaling under load, and efficient data retrieval through Redis caching. The Redis demonstration clearly illustrated the performance improvement between database-sourced and cache-sourced responses, providing a tangible example of caching as a scalability strategy. The full infrastructure stack — EC2, S3, RabbitMQ, Redis, Route 53, and Spring Security — operated cohesively, validating the deployment pipeline and cloud architecture design.
- End-to-end Spring Boot deployment pipeline via Maven build, AWS CLI, and S3 artifact storage
- Multi-EC2 instance deployment with auto-scaling and failover configuration for high availability
- Redis caching implementation demonstrating live performance comparison between database and cache reads
- RabbitMQ integration for asynchronous message brokering within the application stack
- Spring Security configuration for endpoint authentication and authorization
- Route 53 hosted zone setup for DNS management and traffic routing
- Load-balanced EC2 fleet architecture designed for production resilience and scalability


