According to Dev, a collaborative effort by the DMI Cohort 2 resulted in the successful deployment of the Spring Petclinic microservices application on AWS. This project served as a practical exercise in implementing modern DevOps workflows, requiring the team to manage a complex architecture consisting of multiple independent services.
Architecture and Observability Integration
The application architecture was designed to handle various functionalities through specialized components. The core infrastructure included a Config Server, Discovery Server (Eureka), API Gateway, and several specific services such as Customers, Visits, Vets, and a GenAI Service. To maintain high availability and visibility, the team integrated a suite of observability tools.
Key monitoring technologies utilized during the deployment included:
- Prometheus for metrics collection
- Grafana for data visualization
- Zipkin for distributed tracing across services
Containerization and Deployment Workflow
The project lead focused on managing application containerization and ensuring environment parity. A critical phase involved validating the Docker Compose stack locally to verify service startup orders and network communication before moving to the cloud. To ensure compatibility with AWS, images were specifically built for the Linux/AMD64 architecture using Docker buildx.
To maintain rigorous version control, the team adopted a specific tagging strategy:
- Tagging container images with unique Git commit hashes to improve traceability.
- Configuring Docker authentication with Amazon Elastic Container Registry (ECR).
- Pushing validated images to ECR repositories for secure deployment.
Technical Challenges and Learning Outcomes
One of the primary hurdles identified during the project was managing the complex dependencies between multiple microservices. Ensuring that every component communicated correctly while maintaining a stable environment required extensive troubleshooting and collaborative testing. The experience provided hands-on knowledge in cloud deployment, team coordination, and the nuances of container orchestration.The successful deployment highlights the growing importance of standardized DevOps practices in managing scalable microservice architectures. By combining Spring Boot with AWS infrastructure, the team demonstrated how integrated monitoring can stabilize complex distributed systems.