eBPF para monitoreo avanzado de infraestructura de Linux

por calpee
8 / 100

Pasó un año desde que la pandemia nos dejó pasando la mayor parte de nuestros días refugiándonos dentro de nuestras casas. Ha sido un instante desafiante para los desarrolladores, gestores de sistemas y equipos de TI terminados que han comenzado a llevar a cabo malabarismos con la labor de monitorear y arreglar inconvenientes de una afluencia de datos dentro de sus sistemas e infraestructuras a medida que el mundo se vio obligado a conectarse. Para hacer su trabajo adecuadamente, las tecnologías gratis de código abierto como Linux se han vuelto poco a poco más interesantes, especialmente entre los profesionales de operaciones y administradores de sistemas al cargo de sostener ámbitos complejos y en desarrollo. Los ingenieros también están utilizando mucho más tecnologías de código abierto, en parte importante debido a la elasticidad y apertura que tienen para prestar, en comparación con las ofertas comerciales que van acompañadas de precios de alto valor y restricciones estrictas de funcionalidades.[

Una tecnología emergente particularmente, eBPF, ha aparecido en múltiples proyectos, incluidas ofertas comerciales y de código abierto. Antes de debatir mucho más sobre la comunidad que rodea a eBPF y su crecimiento a lo largo de la pandemia, es esencial comprender qué es y de qué manera se emplea. eBPF, o filtrado de paquetes extendido de Berkley, se introdujo inicialmente como BPF en 1992 en un artículo de los estudiosos del Laboratorio Lawrence Berkeley como un mecanismo basado en reglas para filtrar y capturar paquetes de red. Los filtros se implementarían para ejecutarse en una máquina virtual (VM) fundamentada en registros, que a su vez existiría dentro del kernel de Linux. Después de múltiples años de inactividad, BPF se extendió a eBPF, con una máquina virtual completa para realizar pequeños programas en el kernel de Linux. Ya que estos programas se ejecutan desde el interior del kernel, se pueden agregar a una ruta de código particularmente y ejecutarse en el momento en que se recorre, lo que los hace perfectos para crear aplicaciones para el filtrado de packs y el análisis y la supervisión del desempeño.[

Originalmente, no era fácil hacer programas eBPF, puesto que el programador precisaba saber un lenguaje de nivel extremadamente bajo. No obstante, la red social en torno a esa tecnología ha evolucionado sensiblemente a través de la creación de herramientas y bibliotecas para facilitar y apresurar el desarrollo de avance y carga de un programa eBPF en el Kernel. Esto fue crucial para crear una gran cantidad de herramientas que pueden seguir la actividad del sistema y de las aplicaciones hasta un nivel muy granular. La imagen que prosigue revela esto, exponiendo la gran cantidad de herramientas que existen para seguir varias unas partes de la pila de Linux.[

En la realidad actual, los clientes escriben programas en un lenguaje de nivel relativamente alto, como C, utilizando herramientas como Linux BCC para compilar el programa en una forma que se logre cargar en el Kernel. Curiosamente, si bien el programa eBPF en sí está escrito en forma de C, hay cargadores en Python y Golang, entre otros lenguajes, un programa eBPF se puede integrar en su emprendimiento con bastante sencillez, siempre que, por supuesto, el Kernel de Linux además de que el software se ejecuta funciona con eBPF.[

eBPF para estructura avanzada de monitoreo de infraestructura de Linux[

Se necesita muy poco a fin de que un nuevo usuario ingrese al ecosistema eBPF e identifique las herramientas que podrían progresar en gran medida su eficacia al lanzar un programa de monitoreo de infraestructura en el mismo instante y enormemente granular. Ebpf.io ofrece una excelente publicación propedéutica que cubre la tecnología y las herramientas de alto nivel que usa la pila eBPF. Asimismo menciona las herramientas y cadenas de herramientas de desarrollo que hay, para que el usuario logre proceder y probarlas por su cuenta. Además, esta página de introducción ofrece una gran cantidad de links a recursos auxiliares para el ingeniero que desee reforzar. A lo largo de mi investigación, descubrí un increíble repositorio de GitHub que fue bastante esclarecedor: awesome-ebpf.[

Con su encontronazo en la comunidad de desarrolladores, asimismo hay una serie de ofertas comerciales muy innovadoras en el mercado, particularmente en el área de redes y seguridad. Con la proliferación de Kubernetes como la estrategia de implementación de hecho, eBPF ha demostrado ser un poderoso aliado para entender los inconvenientes a menudo complejos y oscuros relacionados con la red que son producidos por estas topologías detalladas. Una empresa pionera en el espacio es Cilium, otra es Netdata, que da chequeo de infraestructura con tecnología eBPF lista para emplear. Y a pesar de las preferencias hacia la oferta comercial o de código abierto, la comunidad eBPF relativamente joven está creciendo y atrayendo a una proporción de profesionales que se unen para comunicar y desarrollar las mejores prácticas de la industria.[

Esta es una gran noticia para eBPF y significa que se le están presentando más ingenieros y administradores de sistemas, entendiendo su valor y después utilizándolo en sus proyectos de código abierto o en las funciones de chequeo de infraestructura de su organización. Este enfoque básico de la adopción de eBPF es clave para su innovación y desarrollo continuos.[

Esta “mini-revolución” puede haberse perdido en el ruido de la pandemia, pero es seguro decir que un emprendimiento de código abierto ha vuelto al primer plano, con Linux siguiendo su ejemplo como el fundamento evidente para cualquier distribuidor que haya abierto- fuente en cabeza. Además de esto, los entornos originarios de la nube de hoy se suman a un problema creciente: la dificultad de la infraestructura conforme incrementan los datos. Para lograr realizar frente a esta complejidad, tecnologías como eBPF demostrarán ser socios importantes, y la eficacia agregada que brindan desempeñará un papel clave en un entorno donde la demanda está aumentando y los costes deben administrarse.[

You may also like