Course Outline
Description:
This program is distinctly project-based, emphasizing hands-on learning over theoretical concepts. . By actively engaging with real-world projects, you gain a profound understanding of how DevOps principles are applied in diverse scenarios.
We encourage you to bring your existing projects into the DevOps fold. Witness the transformation as we guide you through deploying your creations using industry-leading DevOps best practices.
Optional (for complete beginners):
Introduction to Computers
- Understanding computer hardware and software
- Operating systems overview
Version Control Systems
- Introduction to Git and GitHub
- Collaborative coding using version control
Introduction to Programming
- Basics of programming languages
- Common programming concepts
- Introduction to Linux
- Linux basics and command-line interface
- File system navigation and manipulation
- Introduction to DevOps
- What is DevOps?
- Difference of DevOps, Systems Administrator, Site Reliability Engineer and Cloud Engineer
- Understanding the DevOps mindset
- Benefits of DevOps in software development
- Continuous Integration and Continuous Deployment
- Overview of CI/CD concepts
- Different CI/CD tools
- Setting up automated build and deployment pipelines
- Lab/Project: Deploy an application using Github Actions
- Cloud Computing and Services
- Introduction to cloud computing platforms (AWS, GCP or Azure)
- Lab/Project: Deploying applications on cloud infrastructure (AWS)
- Infrastructure as Code (IaC)
- Introduction to IaC and its benefits
- Terraform basics
- Lab/Project: Deploy a Wordpress environment using Terraform
- Linux and Shell Scripting
- Lab/Project: Create a Basic Linux shell script
- Automation and task scheduling using cron
- Configuration Management
- Introduction to configuration management tools like Ansible
- Managing infrastructure and application configuration
- Lab/Project: Configure an nginx reverse proxy using Ansible
- Containerization
- Introduction to Docker containers
- Containerizing any application
- Lab/Project: Deploy a full-stack application using docker-compose
- Monitoring, Alerting, and Logging
- Introduction to monitoring and logging tools
- Monitoring application and infrastructure performance
- Creating alerts and integrating it on Discord Bots or Slack.
- Lab/Project: Deploy and configure Prometheus and Grafana to any infrastructure
- Continuous Testing and Quality Assurance
- Automated testing frameworks and tools
- Ensuring code quality in the CI/CD pipeline
- Advanced DevOps Practices
- Advanced topics like blue-green deployments and canary releases
- Optimizing CI/CD pipelines for performance and efficiency
Bonus:
- How do I use AI on my DevOps work.
- How do I deploy my projects using free tier cloud services.