4 min read

BPF 관련 책들 소개

BPF 관련 책들 소개
Photo by Stephen Phillips - Hostreviews.co.uk / Unsplash
ebpf.io

BPF (Berkely Packet Filter)는 패킷들에 접근하기 위한 도구로 성능 상의 이유로 커널 내부에서 실행된다. 네트워크 분야에서는 패킷 캡쳐 응으로 많이 사용되고 있고 최근에는 VM 및 컨테이너 중심의 가상화된 환경에서의 시스템 관측 가능성 (observability) 분야 도구로, 또 커널 내부에서의 지름길 (shortcut) 처리 특성을 이용한 고성능화를 위한 수단으로 주목을 받고 있다.

현재 국내에서는 세 권의 책이 출판되어 있으며 출간일 순으로 간단하게 소개를 하고자 한다.

BPF로 리눅스 관측 가능성 향상하기

  • 데이비드 칼라베라, 로렌초 폰타나 저, 류광 역, "BPF로 리눅스 관측 가능성 향상하기," 한빛미디어, 2020.5.
  • 236페이지, 정가 22,000원

국내에 제일 먼저 출판된 BPF 관련 서적이라는 점에 의미가 있다. 단순 패킷 캡쳐 외에 네트워크 및 시스템 이벤트 관측 등 다양한 용도가 있음을 보여줬던 책이다. 현재는 아래 설명할 책이 있기 때문에 굳이 이 책을 먼저 보라고 하지 않겠지만, 아직까지는 관련 서적 중에 가장 얇고(!) 가장 싸다(!). 보완용으로 보면 될 것 같다.

BPF를 활용한 리눅스 시스템 트레이싱

  • 정찬훈 저, "BPF를 활용한 리눅스 시스템 트레이싱," 위키북스, 2021.3.
  • 396페이지, 정가 27,000원

유일하게 국내 저자가 쓴 책이다. 기술 서적에 한해서는 개인적으로 국내 저자가 쓴 책을 선호하는 편인데, 번역의 문제도 있지만 한국인 저자 쪽이 보다 직접적인 해결책이나 지식을 전달하고자 하는 경향이 있다고 보기 때문이다. BPF에 대해 기초부터 설명하면서 전반적인 BPF 활용 분야에 대해 다루고 있어서 개념 잡는 용도로 추천하며 책 분량 관계 상 이것저것 다양한 실습을 해보기에는 한계가 있을 듯 하다. 두꺼운 종이를 썼기 때문에 페이지 수 대비 책이 좀 두껍다.

BPF 성능 분석 도구

  • 브렌던 그레그 저, 이호연 역, "BPF 성능 분석 도구," 인사이트, 2021.7.
  • 972페이지, 정가 52,000원

솔직히 말하자면 아직 보지 못했다. 일단 두 배 비싼 가격과 두께가 부담스러웠다. 도서관에 희망서적으로 신청했는데 5만원을 넘는 가격을 이유로 취소당해 버렸다. 아무래도 회사에 업무 관련 서적으로 구매 품의를 올려야 할 듯 한데, 그새를 못참고 개인적으로 살 지도 모르겠다 (...) 두께를 보면 알겠지만 BPF에 대해 처음으로 보는 책으로는 무리가 있고 심화 학습하기 위한 용도로 봐야 할 것 같다. 인터넷 서점의 목차를 보면 컨테이너 관련 내용에 3개 챕터를 할당한 것을 볼 수 있다. 평가 대신 관련 목차 내용으로 대신하고자 한다.

  • 16장 컨테이너 - 배경지식 / 기존 도구 / 게스트 BPF 도구 / 호스트 BPF 도구
  • 17장 컨테이너 - 벡터와 PCP / 그라파나와 PCP / Cloudflare eBPF Prometheus Exporter (with Grafana) / kubectl-trace / 기타 도구
  • 18장 컨테이너 - 일반적인 이벤트 발생 빈도와 오버헤드 / 49Hz 또는 99Hz 주기로 샘플링 / 노란 돼지와 회색 쥐 / 대상 소프트웨어의 작성 / 시스템 콜 배우기 / 심플하게 하기 / 이벤트 누락 / 스택 트레이스 누락 / 출력 시 심벌 (함수 이름) 누락 / 트레이싱할 때 함수 누락 / 피드백 루프 / 이벤트 드롭
— END OF POST.