Tools

GitHub setzt auf eBPF gegen zirkuläre Deployment-Abhängigkeiten

tools devops ebpf github

Das Henne-Ei-Problem

GitHub hostet seinen eigenen Code auf github.com. Clever fürs Dogfooding, aber ein Albtraum bei Ausfällen: Wenn GitHub down ist, kann GitHub nicht repariert werden, weil die Deployment-Scripts GitHub brauchen. Zirkuläre Abhängigkeit pur.

Das Problem geht tiefer:

  • Direkte Dependencies: Deploy-Script pullt Release von GitHub → GitHub down → Script failt
  • Versteckte Dependencies: Tool auf der Maschine checkt bei Start auf Updates bei GitHub → hängt
  • Transitive Dependencies: Script ruft Service, Service pullt von GitHub → Kaskadenfehler

Die Lösung: eBPF. GitHub nutzt Linux-Kernel-Hooks, um Netzwerk-Calls gezielt zu blocken oder zu erlauben. Mit speziellen cGroup-Programmen können sie Deployments validieren – ohne github.com komplett zu blocken und Traffic zu stören.

Der Clou: eBPF-Programme laufen im Kernel, sind extrem performant und lassen sich dynamisch laden. GitHub hat damit ein System gebaut, das Deployment-Scripts in isolierten cGroups überwacht und zirkuläre Dependencies erkennt, bevor sie zum Problem werden.

Wenn einer der größten DevOps-Player der Welt eBPF einsetzt, ist das kein Hype mehr – sondern Best Practice.

Original bei GitHub Blog