DEVOPS BOOTCAMP BATCH-3

PROJECT - OBJECT DETECTION MODEL



We have a Object Detection Application that follows a microservice architecture, consisting of four separate containers that communicate using either DOCKER COMPOSE or KUBERNETES.

APPLICATION COMPONENTS

Following are the different components of our application:

FRONTEND

The frontend/UI of our application, allowing us to enter images as input and receive the output.

POLYBOT

Used to connect & perform I/O operations from the Telegram application.

YOLO5

Object Detection Model, the main component of our application that performs all the computation and calculations, providing us with the output.

MONGODB

Database to store all the input images along with the output from the YOLO5 Object Detection Model.

SECRET COMPONENT

???

That would be the complete arhictecture for the application that would be automated using a CI/CD (Continous Integration & Continous Delivery) pipeline that would be created using - JENKINS.

JENKINS PIPELINE WORKFLOW

Following steps would be followed in order to create a CI/CD pipeline using Jenkins:

  1. Get code from Github repository
  2. Build & Tag Docker images for microservices
  3. Login to ECR (Elastic Container Registry)
  4. Push images to ECR
  5. Write unit tests (Optional, but we'll do it anyways :) )
  6. Create Infrastructure in AWS, if needed (for 'dev' branch)
  7. Deploy the application on either EC2(Elastic Compute Cloud) or EKS(Elastic Kubernetes Service). In order to deploy on EKS we'll be using HELM, package manager for K8S applications.

EASY!