This repository contains projects completed as part of the ALX System Engineering & DevOps curriculum. The curriculum provides comprehensive training in shell scripting, system administration, networking, web infrastructure design, and DevOps methodologies. The projects progress from basic shell concepts to complex infrastructure design and automation, preparing students for roles in system administration, site reliability engineering, and DevOps.
The curriculum follows a progressive learning path:
- Shell Basics & Scripting: Fundamentals of shell navigation, file manipulation, permissions, redirections, variables, and scripting with control structures
- System Administration: Process management, signals, SSH, web servers, configuration management, and debugging
- Networking: Fundamentals of networking, OSI model, TCP/IP, DNS, and network protocols
- Web Infrastructure: Design and optimization of web stacks, load balancing, SSL/TLS, firewalls, and monitoring
- DevOps Practices: Configuration management, automation, monitoring, and continuous integration/deployment concepts
| Project | Description |
|---|---|
| 0x00-shell_basics | Navigate directories, manipulate files, understand paths and file types |
| 0x01-shell_permissions | Manage file permissions, ownership, and access control in Linux |
| 0x02-shell_redirections | I/O redirections, filters, and text processing commands |
| 0x03-shell_variables_expansions | Shell variables, aliases, initialization files, and expansions |
| Project | Description |
|---|---|
| 0x04-loops_conditions_and_parsing | Advanced shell scripting with loops, conditionals, and file parsing |
| 0x05-processes_and_signals | Process creation, management, and signal handling in Linux |
| 0x06-regular_expressions | Text pattern matching and processing with regular expressions |
| Project | Description |
|---|---|
| 0x07-networking_basics | OSI model, network types, IP addressing, and protocols (TCP/UDP) |
| 0x08-networking_basics_2 | Localhost, IP configurations, and network administration tools |
| Project | Description |
|---|---|
| 0x09-web_infrastructure_design | Design and diagram scalable, secure, and monitored web infrastructures |
| 0x0C-web_server | Installation, configuration, and automation of Nginx web server |
| 0x0F-load_balancer | Implementation of load balancing for high availability |
| 0x10-https_ssl | Configure HTTPS/SSL for secure web communications |
| 0x1A-application_server | Deploy and configure application servers for dynamic content |
| Project | Description |
|---|---|
| 0x0B-ssh | Secure remote server access with SSH key-based authentication |
| 0x13-firewall | Configure firewall protection for servers |
| 0x14-mysql | Database server installation, replication, and backup |
| 0x15-api | Interact with REST APIs and process JSON data |
| 0x16-api_advanced | Advanced API usage including pagination and recursion |
| Project | Description |
|---|---|
| 0x0A-configuration_management | Infrastructure as code using Puppet automation |
| 0x18-webstack_monitoring | Implement comprehensive monitoring solutions with Datadog |
| Project | Description |
|---|---|
| 0x0D-web_stack_debugging_0 | Introductory web stack debugging techniques |
| 0x0E-web_stack_debugging_1 | Intermediate debugging of web server issues |
| 0x12-web_stack_debugging_2 | Advanced debugging with user privileges |
| 0x17-web_stack_debugging_3 | Advanced debugging with application-level issues |
| 0x1B-web_stack_debugging_4 | Performance optimization and scaling |
| Project | Description |
|---|---|
| attack_is_the_best_defense | Network security, packet analysis, and attack simulations |
- Shell Scripting: Proficiency in bash scripting for automation and system management
- System Administration: User management, permissions, process control, and service configuration
- Networking: TCP/IP protocols, DNS configuration, and network troubleshooting
- Web Infrastructure: Design, deployment, and scaling of robust web stacks
- Security: SSH, firewalls, HTTPS/SSL, and secure application deployment
- Monitoring: Server and application performance tracking and alerting
- Automation: Infrastructure as code, configuration management, and deployment automation
- Debugging: Systematic troubleshooting of complex system issues
- Documentation: Creating clear technical documentation for systems and processes
- Problem-Solving: Analytical approach to complex technical challenges
- Attention to Detail: Precision in system configuration and security implementation
- Research: Effectively finding solutions to technical problems
- Self-Direction: Managing and completing complex technical projects independently
For each project directory, you'll find:
- Detailed README.md with project requirements and learning objectives
- Script files demonstrating solutions to specific tasks
- Supporting documentation and resources
ALX System Engineering & DevOps Track
This project is part of the ALX Software Engineering curriculum.