Skip to content

About

Built a complete multi-tier DevOps environment for the VProfile web app from scratch. Automated setup of MySQL, Memcached, RabbitMQ, Tomcat, and Nginx on five virtual machines using Vagrant and VirtualBox. Achieved full end-to-end deployment and service integration in a local lab environment.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

VProfile Multi-Tier Deployment (DevOps Hands-On Project)

This project showcases my hands-on DevOps setup where I built a complete multi-tier environment for a Simple Java Web Application using Vagrant, VirtualBox, and Linux.
The entire stack was deployed manually first and then fully automated using shell provisioning.


πŸ“˜ Project Overview

This setup replicates a realistic production-like environment where each major service runs on its own virtual machine.
It helped me understand how backend services integrate and how to automate Infrastructure as Code on a local system.

Key Goals

  • Provision 5 VMs using Vagrant + VirtualBox
  • Configure database, cache, message broker, app server, and web server
  • Deploy a Java application on Tomcat
  • Route traffic through Nginx reverse proxy
  • Validate full end-to-end workflow (DB β†’ App β†’ Cache β†’ Queue)
  • Automate provisioning using Bash scripts

🧱 Architecture

Service Role VM Name IP Address OS
MySQL Database db01 192.168.56.15 CentOS 9
Memcached Caching Layer mc01 192.168.56.14 CentOS 9
RabbitMQ Message Broker rmq01 192.168.56.13 CentOS 9
Tomcat Application Server app01 192.168.56.12 CentOS 9
Nginx Reverse Proxy / Web Layer web01 192.168.56.11 Ubuntu 22.04

βš™οΈ Tools & Technologies

  • Vagrant – VM provisioning
  • VirtualBox – Hypervisor
  • Linux (CentOS & Ubuntu)
  • MariaDB / MySQL – Database
  • Memcached – Caching
  • RabbitMQ – Messaging Queue
  • Tomcat 10 – Java application server
  • Nginx – Web server + reverse proxy
  • Maven – Build Java WAR file
  • Git & GitHub – Version control

πŸ“Έ Screenshots – Full Deployment Walkthrough

Below are the screenshots demonstrating each major step of the project setup.


πŸ–₯️ 1. All Vagrant Machines (global-status)

Screenshot 2025-11-12 174011

🧰 2. VirtualBox – All Machines Running

Screenshot 2025-11-12 174050

🧩 3. Hostname Automation – vagrant-hostmanager

Screenshot 2025-11-12 174210

πŸš€ 4. Tomcat Deployment (systemd + Java App)

Screenshot 2025-11-12 174427

πŸ—„οΈ 5. MySQL Database Imported Successfully

Screenshot 2025-11-12 174657

πŸ” 6. Application Login Page (via Nginx)

Screenshot 2025-11-12 174949

🏠 7. Application Dashboard

Screenshot 2025-11-12 175004

πŸ“‹ 8. Users List – Dynamic Data from MySQL

Screenshot 2025-11-12 175013

πŸ‡ 9. RabbitMQ Initiated – Connections, Channels, Queues

Screenshot 2025-11-12 175049

πŸ“¦ 10. User Details – Data loaded from DB and inserted into Cache

Screenshot 2025-11-12 175023

⚑ 11. Cached Response – Memcached Working

Screenshot 2025-11-12 175032

🧾 Summary

This project demonstrates:

βœ” Full-stack environment provisioning
βœ” Manual + automated setup
βœ” Understanding of multi-tier architecture
βœ” Hands-on Linux administration
βœ” Real-world integration across 5 services
βœ” Effective use of Infrastructure as Code
βœ” Service validation through actual UI & logs

This was one of the most practical DevOps labs I've completed, and the screenshots above show every part of the environment working together as a functional system.

About

Built a complete multi-tier DevOps environment for the VProfile web app from scratch. Automated setup of MySQL, Memcached, RabbitMQ, Tomcat, and Nginx on five virtual machines using Vagrant and VirtualBox. Achieved full end-to-end deployment and service integration in a local lab environment.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages