Projects developed for the Applied DevOps Engineering Diploma at WeCloudData Toronto - 2023.
Project 1 - AWS Infrastructure Provisioning with Bash Shell Scripting
• Leverage AWS CLI and Bash scripting to automate AWS infrastructure provisioning with Linux EC2 instances installing software libraries Python, Node, Java, and Docker. • Remotely access, configure and manage multiple servers securely with SSH.
Project 2 - API Server and Databases on AWS
• Develop Bash scripting to deploy NodeJS API microservices connected to MongoDB database exposing API endpoints available for HTTP requests.
Projects 3 and 4 - Containerize and Deploy Multi-Tiered Applications
• Employ Docker to containerize API and MongoDB microservices. • Deploy app containers to EC2 instances and orchestrate with Docker Compose.
Project 5 - Deploy Web Apps to AWS EKS
• Deploy a containerized web application onto a cloud production Kubernetes (EKS) cluster. • The cluster was available to be consumed by users on the public internet, and the orchestration of the containers was done using the Kubernetes stack.
Project 6 - AWS EKS Cluster Monitoring
• Deploy a containerized web application onto a cloud-production Kubernetes (EKS) cluster. • Monitor the cluster and the application metrics and logs using Prometheus, Loki, and Grafana.
Project 7 - Infrastructure Provisioning Automation
• Deploy AWS infrastructure using infrastructure provisioning automation tools (Infrastructure as Code). • There are three sets of infrastructure components: - EC2 servers to host a web app architecture with API and Database (using Ansible); - EC2 instance hosting a Jenkins server (using Ansible); - Functional AWS EKS cluster hosting a web app with API and Database (using Terraform).
Project 8 - CI/CD
• Deploy a CICD pipeline using GitHub Actions. The pipeline comprises checkout, test, build, and deploy stages of a web application, which is deployed in a multi-container setup in a cloud production Kubernetes cluster (EKS). • This project comprises three sections: - Terraform code to deploy an EC2 instance and host a Jenkins server (WCD course requirement); - Terraform code to deploy a functional AWS EKS cluster; - Application and database code, Dockerfiles, Docker-compose file, and YAML manifests that will be used by the pipeline. Note: the pipeline code is located in the .github folder.