Introduction to DevOps
- DevOps Roadmap and Career Opportunities
- Secrets to Success as a DevOps Engineer
- What Does a DevOps Engineer do?
Linux For DevOps
- Setting up Linux via AWS EC2
- File System Hierarchy
- Basic Linux Commands
- Advanced Linux Commands
- Shell Scripting with a Project
Source Code Management
- Difference between CVCS and DVCS
- Importance of Git
- Installation of Git
- Git three-stage Architecture
- Detail explanation of Repository, Commit, Tags, Snapshots, Push-Pull Mechanism, and Branching Strategy
- Working with Git stash and Git pop
- Resolve Merge conflicts in Git
- Git Revert and Reset (Reset vs Revert)
- Git rebase
- Working with git Squash
- Git cherrypick
- What is Git fork?
Package Management
- What is Virtualization before deep dive into the Containerization
- O.S level virtualization
- Docker vs Virtual Machine
- What is Docker and its History
- Docker Architecture
- Advantages and limitations of Docker
- Components of Docker (Docker Daemon, Docker Client, Docker Host)
- Docker Image
- Docker lifecycle and PS
- Start and delete a container
- Exploring exec command
- Custom Docker image
- Docker file creation using Dockerfile
- Working with Docker volume
- Mapping volumes (Container to Container, Host to container)
- Creating volume from Dockerfile
- Docker port Mapping
- Docker port exposes
- Difference between Docker attach and Docker exec
- Docker Hub and push our image to the Docker Hub
- Docker Compose and Docker Swarm
CI/CD
- What is CI/CD pipeline
- Jenkins History
- Getting started with Jenkins
- Jenkins installation on Cloud
- Workflow of Jenkins
- Jenkins UI
- User Management in Jenkins
- Jenkins-Linked Projects
- Source-code polling
Container Orchestration
- What are Monolithic and Microservices Architecture
- What is Kubernetes
- Introduction to Kubernetes
- Features of Kubernetes
- Kubernetes History
- Kubernetes architecture in depth
- Node & Pod
- Fundamentals of Pods and their Lifecycle
- Installing Kubernetes on AWS
- Command with example (kubectl)
- Role of Master Node
- Components of Control Plane and explanation
- Installing kubectl and minikube
- Creation and deletion of a pod
- Kubernetes YAML Configuration
- Higher-level Kubernetes Objects
- K8s Object management
- Labels and Selectors in K8s
- Replication, Auto healing and working with deployment in K8s
- ConfigMap and Secret in k8s
- Deploying Microservices app to K8s cluster
- Kubernetes Networking, Services and Nodeport
- Volumes in Kubernetes
- Persistent Volume & LivenessProbe in K8s
- Namespaces in K8s
Cloud Engineering
- AWS Global Infrastructure
- Detail overview of Elastic Compute Cloud (EC2)
- Your first EC2 instance
- In-depth guide for EC2 instance
- In-depth guide for EC2 options
- Connecting to a cloud instance
- Handling and management of Security Groups
- S3
- Auto Scaling/ Load balancing
- Cloud Formation and Cloud Watch
- SNS and SQS
- RDS and IAM
- ECS and ECR by Project
- Cloudwatch and Billing Alarms
Infrastructure As Code
- Understanding the concept of (IaC)
- Getting started with Terraform
- Terraform Basics
- Variables, Resources, Attributes and Dependencies
- Terraform State
- Terraform for-each and module
- Terraform Project
Monitoring
- Grafana and Graphite
- connecting to docker and EC2 for Logs and monitoring
- Prometheus setup
- Prometheus and Kubernetes Alerting
Job Assistance
- Linkedin & Resume Building/ Review
- Mock Interviews
- DevOps Engineers Share their Interview Experiences
- DevOps Interview Questions
Projects
- Scrutiny of any Linux Server by Shell Script
- CICD Pipeline using Jenkins, AWS, Docker, Kubernetes
- CICD with AWS CodePipeline
- Web App Deployments through Ansible and Terraform
- Serverless Deployment for a 3-tier application (Production Level)
- Continuous Delivery via K8S cluster in Prod using AWS EKS