Visão Geral
O curso eBPF Fundamentals proporciona uma compreensão profunda sobre o eBPF (Extended Berkeley Packet Filter), uma poderosa tecnologia integrada ao kernel do Linux, que permite uma observabilidade e controle de redes sem precedentes. Este curso é ideal para profissionais que desejam aprimorar suas habilidades de monitoramento, segurança e desempenho de sistemas operacionais e redes. Os participantes aprenderão como o eBPF funciona, como escrevê-lo e aplicá-lo em diversas situações de infraestrutura, como segurança, monitoramento e otimização de performance.
Conteúdo Programatico
Module 1: Introduction to eBPF
- What is eBPF and its evolution in the Linux kernel
- The benefits of using eBPF for monitoring, security, and networking
- Key use cases and applications of eBPF in modern infrastructure
Module 2: The eBPF Architecture and Workflow
- How eBPF programs interact with the Linux kernel
- eBPF workflow: loading, attaching, and running programs
- eBPF system calls and interaction with the user space
Module 3: Setting Up the eBPF Development Environment
- Installing and configuring eBPF tools (clang, llvm, bpftool, etc.)
- Introduction to BPF Compiler Collection (bcc) and libbpf
- Compiling and running your first eBPF program
Module 4: Writing eBPF Programs
- Basics of writing eBPF code in C
- Attaching eBPF programs to Linux hooks (XDP, tc, kprobes, uprobes)
- Handling maps and data structures in eBPF
Module 5: eBPF for System Monitoring and Observability
- Using eBPF for monitoring system calls and events
- Capturing network traffic and metrics with eBPF
- Integrating eBPF with tools like perf and bpftrace for detailed analysis
Module 6: eBPF for Network Security and Traffic Control
- Securing network traffic with eBPF-based firewalling
- Implementing DDoS protection with eBPF and XDP
- Using eBPF to apply custom network policies and traffic shaping
Module 7: Advanced eBPF Use Cases
- Building custom performance profilers with eBPF
- Using eBPF for real-time kernel introspection
- Applying eBPF to trace and optimize application performance
Module 8: Debugging and Optimizing eBPF Programs
- Best practices for writing efficient eBPF programs
- Debugging eBPF applications with bpftrace and bpftool
- Performance tuning and avoiding common pitfalls in eBPF development
Module 9: Integrating eBPF with Existing Tools
- Using eBPF with Prometheus, Grafana, and other observability platforms
- Automating eBPF-based monitoring in CI/CD pipelines
- Scaling eBPF applications in production environments
Module 10: Future of eBPF and Best Practices
- Emerging trends and the future role of eBPF in cloud-native environments
- Best practices for deploying eBPF in production
- Long-term strategies for maintaining and scaling eBPF-based solutions