Module 9: Where to Go Next withย eBPF
You have learned and practiced the fundamentals. Here's how you should continue your eBPF journey.
ยท Umair Khurshid
Module 8: Improving Container Security with eBPF
In this module, you'll see how eBPF extends naturally from observability into container security.
ยท Umair Khurshid
Module 7: Network Tracing with eBPF
This module focuses on aligning eBPF tracing with how packets actually live and die inside the kernel.
ยท Umair Khurshid
Module 6: User Tracing With eBPF
Let's move from kernel focused tracing into user space, showing that the same eBPF principles apply once you understand where observability data actually lives.
ยท Umair Khurshid
Module 5: Kernel Tracing with BCC and libbpf
What you learned in the previous module, time to practice it with labs.
ยท Umair Khurshid
Module 4: Tracing and Observability withย eBPF
Learn how tracing and observability work in the eBPF model and why they represent a clear departure from traditional Linux tracing tools.
ยท Umair Khurshid
Module 3: Building Modern eBPF With libbpf and CO RE
It's time for you to transition from learning eBPF concepts to building eBPF the way it is used in real systems.
ยท Umair Khurshid
Module 2: Core eBPF Fundamentals
Learn how eBPF actually works inside the Linux kernel and how high level Python tooling with bcc makes it easy to experiment, trace system calls, and observe real kernel behavior with minimal friction.ย
ยท Umair Khurshid
Module 1: Building the Lab Environment
Welcome to the first module of the course. Everything that follows depends on what you build here. If the lab environment is unstable, inconsistent, or poorly understood, every later module will feel confusing for the wrong reasons.
ยท Umair Khurshid
Master eBPF with Hands-On Labs
Learn Modern eBPF by Building, Tracing, and Securing Real Linux Systems.
ยท Umair Khurshid
Complete Beginner's Guide to Linux Namespaces
Not only will you learn the essential concept of namespaces in Linux, but you will also create a fully isolated environment that behaves like a container.
ยท Umair Khurshid
Avoid These 10 Mistakes for an Efficient, Enjoyable, and Safe Homelab
A successful homelab should not only provide a space for discovering new knowledge and exciting innovations, but also function smoothly and without major obstacles.
ยท Umair Khurshid
Why I Stopped Hating Systemd
I realize that systemd is more than just an init system, itโs a complete automation framework.
ยท Umair Khurshid
Common Networking Issues Every DevOps Engineer Encounters
And how you can investigate the incident, diagnose the issue and fix it ultimately.
ยท Umair Khurshid
Module 4: Traffic Shaping and QoS with tc in Real Environments
This final module introduces the Linux traffic-control subsystem, describes how packets are queued, scheduled, classified and shaped, and shows how to deploy real-world QoS policies.
ยท Umair Khurshid
Module 3: Building Overlay Networks with VXLAN and WireGuard
Explore virtualizing entire Layer 2 networks on top of existing Layer 3 infrastructure with two handy open source software.
ยท Umair Khurshid
Module 2: nftables for Complex Rulesets and Performance Optimization
Translate complex network requirements into simple nftables rulesets, automate their deployment, and troubleshoot them confidently, all within the same logic that controls routing and traffic policy.
ยท Umair Khurshid
Module 1: Advanced iproute2: Policy Routing, Multiple Routing, and VRFs
This first module introduces the core of advanced Linux networking through iproute2. You will learn how to define multiple routing tables, implement policy-based routing, and use VRF to create isolated routing domains.
ยท Umair Khurshid
Linux Networking at Scale
Master advanced networking on Linux โ from policy routing to encrypted overlays.
ยท Umair Khurshid
Module 6: Debugging Automated Services
Systemd has debugging and monitoring built into its design with features like state inspection, structured logs, dependency analysis, restart and watchdog policies, timer management, and failure hooks.
ยท Umair Khurshid
Module 5: Sandboxing Systemd Directives for Safer Automation
Learn how systemdโs sandboxing directives can transform automation from a potential liability into a controlled and resilient practice.
ยท Umair Khurshid
Module 4: Automated Resource Management With Systemd
Learn how systemd can automate resource management through examples ranging from containerized log processors to long-running database services.
ยท Umair Khurshid
Module 3: Systemd-nspawn and Machinectl for Repeatable Environments
This module introduces systemd-nspawn as a tool for creating and running containers, and machinectl as its companion for management and automation.
ยท Umair Khurshid
Module 2: Automating Complex Workflows with Targets
Mastering targets enables you to automate multi-service stacks, implement operational modes such as maintenance or batch processing, and ensure consistent, reproducible system behavior.
ยท Umair Khurshid
Module 1: Timers and Automated Task Scheduling in Systemd
Welcome to the first module of our micro course on advance automation with systemd. Here, we focus on systemd timers, the building blocks of reliable, scheduled task execution on modern Linux systems.
ยท Umair Khurshid
Advanced Automation with systemd
Take Your Linux Automation Beyond Cron
ยท Umair Khurshid
Ansible Yum Module: Manage Red Hat Packages
Manage the packages effectively on the fleet of Red Hat systems with Yum module in Ainsible.
ยท Umair Khurshid
Port Mapping in Docker: When and How to Use it?
Understand the advantages of using port mapping in Docker and learn various ways of doing it.
ยท Umair Khurshid
Restart Docker Container Automatically After Reboot
You would want that the containers start automatically when system restarts, right? Here are different methods you can try in a variety of situations.
ยท Umair Khurshid
Reading a File in Go
Learn various use cases of reading a file in Go
ยท Umair Khurshid