DevOps, explained simply.
61 practical guides and hands-on tasks covering Linux, Terraform, Docker, Ansible and Nagios.
Linux Fundamentals
Master Linux operating system essentials, kernel, shell, architecture, and distributions.
3 lessons · All Levels- 01Linux FundamentalsUnderstanding Linux from the Beginning: kernel, shell, distributions, architecture, and open source.Beginner · 10 min
- 02Linux Scenario Commands23 real-world scenarios: navigation, file ops, troubleshooting, processes, networking, permissions, and log analysis.All Levels · 25 min
- 03Linux Permissions, umask & grepPractical notes: numeric permissions (0755), special bits (SUID, SGID, sticky), umask calculation, and grep options.Intermediate · 15 min
Terraform & IaC
Provision and manage multi-cloud infrastructure safely and reliably using code.
14 lessons · Beginner to Advanced- 01Introduction to TerraformDeclarative Infrastructure as Code, state tracking, and cloud provisioning.Beginner · 7 min
- 02Core Workflow (6 Commands)Master the lifecycle: init, fmt, validate, plan, apply, and destroy.Beginner · 9 min
- 03Providers & ResourcesUnderstand the bridge (providers) and blueprints (resources) in HCL.Intermediate · 10 min
- 04Arguments & AttributesMaster resource inputs (arguments) and exported outputs (attributes).Intermediate · 9 min
- 05Input Variables & StructureWrite flexible configurations with the 3-file pattern and variable types.Advanced · 12 min
- 06Output Values & QueryingDefine root and module outputs, extract values with terraform output, and protect secrets.Intermediate · 9 min
- 07Local Values & ExpressionsDRY configurations using locals blocks, compute dynamic strings, and merge standard tags.Intermediate · 8 min
- 08Data Sources & Dynamic LookupsQuery existing cloud infrastructure dynamically with data blocks for AMIs, VPCs, and subnets.Intermediate · 10 min
- 09State Management & S3 BackendDemystify terraform.tfstate, remote S3 backend storage, and DynamoDB distributed state locking.Advanced · 11 min
- 10Reusable Modules & RegistryPackage infrastructure into reusable modules with inputs, outputs, and Terraform Registry sources.Advanced · 12 min
- 11Loops: count, for_each & Dynamic BlocksMaster multi-resource loops, fix index shifting with for_each, and generate dynamic blocks.Advanced · 12 min
- 12Resource Lifecycle & Meta-ArgumentsControl zero-downtime updates, prevent accidental deletions, and ignore drift.Advanced · 9 min
- 13Workspaces & Multi-EnvironmentManage multiple environments (dev, stage, prod) from one codebase with isolated states.Advanced · 10 min
- 14Provisioners, User Data & terraform_dataExecute boot scripts with user_data, local-exec Ansible triggers, and terraform_data.Advanced · 10 min
Docker & Containers
Master containerization, images, volumes, networking, Dockerfiles, and Swarm clustering.
9 lessons · Beginner to Intermediate- 01Introduction to DockerUnderstand client-server architecture, daemons, containers vs VMs.Beginner · 6 min
- 02Images & ContainersDemystify image layers, container lifecycle, and essential inspection commands.Beginner · 7 min
- 03Storage & VolumesManage persistent data with bind mounts, named volumes, and tmpfs storage.Intermediate · 8 min
- 04Networking in DockerBridge, host, overlay, and macvlan drivers for container communication.Intermediate · 8 min
- 05Dockerfile DirectivesWrite production Dockerfiles, build optimization, and multi-stage patterns.Intermediate · 9 min
- 06Docker Swarm OrchestrationCluster management, managers, workers, services, and high availability.Intermediate · 10 min
- 07Docker ComposeMulti-container orchestration, compose YAML definitions, and service networks.Intermediate · 9 min
- 08CPU, Memory & Security LimitsEnforce resource quotas, cgroups, memory limits, and container hardening.Advanced · 8 min
- 09Master Command ReferenceComprehensive CLI cheat sheet for image, container, volume, and swarm commands.All Levels · 12 min
Ansible Automation
Automate infrastructure provisioning, configuration management, and application deployments.
12 lessons · Beginner to Advanced- 01Introduction to AnsibleAgentless architecture, YAML playbooks, push vs pull configuration management.Beginner · 6 min
- 02Configure Managed NodesSet up a local Docker-based Ansible lab and configure SSH key authentication.Beginner · 10 min
- 03Ad-Hoc CommandsExecute quick one-liner tasks across fleets using Ansible modules.Beginner · 8 min
- 04Inventory Files & GroupsDefine managed hosts with INI/YAML, host variables, and dynamic inventories.Beginner · 8 min
- 05Playbooks in YAMLStructure declarative playbooks, plays, tasks, and syntax rules.Beginner · 7 min
- 06Variables & Data PrecedenceDefine reusable variables, playbook vars, group_vars, and host_vars.Intermediate · 8 min
- 07Ansible Facts & GatheringCapture target system metadata and context dynamically during execution.Intermediate · 7 min
- 08Configuration TemplatesGenerate dynamic configuration files using the template module.Intermediate · 8 min
- 09Roles & Modular StructureOrganize complex automation into reusable role directory structures.Intermediate · 9 min
- 10Automate Repetition with LoopsIterate over lists, hashes, and complex data structures with loop controls.Intermediate · 8 min
- 11Event Handlers & NotificationTrigger idempotent service restarts only when configuration states change.Intermediate · 8 min
- 12Advanced Jinja2 TemplatesMaster Jinja2 filter syntax, conditionals, variables, and interview prep.Advanced · 11 min
Nagios Monitoring
Enterprise server, service, and network infrastructure monitoring with active/passive checks.
3 lessons · Beginner to Intermediate- 01Introduction to NagiosContinuous infrastructure monitoring, daemon architecture, and check types.Beginner · 8 min
- 02NRPE & Alert ConfigurationConfigure NRPE daemon on remote slaves, master configs, and alert contacts.Intermediate · 9 min
- 03Nagios Web InterfaceNavigate host status, service maps, servicegroups, and problem resolution.Beginner · 8 min
Hands-on Production Tasks
Real-world production engineering playbooks, scripts, and deployment recipes.
20 tasks · Practical / Hands-on- 01Automated Weekly Server MaintenanceBash script and cron automation to clean caches, rotate logs, and audit disk space.Linux / Shell · 15 min
- 02Install Node Exporter with PlaybookFetch Prometheus node exporter binary, isolate service account, and wire systemd.Ansible · 15 min
- 03Automate Application & OS UpdatesIdempotent apt package updater with safe cache refreshing and dependency cleanup.Ansible · 10 min
- 04Server Diagnostic & Health ChecksPulls CPU, memory, disk, and uptime metrics across fleet into structured output.Ansible · 12 min
- 05Install Packages & Provision UsersAutomates prerequisite installation, developer user setup, and workspace permissions.Ansible · 12 min
- 06Create System Users via VariablesDynamic user provisioning leveraging variable files without hardcoded credentials.Ansible · 10 min
- 07Create Directory Trees with LoopsCreate multi-tier project directories and permission hierarchies using Ansible loops.Ansible · 10 min
- 08Cross-Distro Packages with When ConditionsDeploy packages seamlessly across Debian/Ubuntu and RHEL/CentOS using gathered facts.Ansible · 12 min
- 09Install Apache with Event HandlersDeploy web server and notify service restart handler only on configuration changes.Ansible · 12 min
- 10Deploy Dynamic Files with Jinja2Template employee records and server configurations dynamically at runtime.Ansible · 12 min
- 11Provision AWS EC2 with Security GroupDeploy AWS EC2 instance with custom SSH key pair and strict security group ingress.Terraform · 20 min
- 12Secure AWS S3 Bucket with EncryptionProduction S3 bucket with AES256 server-side encryption, versioning, and public access blocks.Terraform · 20 min
- 13Create Instance with Dynamic AMI IDFetch latest Amazon Linux AMI dynamically using data sources, SSH key pair, security group, and public IP output.Terraform · 15 min
- 14Provision S3 Buckets using Terraform countScale S3 bucket infrastructure dynamically using count meta-arguments, count.index, length() variables, and splat outputs.Terraform · 15 min
- 15Conditional Instance Sizing with Ternary OperatorSelect EC2 instance types dynamically (t2.micro vs t4g.small) based on deployment environment variables.Terraform · 15 min
- 16Rename a Terraform Resource Without Destroying AWS ResourceSafely change a Terraform resource address using moved blocks or terraform state mv while preserving real AWS infrastructure.Terraform · 15 min
- 17Modularize AWS Infrastructure with Local Child ModulesOrganize AWS EC2 and S3 resources into reusable local child modules (./module/ec2 and ./module/s3) called from a root configuration.Terraform · 15 min
- 18Transform Values & Resource Inputs using Terraform Built-in FunctionsManipulate strings, lists, maps, and condition fallbacks using upper(), lower(), length(), join(), split(), lookup(), and try().Terraform · 15 min
- 19Build & Run Nginx Docker ImageCustom Dockerfile, container port binding (80:80), and background daemon execution.Docker · 15 min
- 20Jenkins Pipeline: SCM Pull & BuildDeclarative Jenkinsfile pipeline pulling code from GitHub SCM and running automated build stages.Jenkins · 20 min