Há vários anos, o kernel do Linux inclui o Berkeley Packet Filter estendido (eBPF), uma máquina virtual que fornece a capacidade de anexar filtros a soquetes específicos. Mas o eBPF vai muito além da filtragem de pacotes, permitindo que scripts personalizados sejam acionados em vários pontos dentro do kernel com muito pouca sobrecarga. A possibilidade de execução de programas em área restrita dentro do kernel do sistema operacional habilita pessoas desenvolvedoras de aplicativos a executar programas eBPF para adicionar recursos adicionais ao sistema operacional em tempo de execução. Alguns de nossos projetos exigem solução de problemas e criação de perfil no nível de chamada do sistema, e nossos times descobriram que ferramentas como bcc e bpftrace facilitam seu trabalho. A observabilidade e a infraestrutura de rede também se beneficiam do eBPF — por exemplo, o projeto Cilium pode implementar balanceamento de carga de tráfego e observabilidade sem sobrecarga de sidecar em Kubernetes, e Hubble oferece mais segurança e observabilidade de tráfego. O projeto Falco usa eBPF para monitoramento de segurança, e o projeto Katran usa eBPF para construir balanceamento de carga L4 mais eficiente. A comunidade eBPF está crescendo rapidamente e temos visto cada vez mais sinergia com o campo da observabilidade.
Há vários anos, o kernel do Linux inclui o Berkeley Packet Filter estendido (eBPF), uma máquina virtual que oferece a capacidade de anexar filtros a soquetes específicos. Mas o eBPF vai muito além da filtragem de pacotes, permitindo que scripts personalizados sejam acionados em vários pontos dentro do kernel com pouquíssima sobrecarga. Embora essa tecnologia não seja nova, vem se destacando agora com o uso crescente de microsserviços implantados como contêineres orquestrados. Kubernetes e tecnologias de malha de serviço como Istio são comumente usadas e empregam sidecars para implementar funcionalidade de controle. Com novas ferramentas — Bumblebee, em particular, torna a construção, a execução e a distribuição de programas eBPF muito mais simples —, eBPF pode ser visto como uma alternativa ao sidecar tradicional. Um dos responsáveis pelo Cilium, uma ferramenta neste espaço, chegou a proclamar o fim do sidecar. Uma abordagem baseada em eBPF reduz parte da sobrecarga de desempenho e operação que vem com o uso de sidecars, mas não oferece suporte a recursos comuns, como terminação SSL.
Há vários anos, o kernel do Linux inclui a máquina virtual estendida do Berkeley Packet Filter ( eBPF ) e fornece a capacidade de anexar filtros eBPF a soquetes específicos. Mas o extended BPF vai muito além da filtragem de pacotes e permite que scripts personalizados sejam acionados em vários pontos do kernel com muito pouca sobrecarga. Embora essa tecnologia não seja nova, agora está amadurecendo com o uso crescente de microsserviços implantados como contêineres orquestrados. As comunicações serviço-a-serviço podem ser complexas nesses sistemas, dificultando a correlação de problemas de latência ou desempenho com uma chamada de API. Estamos vendo hoje ferramentas lançadas com scripts eBPF pré-escritos para coletar e visualizar o tráfego de pacotes ou gerar relatórios sobre a utilização da CPU. Com o crescimento do Kubernetes, estamos vendo uma nova geração de aplicação e instrumentação de segurança baseada em scripts eBPF que ajudam a dominar a complexidade de uma implantação ampla de microsserviços.