Curriculum
- 11 Sections
- 165 Lessons
- 24 Weeks
Expand all sectionsCollapse all sections
- Introduction to DevOps1
- Infrastructure as Code (IaC)18
- 2.0Introduction to Terraform
- 2.1Difference Between Ansible and Terraform
- 2.2Install Terraform
- 2.3Terraform Providers
- 2.4Resources and Data Sources
- 2.5Change and Destroy Resources
- 2.6More Terraform Commands
- 2.7Terraform State
- 2.8Output Values
- 2.9Variables
- 2.10Environment Variables
- 2.11Initialize Git Repository
- 2.12Terraform Best Practices
- 2.13Terraform Provisioners
- 2.14Terraform Modules
- 2.15Terraform Remote State
- 2.16More Resources
- 2.17Terraform Video Recordings
- Version Control with Git19
- 3.0What is Version Control
- 3.1Basic Concepts of Version Control
- 3.2Basic Concepts of Git
- 3.3Set up Git Repository Remote and Local
- 3.4Working with Git
- 3.5Initialize a Git Repository Locally
- 3.6Concepts of Branches
- 3.7Merge Requests
- 3.8Deleting Branches
- 3.9Rebase
- 3.10Resolving Merge Conflicts
- 3.11Git Ignore
- 3.12Git Stash
- 3.13Going Back In History
- 3.14Undoing Commits
- 3.15Git for DevOps
- 3.16Git Best Practices
- 3.17More Resources
- 3.18Recordings – Git
- Continuous Integration and Continuous Delivery (CI/CD)23
- 4.0Introduction to Build Automation
- 4.1Build Automation Tool (Jenkins)
- 4.2What do you need to configure Jenkins
- 4.3Installing Jenkins
- 4.4Introduction to Jenkins UI
- 4.5Installing Build Tools
- 4.6Docker in Jenkins
- 4.7Introduction to Pipeline Jobs
- 4.8Required Fields for Jenkinsfile
- 4.9Pipeline Syntax
- 4.10Pipeline vs Freestyle Jobs
- 4.11Jenkinsfile Syntax
- 4.12Create Complete Pipeline
- 4.13Intro to Multibranch Pipeline
- 4.14Jenkins Job Overview
- 4.15Credentials in Jenkins
- 4.16Credentials Type
- 4.17What is Jenkins Shared Library
- 4.18Jenkins Shared Library
- 4.19Another Use case for Shared Library
- 4.20Webhooks – Trigger Pipeline Jobs Automatically
- 4.21Versioning your application
- 4.23Build Automation Best Practices
- Elastic Container Services (ECS)2
- Containerization with Docker21
- 6.0What is a Container
- 6.1Where do Containers Live
- 6.2How containers improved Application Development
- 6.3Containers Technologies
- 6.4Container vs Image
- 6.5Docker vs. Virtual Machine
- 6.6Docker Architecture & its components
- 6.7Docker Installation
- 6.8Main Docker Commands
- 6.9Container Port vs Host Port
- 6.10Debug Commands
- 6.11Docker Demo – Project Overview
- 6.12Developing with Docker
- 6.13Docker Compose – Run multiple Docker containers
- 6.14Dockerfile – Build your own Docker image
- 6.15Private Docker Repository
- 6.16Deploy docker application on a server
- 6.17Docker Volumes
- 6.18Docker Volumes in docker-compose
- 6.19More Resources…
- 6.20Video Recordings
- Elastic Kubernetes Service - EKS18
- 7.0Elastic Kubernetes Service (EKS)
- 7.1Create EKS Cluster with Node Group – Part 1
- 7.2Steps to create an EKS cluster
- 7.3Create IAM Role for EKS Cluster
- 7.4Create VPC for EKS Worker Nodes
- 7.5EC2 Role for Node Group (Worker Nodes)
- 7.6Useful Links:
- 7.7Create EKS Cluster with Node Group – Part 2 (Autoscaling)
- 7.8Useful Links:
- 7.9Create EKS Cluster with Fargate
- 7.10What is a Fargate Profile?
- 7.11Use Cases – having both Node Group and Fargate
- 7.12Create EKS Cluster with eksctl
- 7.13Useful Links:
- 7.14Complete CI/CD with DockerHub
- 7.15Complete CI/CD with AWS ECR
- 7.16More Resources…
- 7.17Video Recordings
- Python and Ansible19
- 8.0Introduction to Ansible
- 8.1Installing Ansible
- 8.2Setup Managed Servers
- 8.3Ansible Inventory
- 8.4Managing Host Key Checking
- 8.5Introduction to Ansible Playbook
- 8.6Project: Automate Node App Deployment
- 8.7New Modules Used
- 8.8Variables in Ansible
- 8.9Default Inventory Location
- 8.10Project: Ansible & Docker
- 8.11New Modules Used
- 8.12Project: Ansible Integration in Terraform
- 8.13Dynamic Inventory
- 8.14Useful Links:
- 8.15Project: Automate Kubernetes Deployment
- 8.16Project: Ansible Integration in Jenkins
- 8.17Ansible Roles
- 8.18More Resources…
- Monitoring and Logging7
- Python Programming and Automation with Python37
- 10.0Introduction to Python
- 10.1What is Python is used for?
- 10.2Why you need Python as a DevOps Engineer?
- 10.3Using Python to Automate
- 10.4Install Python & Local Setup
- 10.5Our First Program
- 10.6Strings and Numbers
- 10.7Variables
- 10.8Functions
- 10.9Scope
- 10.10User Input
- 10.11Conditional (if/else) & Boolean Data Type
- 10.12Error Handling with try / except
- 10.13While Loops
- 10.14List & For Loops
- 10.15Comments
- 10.16Sets
- 10.17Built-In Functions
- 10.18Dictionary Data Type
- 10.19Modules
- 10.20Project: Countdown App
- 10.21Packages, PyPI and pip
- 10.22Project: Automation with Python (Spreadsheet)
- 10.23Classes & Objects
- 10.24Project: API Request to Gitlab
- 10.25Introduction to Boto3 (AWS SDK for Python)
- 10.26Install Boto3 & Connect to AWS
- 10.27Getting familiar with Boto API
- 10.28Terraform vs. Python
- 10.29Project: EC2 Server Status Checks
- 10.30Project: Scheduling the Status Checks
- 10.31Project: Add Environment Tags to EC2 Servers
- 10.32Project: EKS Cluster Information
- 10.33Project: Data Backup for EC2 Instances
- 10.34Project: Cleanup EC2 Snapshots
- 10.35More Resources…
- 10.36Video Recording – Python
- DevOps Best Practices and Tools Integration0
Introduction to Terraform
Next