Devops 60 hrs
- DevOps bridges the gap between development and operations, fostering a culture of collaboration and continuous improvement.
- With automation at its core, DevOps accelerates software delivery while ensuring stability, scalability, and security.
- Adopting DevOps practices empowers teams to innovate faster, respond to change efficiently, and deliver greater value to customers.
📚 Table of Contents
🟢 Getting Started
📘 Linux Administration
🔹 Introduction to Linux
- History and Evolution
- Linux Distributions Overview
- System Architecture Basics
🔹 User and Group Management
- Creating and Managing Users
- Group Administration
- Switching Users and
sudo Access
🔹 File System and Directory Structure
- Linux Directory Hierarchy Explained
- Mounting and Unmounting File Systems
- Disk Partitioning and LVM Basics
🔹 File and Directory Permissions
- Understanding
rwx Permissions chmod, chown, and chgrp- Access Control Lists (ACLs)
- Special Permissions: SUID, SGID, Sticky Bit
🔹 Package Management
apt, yum, dnf, zypper- Installing, Updating, and Removing Software
- Managing Repositories
- Compiling from Source
🔹 Process and Service Management
- Understanding System Processes
- Commands:
ps, top, htop, kill, nice - Managing Services with
systemctl - Startup and Boot Targets
- CPU, Memory, Disk, Network Monitoring
- Identifying Bottlenecks
- Log Analysis and Rotation
🔹 Networking Essentials
- Network Configuration: Static & DHCP
- Tools:
ip, netstat, ss, ping, traceroute, nmap - Firewalls:
iptables, firewalld, ufw - SSH Configuration and Security
🔹 Storage Management
- Mounting Disks and File Systems
- Logical Volume Management (LVM)
- Filesystem Types:
ext4, xfs, btrfs, etc.
🔹 Backup and Recovery
- Tools:
rsync, tar, dd - Scheduled Backups using
cron - Snapshot and Restore
- Disaster Recovery Strategy
🔹 Security and Hardening
- User Privileges and Auditing
- SSH Key Authentication
- SELinux/AppArmor Basics
- Patch Management and Vulnerability Scanning
🔹 Automation and Scripting
- Shell Scripting Basics
- Scheduling Tasks with
cron - Automation of Admin Tasks
🔹 Logging and Troubleshooting
- Using
journalctl and log files - Boot, Network, and Service Troubleshooting
- Rescue Mode and Recovery
🔹 Virtualization and Containers
- KVM and VirtualBox Basics
- Introduction to Docker and Podman
- Linux Namespaces and Cgroups
🔐 SSL/TLS with OpenSSL
🔹 SSL/TLS Fundamentals
- What is SSL/TLS
- Key Concepts: PKI, Certificates, CSRs
- TLS Handshake Overview
🔹 Certificate Generation
- Creating Private Keys
- Generating CSRs
- Adding SANs with
openssl.cnf - Creating Self-Signed Certs
🔹 Key and Cert Management
- Formats: PEM, DER, CRT, CER, KEY
- Extract Public Keys
- Convert Between Formats
🔹 Certificate Validation
- Match Cert and Key
- View Certificate and CSR Details
- Check Validity Periods
🔹 Advanced CSR Fields
- Using Config Files
- Key Usage and Extended Usage
- SAN and Custom Extensions
🔹 Certificate Deployment
- For Nginx, Apache, HAProxy
- Intermediate Chains
- Secure File Permissions
🔹 Testing SSL
openssl s_client- Cipher Suite Validation
- SSL Labs Testing
🔹 Renewal and Automation
- Manual vs Automated Renewal
certbot, acme.sh Usage- Renewal Hooks
🔹 Troubleshooting and Best Practices
- Common Errors (Mismatches, Expired Certs)
- Storage Best Practices
- TLS Hardening
🔹 Local Development
- Using Local CAs
- Tools:
mkcert - Browser Trust Configurations
⚙️ Ansible for RHEL 8/9
🔹 Introduction to Ansible
- Overview and Architecture
- Agentless Automation Benefits
🔹 Setup and Configuration
- Installing via DNF
- Configuring
ansible.cfg - Setting up Inventory
🔹 Inventory Management
- Static and Dynamic Inventories
- SSH Key Authentication
- Grouping Hosts
🔹 Package Management
- Modules:
dnf, yum, rpm - Enabling EPEL and Custom Repos
- Managing RPMs
🔹 Service Management
service and systemd Modules- Enabling/Disabling Services
- Restarting and Reloading
🔹 User and Group Tasks
- Create/Remove Users
- Managing SSH Keys
- ACL and Permissions
- Intro to OpenTofu
- Open-source Terraform alternative
- Community-driven governance
- Why Switch
- Licensing, transparency, neutrality
- Installation
- OpenTofu CLI
- Migration from Terraform
- Code Compatibility
- Using existing Terraform HCL
- Providers
- State Management
- Compatible backends
- State locking and drift detection
- Modules
- Reusable and shareable configs
- CLI Commands
tofu plan, tofu apply, etc.
- CI/CD
- Integration in pipelines
- GitLab, GitHub Actions
- Best Practices
- Naming, modularity, Git workflows