Module 1: Foundation & Essentials
Linux
Introduction to Linux
Installing and Updating Linux Operating Systems
Linux Basics and the Command Line Interface
Introduction to DevOps Principles and Practices
DevOps Tools and Technologies
DevOps Culture and Collaboration
Introduction to Internal Developer Platforms (IDPs)
Tools (Backstage, Crossplane)
Golden Paths and Self-Service Infrastructure
Agile Methodologies and Continuous Delivery
Linux Essential Commands
File System and Directory Management
Managing Packages and Repositories
Linux Permissions, Users, and Group
Linux intermediate Command
Bash Scripting
CronJobs
Managing File Systems and Storage
Compressing & Backup
Configuring Network Interfaces and Service
System Monitoring "Observability"
Introduction to Observability (Logs, Metrics, Traces)
Monitoring Tools (Prometheus, Grafana)
Logging Tools (ELK Stack, Loki)
Distributed Tracing (Jaeger, OpenTelemetry)
Alerting and SLOs
Process Management
Resource Allocation
Log Files
Troubleshooting Techniques
Backup and Recovery Strategies
Advanced SSH
SSH Tunneling & Secure Copy
Webservers
Introduction To Web Servers
Introduction To Apache & Tomcat
Introduction To Nginx
Apache Web Server
Nginx Web Server
Git & GitHub
Introduction to Version Control
Version Control Systems
Introduction to Git & Github
Installing and Configuring Git
Git Commands
Advanced Git commands
Gitflow & Branching Strategies
Merging & Rebasing Best Practices
Conflicts & Tracking History
Managing Secrets
Overall Flow
Python
Introduction to Programming Languages
Variables
Data structures
Control flow
Functions
Object-oriented programming (OOP)
Scripting
Database
Introduction to Databases
Types and Use Cases of Different Databases
Introduction to MySQL
ERD
MySQL Deep Dive
MySQL Basic & Advanced Queries
NoSQL Databases
Introduction to MongoDB
Install MongoDB Client
MongoDB Deep Dive
Network
OSI Model
TCP/IP
TCP vs UDP
Ports and Protocols
IP Subnetting, CIDR
Routing
Domain Name System (DNS)
DNS record types
HTTP Methods
Network Troubleshooting Tools
Module 2: Containerization & Orchestration
Containerization
Introduction to Microservices
Introduction to Docker and Containerization
Virtualization VS Containerizations
Docker Architecture
Installing Docker
Creating and Managing Docker Images
Docker Registries
Docker Commands Deep Dive
Dockerfiles
Running Containers
Docker Volumes
Docker Networks
Docker Compose
Multi-Container Applications
Orchestration with Kubernetes
Introduction to Kubernetes and Container Orchestration
Kubernetes Architecture
Kubernetes Objects
Pods, ReplicaSets, and Deployments
Scheduling
Introduction to K8S Networking
Services, Labels, and Selectors
Service Accounts
ClusterRoles
Ingress Controllers
Network Policies
ConfigMaps, Secrets, and Volumes
StatefulSets and DaemonSets
Kubernetes Package Management
Introduction to Helm
Helm Charts and Repositories
Kustomize for Declarative Configuration
Helm vs Kustomize Comparison
Module 3: Cloud Platforms & Services
clouding and AWS
Introduction Cloud Computing
Benefits of Cloud Computing
Introduction to Cloud Providers
Multi-Cloud Fundamentals
Comparing AWS, GCP, and Azure
Multi-Cloud Tools (Terraform, Crossplane)
Avoiding Vendor Lock-in Strategies
Introduction to AWS
Creating an Account & Getting Started
AWS Billing
Cost Management
Managing IAM Users, Groups and Roles
Getting Started with Elastic Compute Cloud
EC2 Deep Dive
EC2 Storage
AWS Networking
Networking Services & Security
AWS VPN
Load Balancing & Auto Scaling
AWS Other Services
AWS Storage Services
AWS S3
AWS RDS
Lambda functions
Serverless Services
CloudWatch
AWS EKS
ECS & ECR
AWS Architecting
AWS Cost Management
AWS Best Practices & Security Compliance
AWS CLI
AWS Programmatic Operations
AWS Local stack
Module 4: Continuous Integration & Continuous Delivery
CI/CD
Introduction to Jenkins and Continuous Integration
Introduction to CI/CD Pipelines
Installing and Configuring Jenkins
Getting Started with Jobs & Pipelines
Jenkins Deep Dive
RBAC
Plugins
Creating Jenkinsfiles
Creating Different Types of Pipelines
Managing Credentials
Integration with other Tools
Jenkins Shared Libraries
Build Triggers and Webhooks
Jenkins Notifications
Build Approvals
CronJobs
Creating Local Worker Agents
Configuring Cloud Worker Agents
Managing Workspaces
Best Practices
Modern CI/CD Alternatives
GitHub Actions (YAML Pipelines)
GitLab CI/CD
Tekton for Kubernetes-Native Pipelines
Comparison: Jenkins vs GitLab vs GitHub Actions
GitOps
Introduction to GitOps
GitOps Principles (Declarative, Versioned, Automated)
GitOps Tools (ArgoCD, Flux)
Deploying Applications with ArgoCD
GitOps vs Traditional CI/CD
GitOps Best Practices
Module 5: Infrastructure as Code (IaC)
Infrastructure as Code
Introduction to Terraform and Infrastructure as Code
Terraform Providers
Terraform Commands
Creating and Managing Terraform Resources
Using Variables and Providers
Terrafrom Modules
Terraform State and Workspaces
Pulumi
Introduction to Pulumi (Infrastructure as Code in Python/Go/TypeScript)
Pulumi vs Terraform
Deploying Kubernetes Resources with Pulumi
Terrafrom Full Infrastructure
Ansible
Introduction to Ansible and Configuration Management
Ansible Use Cases
Install and Get Started With Ansible
Writing and Running Ansible Playbooks
Ansible Commmands
Configure Multiple Machines Using Ansible
Bastion Hosts and SSH Tunnels With Ansible
Install Packages, Update files, K8s Plugin & Manage
Managing Inventory and Variables
Working with Modules and Plugins
Advanced Ansible Features and Roles
Module 6: Final Project & Real-World Implementation
Bring everything together in a complete deployment.
Build & deploy a project that integrates:
Source control
CI/CD
Docker & Kubernetes
IaC
AWS
Observability
GitOps
Duration: 150 Hours
Villa No. 48, 2nd Floor, Flat 6, 105th Street, El Horreya Sq., Beside El Raya Market, Maadi - Cairo, Egypt 11728
Mobile+20 1112 50 5953
Whatsapp+20 101 774 3315
Email info@itsharks.co