Skip to content

Latest commit

 

History

History
36 lines (19 loc) · 2.04 KB

README.md

File metadata and controls

36 lines (19 loc) · 2.04 KB

Project Introduction:

devops-capstone-ezgif com-webp-to-png-converter

Welcome to the DevOps Capstone Project guide! In this comprehensive project, we will walk through the process of setting up a QR code application on AWS. The app has three components: Front-end, API and Storage. All 3 components would be hosted in containers utilizing the cloud provider of your choice(I'll use AWS). Our goal is to apply DevOps practices like containerization, CI/CD, IAC, observability, monitoring, and logging for the application.

Application Details

  • Front-End Container: Hosts the website where users can input URLs.

  • API Container: Handles the QR code generation for given URLs.

  • Storage Container: Stores the generated QR codes.

Project Overview:

In this project, we will achieve the following-

  1. Containerization: Containerize both the front-end and API by creating a Dockerfile.

  2. CI/CD: Write CI/CD pipeline to automate deployment of the containers, once your source code is changed.

  3. Infrastructure as Code (IaC): Use OpenTofu to define and deploy the cloud Infrastructure(Kubernetes cluster).

  4. Kubernetes YAML Files: Create deployment and service YAML files for both the Next.js front-end and the FastAPI backend.

  5. Install Nginx Ingress Controller: We will install the Nginx Ingress Controller, which in turn will create an AWS Application Load Balancer (ALB) for the EKS cluster.

  6. DNS Mapping of Load Balancer: We will get the URL of the Load Balancer and map it to our domain name in Cloudflare.

  7. Install Cert-Manager: To provide an automated way of ensuring TLS certificates for our site, we will install Cert-Manager.

  8. Helm Chart for application: Create a Helm chart for the application to facilitate easy deployment through the Helm command.

  9. Monitoring & Logging Setup: Implement monitoring and logging for the EKS cluster using Helm, Prometheus, Loki, and Grafana.

  10. ArgoCD Installation: Install and set up ArgoCD for continuous delivery and GitOps.