eBPF ที่ Edge ของโรงงาน: Observability และ Security ระดับ Kernel ที่ Agent แบบเดิมทำไม่ได้
ถ้าคุณดูแล Edge Gateway ที่รัน Linux อยู่หน้าโรงงาน น่าจะคุ้นเคยกับภาพนี้: เครื่องหนึ่งต้องลง agent เก็บ metric อีกตัวเก็บ log อีกตัวเฝ้า security และอีกตัวดักจับ network — แต่ละตัวกิน CPU กันคนละเปอร์เซ็นต์ และต้องอัปเดตแยกกันคนละรอบ คำถามที่วงการ infrastructure เริ่มตอบด้วยเทคโนโลยีเดียวคือ eBPF (extended Berkeley Packet Filter) เทคโนโลย์จาก Linux kernel ที่ให้โปรแกรมขนาดเล็ก "รันอยู่ใน kernel" เพื่อเก็บข้อมูลและบังคับใช้นโยบายความปลอดภัยได้โดยตรง รูป 1: สถาปัตยกรรม eBPF บน Edge Gateway — hook รับเหตุการณ์ ผ่าน verifier และ JIT compiler แล้วส่งข้อมูลผ่าน maps (ที่มา: Honey Corporation) eBPF คืออะไร และทำไมมันปลอดภัยพอให้ใช้ในโรงงาน eBPF พัฒนาต่อจาก Berkeley Packet Filter เดิมที่ทำหน้าที่กรองแพ็กเก็ตเท่านั้น ปัจจุบันเป็นกลไกที่ให้โปรแกรม sandbox ทำงานในบริบท privileged ของ kernel โดยไม่ต้องแก้ source code ของ kernel หรือโหลด kernel module ตัวหลักที่ทำให้เราวางใจได้คือ Verifier ซึ่งตรวจทุกเส้นทางการทำงานของโปรแกรมก่อนรันจริง ว่าไม่มีการเข้าถึงหน่วยความจำนอกเขต ไม่วนลูปไม่รู้จบ และจบการทำงานภายในขีดจำกัดที่กำหนด จากนั้น JIT compiler จะคอมไพล์โปรแกรมให้เป็น machine code ที่ทำงานเร็วเทียบ native การทำงานเป็นแบบ event-driven: โปรแกรม eBPF จะถูกเรียกเมื่อเกิดเหตุการณ์ที่ "hook point" เช่น การเรียก system call, การเข้า-ออกฟังก์ชันใน kernel (kprobe) หรือแม้แต่ฟังก์ชันในแอปพลิเคชันเราเอง (uprobe) และเหตุการณ์ network ระดับ NIC ผ่าน XDP รูป 2: 4 กลุ่ม hook หลักที่ใช้ได้บน Edge Gateway ที่รัน Linux (ที่มา: eBPF.io documentation, Honey…









