Skip to content

Real world project from project based learning platform - darey.io

Notifications You must be signed in to change notification settings

Hack-Light/devops-projects

Repository files navigation

DEVOPS PROJECTS

PROJECT BASED DEVOPS TRAINING FROM DAREY.IO

PROJECT 1 - LAMP STACK IMPLEMENTATION

Deployed a simple website using the technology stack - Linux, Apache, MySQL and PHP


PROJECT 2 - LEMP STACK IMPLEMENTATION

Deployed a simple website using the technology stack - Linux, NGINX, MySQL and PHP


PROJECT 3 - SIMPLE TO-DO APPLICATION ON MERN WEB STACK

Deployed a todo aplication that was built on the following stack - MongoDB, Express, React, Node.


PROJECT 4 - MEAN STACK DEPLOYMENT TO UBUNTU IN AWS

Deployed a simple aplication that was built on the following stack - MongoDB, Express, Angular, Node.


PROJECT 5 - CLIENT/SERVER ARCHITECTURE USING A MYSQL RELATIONAL DATABASE MANAGEMENT SYSTEM

Worked with 2 servers to simulate MySLQ server and MySQL client and how to connect the 2.

Interesting fact: MySQL is an open-source relational database management system. Its name is a combination of My, the name of co-founder Michael Widenius’s daughter, and SQL, the abbreviation for Structured Query Language.


PROJECT 6 - WEB SOLUTION WITH WORDPRESS

In this project I prepared a storage infrastructure on two Linux servers and implemented a basic web solution using WordPress. WordPress is a free and open-source content management system written in PHP and paired with MySQL or MariaDB as its backend Relational Database Management System (RDBMS).

This project consists of two parts:

  1. Configure storage subsystem for Web and Database servers based on Linux OS. The focus of this part is to give you practical experience of working with disks, partitions and volumes in Linux.

  2. Install WordPress and connect it to a remote MySQL database server. This part of the project will solidify your skills of deploying Web and DB tiers of Web solution.


PROJECT 7 - DEVOPS TOOLING WEBSITE SOLUTION

In this project you will implement a solution that consists of the following components:

  • Infrastructure: AWS

  • Webserver Linux: Red Hat Enterprise Linux 8

  • Database Server: Ubuntu 20.04 + MySQL

  • Storage Server: Red Hat Enterprise Linux 8 + NFS Server (LVM)

  • Programming Language: PHP

  • Code Repository: GitHub


PROJECT 8 - LOAD BALANCER SOLUTION WITH APACHE

Deployed and configured an Apache Load Balancer for Tooling Website solution on a separate Ubuntu EC2 intance. Made sure that users can be served by Web servers through the Load Balancer.


PROJECT 9 - CONTINOUS INTEGRATION PIPELINE FOR TOOLING WEBSITE

In this project I utilized Jenkins CI capabilities to make sure that every change made to the source code in GitHub https://github.com/Hack-Light/tooling will be automatically be updated to the Tooling Website.


PROJECT 10 - LOAD BALANCER SOLUTION WITH NGINX AND SSL/TLS

In this project I registered a website with LetsEnrcypt Certificate Authority, and automated certificate issuance using a shell client recommended by LetsEncrypt – cetrbot.

This project consists of two parts:

  1. Configure Nginx as a Load Balancer
  2. Register a new domain name and configure secured connection using SSL/TLS certificates

PROJECT 11 - ANSIBLE (AUTOMATE PROJECT 7 TO 10)

This Project made me appreciate DevOps tools even more by making most of the routine tasks automated with Ansible Configuration Management, at the same time I become confident at writing code using declarative language such as YAML.

Task

  • Installed and configured Ansible client to act as a Jump Server/Bastion Host
  • Created a simple Ansible playbook to automate servers configuration

PROJECT 12 - ANSIBLE REFACTORING AND STATIC ASSIGNMENTS (IMPORTS AND ROLES)

In this project, I continued working with https://github.com/Hack-Lightansible-config-mgt repository and made some improvements on the code. I refactored the Ansible code, created assignments, and learned how to use the imports functionality. Imports allow to effectively re-use previously created playbooks in a new playbook – it allows you to organize your tasks and reuse them when needed.


PROJECT 13 - ANSIBLE DYNAMIC ASSIGNMENTS (INCLUDE) AND COMMUNITY ROLES

I continued configuring my UAT servers, learning and practicing new Ansible concepts and modules.


PROJECT 14 - EXPERIENCE CONTINUOUS INTEGRATION WITH JENKINS | ANSIBLE | ARTIFACTORY | SONARQUBE | PHP

In this project, I understood and got hands on experience around the entire concept around CI/CD from applications perspective.

To fully gain real expertise around this idea, it is best to see it in action across different programming languages and from the platform perspective too.

From the application perspective, we will be focusing on PHP here.