| Linux Fundamentals |
- Linux file system and permissions
- Basic Linux commands and shell scripting
- Process and package management
- System services and logs
- SSH and file transfers (scp, rsync)
|
| Networking Concepts |
- IP addressing, subnetting, and DNS
- TCP/IP model and ports
- Firewalls and security groups
- Load balancing and proxies
- Troubleshooting tools (ping, traceroute, netstat, curl)
|
| Git & GitHub |
- Introduction to Git and GitHub
- Installing and configuring Git
- Working with repositories (clone, commit, push, pull)
- Branching and Merging
- Resolving merge conflicts
|
| Programming Basics (PHP/Shell/Python) |
- Introduction to PHP (syntax, functions, loops)
- Writing small deployment and automation scripts
- Basics of Shell and Python scripting (optional)
|
| GitHub Copilot |
- Overview of AI-based code assistance
- Using Copilot in VS Code
- Enhancing productivity with Copilot
- Ethics and limitations
|
| Cloud Basics (AWS/GCP/Azure) |
- Cloud computing introduction
- Key services: EC2, S3, IAM, etc.
- Basic CLI usage and automation
- Deploying and managing cloud apps
|
| CI/CD Concepts and Pipeline Design |
- Introduction to Continuous Integration and Delivery
- CI/CD lifecycle and benefits
- Pipeline stages and automation flow
|
| Jenkins |
- Installing and configuring Jenkins
- Creating and managing Jenkins jobs
- Pipeline as Code (Scripted and Declarative)
- Integrating with Git and GitHub
- Automating build and test
|
| SonarQube |
- Introduction to static code analysis
- Setting up SonarQube
- Analyzing code quality
- Fixing code smells and vulnerabilities
|
| Veracode |
- Introduction to Veracode and security scanning
- Static and dynamic analysis (SAST/DAST)
- Integrating Veracode with CI/CD
- Interpreting and fixing security issues
|
| Docker |
- What is containerization?
- Installing and using Docker
- Creating Dockerfiles and images
- Docker Compose for multi-container apps
|
| Kubernetes |
- Kubernetes architecture and components
- Deployments, Pods, and Services
- Using kubectl and Helm
- Managing applications at scale
|
| Networking Services (Nginx) |
- Introduction to Nginx and its architecture
- Setting up Nginx as a web server
- Reverse proxy configuration
- Load balancing with Nginx
- Securing Nginx (SSL, headers)
|
| Ansible |
- Introduction to Ansible
- Playbooks and YAML syntax
- Modules, roles, and variables
- Inventory and idempotency
|
| Terraform |
- Infrastructure as Code concepts
- Writing and organizing Terraform code
- Provisioning on AWS or Azure
- Managing Terraform state and outputs
|
| Monitoring with Prometheus & Grafana |
- System and application monitoring basics
- Setting up Prometheus for metrics
- Visualizing with Grafana dashboards
- Creating alerts
|