Skip to content

bhavyansh001/DevOps_Projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Apps used in this repository:

  1. Geeky [Full-stack Dynamic Mathematical game]
  2. Tattle [Full-stack Real-time Chat app]
  3. EventApp [Full-stack Event Management app]
  4. Contained Rails [Multi container Dockerized (docker-compose) application]
  5. Articles API [REST API Backend]

Tools used in this repository:

Linux, Docker, Bash shell, AWS, Ansible, Terraform, Jenkins, GitOps, Prometheus, Grafana, Kubernetes and others

Project1:

  • This project uses AWS CLI to perform EC2 instance related tasks and a bash script to minimize the time it takes for developers to deploy rails code.
  • Script is based on Deploy guide by Gorails

Link to blog for walkthrough with screenshots: Project1

Project2:

  • The second project is deploying a Docker image on Amazon ECS cluster.
  • Docker Image pushed to Docker Hub
  • The rails application lives here (uses branch main for ECS deployment)
  • [Containerd_Rails uses Docker Compose when as a multi-container application]

Link to my blog for walkthrough, covering ECR, ECS and the steps to follow: Project2

Project3:

  • Rails application deployed based on Microservices architecture. Used different instance for running postgres database and redis cache service.
  • Learnt about configuration files and setting up secure remote connections.
  • Deployed application: Geeky
  • [Edit after Project 4] We can also use Ansible for microservice deployment, automating a large part of this setup

Link to blog for walkthrough with screenshots: Project3

Project4:

  • Ansible to deploy Rails application

  • Deployed application: Tattle

  • Contains a shell script to be run to set env vars for application deployment, then the main playbook can be run.

  • Link to blog for walkthrough with screenshots: Project4

Project5:

  • Terraform & Ansible: Complete Microservice Infrastructure Automation
  • Deployed application: Tattle
  • Any rails developer can make use of this project to deploy their application very quickly, setting up the infrastructure and configuring the instances.

Link to blog for walkthrough with screenshots: Project5

Project6:

  • Jenkins for CICD: Automating the workflow Deployed application: EventApp (branch: jenkins) Continuous Integration and Deployment achieved using Jenkins, the Jenkinsfile responds to GitHub webhooks and does the following:
  • Prepares environment by installing dependencies
  • Clones repository
  • Builds Docker image
  • Runs RSpec tests
  • Pushes the image to the registry (docker hub)
  • Sends notification about build status on slack

Requires Global properties -> Environment variables to be set.

Link to the latest auto pushed docker image: EventApp on Docker Hub

Link to blog for walkthrough with screenshots: Project6

Project7:

  • GitOps Project: Deploying to Docker hub when code is pushed to main
  • Deployed application: Contained Rails
  • DockerHub image: App

Link to blog for walkthrough with screenshots: Project7

Project8:

  • Prometheus and Grafana for monitoring the application
  • Deployed and monitored application: Geeky

Link to blog for walkthrough with screenshots: Project8

Project9:

  • App Deployment on Kubernetes Cluster, this project is deployed using kOps on AWS EC2, it ensures data persistence using EBS service by AWS. Services used in this project: EC2, S3, EBS, Route53, IAM, and more.
  • One control plane and two worker nodes
  • Different manifests for rails and postgres services
  • EventApp on GitHub
  • EventApp on Docker Hub

Link to blog for walkthrough with screenshots: Project9

About

This repository contains all my DevOps projects

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published