Introduction

Overview of the Project

Our project is a web application imitating Eventbrite consisting of a frontend built with React and a backend developed using Django. The application is deployed on an AWS EC2 instance, and we have full control over the networking configuration. The main goal of the project is to create a robust and scalable web application that incorporates modern DevOps practices for efficient development, deployment, and monitoring.

Goals and Objectives

  • Deploy the frontend and backend components manually without Jenkins for initial setup.

  • Configure Nginx to serve the frontend and backend, ensuring proper routing and load balancing.

  • Implement SSL certificate for secure communication between the application and users.

  • Set up a CI/CD pipeline using Jenkins to automate the build, test, and deployment processes for the frontend and backend.

  • Integrate Prometheus for monitoring and collect metrics from various sources, including Node Exporter for system-level metrics and Jenkins for build and deployment metrics.

  • Visualize the collected metrics using Grafana and create custom dashboards for better insights into the application's behavior.

  • Explore containerization using Docker to encapsulate the application components into portable and reproducible containers.

  • Utilize various AWS services such as CloudWatch for monitoring, IAM for access control, and VPC for networking configurations.

  • Document the architecture, deployment processes, CI/CD pipeline setup, monitoring and observability practices, and experiments conducted during the project.

By accomplishing these goals, we aim to showcase our expertise in implementing DevOps practices, leveraging AWS services, and building a scalable web application. This documentation will serve as a comprehensive guide to understanding our project and the technologies and tools involved.

Last updated