Enable javascript in your browser for better experience. Need to know to enable it? Go here.

Herramientas

Adoptar ?

  • DVC sigue siendo nuestra herramienta preferida para gestionar experimentos en proyectos de ciencia de datos. El hecho de que esté basado en Git lo convierte en un dominio conocido para que los desarrolladores lleven prácticas de ingeniería al ecosistema de ciencia de datos. La visión dogmática que tiene DVC de lo que es un un punto de control de un modelo encapsula cuidadosamente un conjunto de datos de entrenamiento, un conjunto de datos de prueba, hiperparámetros del modelo y el código. Convertir la reproducibilidad en una preocupación de primera clase, permite al equipo viajar en el tiempo a través de varias versiones del modelo. Nuestros equipos han utilizado con éxito DVC en producción para permitir la entrega continua para ML (CD4ML); ya que se puede conectar con cualquier tipo de almacenamiento (incluyendo AWS S3, Google Cloud Storage, MinIO y Google Drive). Sin embargo, con conjuntos de datos cada vez más grandes, capturar instantáneas basadas en el sistema de archivos puede volverse particularmente costoso. Cuando los datos subyacentes cambian rápidamente, DVC al control de un buen almacenamiento versionado, permite realizar un seguimiento de las desviaciones del modelo durante un período de tiempo. Nuestros equipos han utilizado eficazmente DVC además de formatos de almacenamiento de datos como Delta Lake que optimiza el control de versiones (COW). La mayoría de nuestros equipos de ciencia de datos configuran DVC como una tarea del día cero mientras inician un proyecto; por este motivo, nos complace moverlo a la sección de Adoptar.

Probar ?

  • A medida que más organizaciones adoptan la computación en la nube, muchas están comenzando a integrar múltiples proveedores de nube simultáneamente para maximizar la flexibilidad y minimizar las dependencias. Sin embargo, el manejo de llaves y control de accesos a través de múltiples proveedores de la nube puede significar un desafío importante, lo que conduce a una mayor complejidad y riesgos de seguridad. Akeyless Es una plataforma centralizada, basada en la nube que provee la gestión unificada de secretos con una serie de ventajas para manejar secretos y datos sensibles. Se integra de forma fluida con diferentes proveedores, simplificando el manejo de secretos y control de accesos para monitorear y controlar quién tiene acceso a datos sensibles; con encriptación, control de accesos, autenticación multifactor y otros mecanismos de seguridad que aseguran que solo los usuarios autorizados sean capaces de acceder a datos sensibles. Adicionalmente, Akeyless provee una interfaz intuitiva para administración y monitoreo, proporcionando una experiencia de desarrollo y administración menos compleja y más escalable.

  • Dentro de cualquier organización, los productores y consumidores de API necesitan estar sincronizados con los esquemas que serán usados para la comunicación entre ellos. Especialmente, a medida que en la organización crece el número de API y sus respectivos productores y consumidores; lo que pudo empezar simplemente compartiendo esquemas entre equipos, comenzará a presentar desafíos de escalamiento. Al encontrarse con este problema, algunos de nuestros equipos han recurrido a Apicurio Registry, un registro centralizado de código abierto para diversos tipos de esquemas y artefactos de API, incluyendo especificaciones de OpenAPI y esquemas de Protobuf y Avro. Apicurio Registry permite a los usuarios interactuar con éste a través de una interfaz de usuario, así como una API REST y un plugin de Maven. También ofrece la opción de hacer cumplir restricciones de evolución de esquemas, tales como la retrocompatibilidad. Además, cuando se trata de trabajar con clientes de Kafka, Apicurio Registry es compatible con el Confluent Schema Registry. Si bien la documentación del Confluent Schema Registry ha resultado más útil para nuestros equipos, el Apicurio Registry suple las necesidades de una fuente única de verdad para distintos esquemas.

  • --- Actualmente, las empresas suelen utilizar la transmisión de eventos como fuente de verdad y como un mecanismo de intercambio de información en las arquitecturas de microservicios. Esto crea la necesidad de estandarizar los tipos de eventos y compartir esos estándares en toda la empresa. Es habitual que se despliegue un registro de esquemas de eventos, pero la oferta existente tiende a estar especializada en un único servicio como Apache Kafka o Azure Event Hub. También suelen quedarse cortos a la hora de ofrecer una documentación rica sobre los tipos de eventos que vayan más allá de simples definiciones de esquema. EventCatalog es un proyecto de código abierto que ofrece algo que habitualmente vemos a las compañías construir ellas mismas: un repositorio plenamente accesible de documentación de eventos y esquemas. Éstos describen el rol que el evento juega en el negocio, a dónde pertenecen dentro de un modelo de dominio de negocio y qué servicios lo suscriben y publican. Si estás buscando una nueva manera de publicar documentación de eventos en tu organización, esta herramienta podría salvarte de la molestia de construirla tú mismo.

  • FOSSA es una herramienta de código abierto que ayuda a los desarrolladores y equipos a determinar en qué componentes de código abierto se basa su código y bajo qué licencias se publican estos componentes. Esta información es esencial para garantizar el cumplimiento de varias licencias de código abierto y mantener la Software Bill of Materials. FOSSA se integra con herramientas de gestión de dependencias de varios stacks tecnológicos para identificar qué componentes de código abierto se utilizan en un proyecto. También destaca cualquier problema de licencia basado en las políticas de la organización y genera informes de los mismos. Algunas características clave de FOSSA incluyen su capacidad para integrarse con flujos de desarrollo, como CI, y para realizar un seguimiento del cumplimiento en tiempo real. Muchos de nuestros clientes y equipos han encontrado en FOSSA una herramienta valiosa y eficaz.

  • Gitleaks es una herramienta de línea de comandos SAST (static application security testing) de código abierto para detectar y prevenir secretos incrustados en el código (hardcoded) como pueden ser contraseñas, claves API o tokens en repositorios Git. Se puede usar como hook de pre-commit en Git o en un pipeline de CI/CD. Nuestros equipos encontraron que Gitleaks es más sensible que otras herramientas de escaneo de secretos. Gitleaks utiliza expresiones regulares y codificación de cadenas de entropía para detectar secretos. Según nuestra experiencia, la flexibilidad para proporcionar expresiones regulares personalizadas junto con la codificación de entropía, permitió a los equipos categorizar mejor los secretos en función de sus necesidades. Por ejemplo, en lugar de categorizar todas las claves de API como "clave de API genérica", permitió su categorización específica como "clave de proveedor de nube".

  • Helmfile Es una herramienta de línea de comandos de código abierto y una especificación declarativa para administrar e instalar una colección de gráficos Helm. Puede usarse para facilitar el control de versiones de los archivos de valores de Helm, los gráficos utilizados y otras personalizaciones. Permite flujos de trabajo de CI/CD con gráficos de Helm y ayuda a crear entornos reproducibles. Usamos Helmfile para administrar despliegues complejos con varias docenas de gráficos de Helm y descubrimos que simplifica el flujo de despliegue.

  • Los defectos son más baratos de reparar cuando se detectan a tiempo. Es por eso que siempre intentamos entregar el feedback lo más rápido posible a los equipos de desarrollo en forma de análisis estático, pruebas unitarias o pruebas end-to-end que se ejecutan en el entorno local. La accesibilidad no es una excepción a esto y es por eso que hemos presentado herramientas como Lighthouse, axe-core y axe Linter en el pasado. Cuando se trata de probar automáticamente páginas web que ya están implementadas en producción, uno de nuestros equipos optó por utilizar IBM Equal Access Accessibility Checker en una comparación directa. Aunque todavía estamos en el proceso de evaluar los resultados, podemos decir que ofrece una forma eficiente de probar las páginas una vez desplegadas. Hacemos hincapié en que esto debe usarse para mejorar, no reemplazar, las primeras pruebas automatizadas por parte del equipo desarrollador. La herramienta se distribuye bajo una licencia Creative Commons y es de uso gratuito bajo esas restricciones.

  • El ecosistema Kotlin sigue evolucionando y nuestros equipos reportan experiencias positivas con Ktlint, un linter y formateador simple y fácil de configurar para código Kotlin. Nos gusta el formateo de código automatizado y dogmático, ya que permite a los desarrolladores centrarse más en lo que hace el código que en cómo se ve; esta herramienta permite a los equipos de desarrollo mantener la consistencia y la legibilidad en sus bases de código de manera eficiente, reduciendo la probabilidad de merges desordenados debido a problemas de formato. Ktlint se puede configurar fácilmente para ejecutarse en hooks de pre-commit, apuntando solo a los archivos con cambios y dando como resultado procesos de integración más rápidos.

  • Kubeflow es una plataforma de aprendizaje automático o machine learning (ML) nativa de Kubernetes que simplifica los ciclos de vida de construcción, capacitación, y despliegue de modelos en diversas infraestructuras. Hemos utilizado ampliamente Pipelines para codificar flujos de ML para varios modelos a través de casos de uso de experimentación, entrenamiento, y servicio. Además de Pipelines, Kubeflow incluye múltiples componentes, entre los que encontramos muy útil el ajuste de hiperparámetros con Katib y multi-tenancy.


  • Mend SCA (software composition analysis), anteriormente Whitesource, ayuda a detectar dependencias de software de código abierto identificando si están actualizadas, contienen fallas de seguridad o tienen requisitos de licenciamiento. Nuestros equipos han tenido una buena experiencia con la integración de Mend SCA en los procesos a producción. Desde la integración con el IDE, generando un PR automático basado en un problema identificado hasta la integración en con la CI/CD, esta herramienta ofrece una excelente experiencia para desarrolladores. Otras herramientas SCA populares, como Snyk, son comparables y también vale la pena explorarlas para sus necesidades de seguridad.

  • Nuestro consejo en lo que respecta a la gestión de secretos siempre ha sido desvincularlo del código original. Sin embargo, los equipos se enfrentan a menudo a la disyuntiva entre la automatización total (con el enfoque de infraestructura como código) y unos pocos pasos manuales (utilizando herramientas como las cajas fuertes) para gestionar, seleccionear y rotar secretos semilla. Por ejemplo, nuestros equipos utilizan SOPS para gestionar las credenciales semilla para arrancar la infraestructura. En algunas situaciones, sin embargo, es imposible eliminar los secretos de repositorios de código heredado. Para tales necesidades, encontramos que Mozilla SOPS es una buena opción para cifrar secretos en archivos de texto. SOPS se integra con almacenes de claves gestionados en la nube como AWS y GCP Key Management Service (KMS) o Azure Key Vault como fuentes de claves de cifrado. También funciona multiplataforma y admite claves PGP.

  • Ruff es un nuevo linter para Python. Para nosotras, la pregunta no es, si usar un linter o no, sino qué linter usar, y en Python hay distintas opciones. Ruff destaca por dos razones: su experiencia "listo para usar" y su velocidad. Tiene más de 500 reglas integradas y reemplaza fácilmente a Flake8, ya que incluye muchos de sus plug-ins. Las afirmaciones del equipo detrás de Ruff sobre su rendimiento se confirman con nuestra experiencia. Realmente, Ruff es al menos en orden de magnitud, más rápido que otros linters, lo cual es un beneficio enorme al ayudar a reducir el tiempo de compilación en grandes bases de código.

  • Soda Core Es una herramienta de observabilidad y calidad de datos de código abierto. Nuestros equipos la han utilizado para validar datos a medida que llegan a un sistema, antes y después de las transformaciones, y configurar controles de seguimiento automatizados para detectar anomalías. Estamos contentos con SodaCL, el DSL para escribir verificaciones de datos en Soda Core, ya que ayuda a otros miembros del equipo, más allá de los ingenieros de datos, a escribir controles de calidad. En general, nuestra experiencia utilizando Soda Core para encontrar y resolver problemas de datos a escala ha sido positiva.

  • Steampipe es una herramienta de código abierto que permite realizar consultas instantáneas mediante SQL a servicios en la nube como AWS, Azure y GCP. Con más de 100 plugins y soporte integrado para la creación de dashboards, Steampipe hace trivial conectar datos de configuración de la nube en vivo con conjuntos de datos internos o externos, así como la creación de dashboards de seguridad o conformidad. Hemos disfrutado trabajando con Steampipe y creando varios de estos dashboards mediante configuraciones en la nube de AWS.

  • Más y más equipos están usando el patrón de Kubernetes Operators para manejar sus clusters de Kubernetes. Antes recomendábamos Crossplane para esto, y ahora tenemos una herramienta alternativa, Terraform Cloud Operator para Kubernetes. Esta herramienta integra Terraform Cloud y Kubernetes al extender el plano de control de Kubernetes para habilitar el manejo del ciclo de vida de infraestructuras en la nube y en las premisas a través de manifiestos de Kubernetes. Nuestro equipo lo utiliza para proveer recursos de namespaces de Kubernetes y RoleBindings a instancias de bases de datos en la nube y otros recursos SaaS. Nos gusta mucho porque aprovecha el módulo de Terraform, que es una capa de abstracción más familiar para operar sobre recursos en la nube.

  • TruffleHog es una herramienta de SAST (pruebas estáticas de seguridad de aplicaciones, por sus siglas en inglés) de código abierto para detectar secretos de diversas fuentes. Si bien repositorios de GitHub y GitLab son el caso de uso más popular, TruffleHog también se puede usar para escanear repositorios en la nube como S3 y GCS, ficheros y directorios locales y logs de CircleCI. Las personas desarrolladoras pueden configurar TruffleHog como un hook pre-commit o escanear el historial de los repositorios existentes en toda una organización de GitHub para detectar secretos. La herramienta permite detectar patrones personalizados de expresiones regulares, lo cual ha resultado ser bastante útil incluso estando en etapa alfa. TruffleHog también tiene una versión empresarial, pero para nuestras personas desarrolladoras la versión de código abierto ha resultado fácil de configurar y suficiente para los casos de uso más comunes. La herramienta tiene una comunidad muy activa que añade nuevas funcionalidades con regularidad.

  • Typesense es un buscador de código abierto, tolerante a errores de tipeo, optimizado para experiencias de búsqueda de baja latencia y alto rendimiento. Si estás construyendo una aplicación de búsqueda en que la latencia es crítica con un tamaño de índice de búsqueda que pueda caber en memoria, Typesense es una alternativa poderosa. Nuestros equipos utilizan Typesense en clústeres multi-nodo de alta disponibilidad para distribuir la carga de trabajo y garantizar que la infraestructura crítica para la búsquedas sea resiliente. Los equipos tuvieron una buena experiencia con Typesense en producción, por lo que lo hemos pasado a Probar.

  • Vite, una herramienta de compilación para el frontend, ha seguido madurando y creciendo en popularidad desde que la presentamos en el anillo Evaluar en el Radar anterior. Se está convirtiendo rápidamente en la opción predeterminada entre nuestros equipos al comenzar un nuevo proyecto frontend. Vite proporciona un conjunto de valores predeterminados para construir, empaquetar y administrar dependencias en aplicaciones basadas en módulos ES para el navegador. Dado que aprovecha la velocidad nativa de esbuild y el empaquetador Rollup, Vite mejora significativamente la experiencia de desarrollo frontend. Además, cuando es usado con React, Vite ofrece una atractiva alternativa al incondicional, pero casi extinto Create React App. Vite se basa en módulos ES y, a diferencia de otras herramientas más antiguas, no proporciona reemplazo de código no soportado en navegadores antiguos como lo hacen librerias de shimming y polyfilling, lo que significa que se requiere de una estrategia diferente para navegadores que no soportan módulos ES. En estos casos, algunos de nuestros equipos importan polyfills a nivel de módulo ES para que Vite pueda de esa manera ser consistente en todos los entornos.

Evaluar ?

  • Cada vez es más fácil para los desarrolladores detectar problemas de accesibilidad en las primeras etapas del proceso de desarrollo. Mientras que herramientas como axe-core escanean el código en busca de problemas de accesibilidad en el pipeline, la extensión de VSCode axe Linter ayuda a encontrarlos incluso antes de eso, mientras se escribe el código. La gran mayoría de los problemas de accesibilidad se clasifican en categorías que podrían evitarse mediante pruebas automatizadas y el uso de linters de retroalimentación en tiempo real como éste.

  • ChatGPT es una herramienta interesante que tiene el potencial de ser de gran utilidad en varios aspectos del proceso de creación de software. Como un Gran Modelo de Lenguaje (LLM por sus siglas en inglés) que ha “leído” miles de millones de páginas web, ChatGPT propone perspectivas nuevas y ayuda en diferentes tareas, desde generar ideas y requisitos hasta escribir código y pruebas. Su habilidad para trabajar en las múltiples partes del ciclo de desarrollo del software la convierte en una herramienta versátil que puede mejorar la eficiencia y reducir los errores durante el proceso de desarrollo. GPT4, el modelo de lenguaje grande que alimenta ChatGPT, tiene ahora la habilidad de integrarse con herramientas externas como repositorios de gestión del conocimiento, entornos aislados de código o búsquedas web. Por ahora, creemos que ChatGPT se usa mejor como el punto de partida de un proceso, por ejemplo, para ayudar a escribir un primer borrador de una historia o un esqueleto para una tarea de codificación, que para producir resultados completamente “horneados”.

    Existen preocupaciones alrededor de la propiedad intelectual y la privacidad de los datos con estas herramientas de IA, incluyendo algunas cuestiones legales no resueltas, por lo que recomendamos a las organizaciones que se dejen asesorar por sus equipos legales antes de usarlo. Algunos de nuestros clientes ya han empezado a experimentar con ChatGPT en varias fases del ciclo de vida del software, y recomendamos explorar la herramienta para valorar sus posibles beneficios. Esperamos que, como GitHub Copilot, pronto dispondrá de una oferta “para empresas” que pueda mitigar dichas preocupaciones sobre la propiedad intelectual.

  • DataFusion es parte de la exploración llevada a cabo por parte de la comunidad de datos de Rust sobre el rendimiento, seguridad de la memoria y funciones de concurrencia aplicadas al procesamiento de datos. Comparte similitudes con Polars como son una familiar API DataFrame en Rust (con enlaces de Python), el uso de Apache Arrow bajo el capó y compatibilidad con SQL. Si bien está diseñado principalmente para la ejecución de un solo proceso, el soporte de procesamiento distribuido está en desarrollo dentro de Ballista. Creemos que las bibliotecas de Rust para el procesamiento de datos son un espacio en evolución que vale la pena seguir y explorar, y DataFusion es parte de él.

  • A medida que el aprendizaje automático se abre camino en la comunidad, las prácticas están creciendo en torno a modelos de pruebas automatizadas, validación de los datos de entrenamiento y modelos de observabilidad del rendimiento en producción. Cada vez más, estas verificaciones automatizadas están siendo integradas en procesos de entrega continua o se ejecutan contra modelos de producción para medir el rendimiento de dichos modelos y detectar desviaciones. Han surgido algunas herramientas con capacidades parecidas o que se superponen para gestionar distintos pasos de este proceso (Giskard y Evidently también se han incluido en este volumen). Deepchecks es otra de estas herramientas que está disponible como biblioteca Python de código abierto y puede ser invocada desde el código del pipeline a través de un amplio conjunto de APIs. Una característica exclusiva de esta herramienta es su capacidad para manejar datos tanto tabulares como de imágenes, con un módulo para datos lingüísticos que actualmente se encuentra en fase alfa. Por el momento, ninguna herramienta puede gestionar por sí sola la variedad de pruebas y controles de seguridad de todo el proceso de ML. Recomendamos evaluar Deepchecks para su nicho de aplicación en particular.

  • Los tokens de diseño son un mecanismo útil para definir elementos estándar en sistemas de diseño. Pero mantener dichos elementos de diseño consistentes a lo largo de diferentes medios como aplicaciones móviles o frameworks web es una tarea que se vuelve cada vez más formidable. Las herramientas de traducción de tokens de diseño simplifican este problema organizando y automatizando la transformación desde la descripción del token (en YAML o JSON) al código que realmente controla su representación en un determinado medio como CSS, componentes de React o HTML. Style Dictionary es un ejemplo open-source ampliamente usado y que se integra bien en pipelines de compilación, pero también hay alternativas comerciales como Specify.

  • Devbox proporciona una interfaz accesible para crear entornos de desarrollo reproducibles por proyecto aprovechando el administrador de paquetes Nix. Nuestros equipos lo utilizan para eliminar los conflictos de versión y configuración en sus entornos de desarrollo, y les gusta por su facilidad de uso. Devbox admite shell hooks, scripts personalizados y generación de devcontainer.json para la integración con VSCode.

  • Evidently es una herramienta open source basada en Python para ayudar al monitoreo de construcción de modelos de machine learning que garanticen su calidad y su estabilidad en operaciones en producción. Puede ser utilizada en varias etapas del ciclo de vida del modelo: como un panel para revisar el modelo en un notebook, como parte de un pipeline o como un servicio de monitoreo después del despliegue. Con un foco particular en detectar la deriva del modelo, Evidently también ofrece funcionalidades como calidad del modelo, inspección de la calidad del dato y la detección de desvíos del modelo (model drift). Adicionalmente, tiene incorporadas muchas métricas, visualizaciones asociadas y tests que pueden ser fácilmente combinados en un informe, panel o un pipeline orientado a tests.

  • Giskard Es una herramienta de código abierto diseñada para ayudar a las organizaciones a crear modelos de IA más sólidos y éticos; al proporcionar funcionalidades para garantizar la calidad haciendo foco en la explicabilidad y la equidad. Facilita la cooperación entre las partes interesadas, tanto técnicas como no técnicas, lo que les permite evaluar modelos de forma colaborativa y establecer criterios de aceptación basados ​​en la prevención de sesgos y otras métricas esenciales de calidad. Giskard garantiza que los resultados del modelo estén mejor alineados con los objetivos comerciales y ayuda a resolver problemas de calidad antes del despliegue en producción.

  • GitHub Copilot es un asistente de inteligencia artificial (IA) para código, fue creado de manera colaborativa entre Microsoft y OpenAI. Utiliza modelos de ML o aprendizaje automático para generar sugerencias basadas en el contexto en el que se encuentra trabajando la persona desarrolladora. Cuenta con una sólida integración con IDEs y utiliza una base de código existente y un contexto de editor para crear sugerencias. A pesar de ser catalogado como "tu pareja de programación de IA", no podemos decir que hace "pairing", probablemente lo describiríamos como una especie de Stack Overflow sobrecargado y sensible al contexto. Cuando predice correctamente lo que un desarrollador está tratando de hacer, puede ser una herramienta poderosa para hacer las cosas. Sin embargo, como todas las IA basadas en modelos de lenguaje de gran tamaño (Large Language Models), tiene una tendencia a alucinar con el uso de API posibles pero inexistentes y puede introducir errores a través de algoritmos ligeramente defectuosos. Hemos tenido éxito en la generación de código a nivel de línea, bloque y método, así como en la creación de pruebas o configuraciones de infraestructura. Curiosamente, funciona mejor cuando utilizas buenas prácticas de nombres, por lo que promueve un código más comprensible.

    Las capacidades de las herramientas de IA avanzan rápidamente y creemos que es sensato que las organizaciones las prueben. Algunos argumentos de venta a favor de Copilot afirman ganancias en eficiencia muy altas, pero seguimos escépticos: después de todo, escribir código no es lo único a lo que los desarrolladores dedican su tiempo, y es claramente difícil medir la productividad del desarrollador en primer lugar. Dicho esto, Copilot es una herramienta bastante económica; si ofrece alguna ganancia de productividad, probablemente valga la pena. Copilot X, -en versión preliminar al momento de escribir este texto-, ofrece funcionalidades e integración adicionales dentro de un flujo de creación de software. Copilot tiene una oferta "para empresas" que provee más claridad sobre los problemas de propiedad intelectual, así como la capacidad de administrar las funciones de las herramientas de forma centralizada en toda la organización. Creemos que estas características son críticas para su adopción empresarial.

  • Crear justo las mínimas politicas AWS IAM viables que necesitamos, de acuerdo con el principio de mínimo privilegio, puede ser un largo camino de ensayo y error. iamlive puede acortar ese camino considerablemente, ya que monitorea las llamadas de AWS CLI hechas desde una máquina y determina las políticas necesarias para ejecutar dichas llamadas. La herramienta genera un documento de políticas con declaraciones, acciones, principios, y recursos que pueden ser usados como un buen punto de partida. Hemos encontrado que es particularmente útil para crear las políticas necesarias en las pipelines CI/CD que aprovisionan la infraestructura, reduciendo las típicas idas y venidas que se dan tras un fallo de Terraform cuando una política de roles IAM es insuficiente.

  • Medir el consumo de energía es un paso importante para que los equipos reduzcan la huella de carbono de su software. Cloud Carbon Footprint (CCF) estima la energía en base a los datos de facturación y uso recuperados de las APIs de la nube. Kepler — acrónimo de Kubernetes-based Efficient Power Level Exporter: Exportador de niveles de energía eficiente basado en Kubernetes) — va un paso más allá: usa contadores de software por medio de RAPL, ACPI y nvml para medir el consumo de energía por recursos de hardware y emplea un enfoque basado en eBPF para atribuir el consumo de energía a procesos, containers y pods de Kubernetes. El consumo de energía luego se convierte en estimaciones de energía usando un modelo de ML personalizado y datos provenientes de SPEC Power benchmark. Finalmente, los reportes de consumo de energía a nivel de pods están disponibles como métricas de Prometheus. En los casos en que Kubernetes se ejecuta en máquinas virtuales, por ejemplo, cuando no se usan instancias físicas, Kepler usa cgroups para estimar el consumo de energía. Tenemos gran experiencia con CCF y podemos dar constancia de su utilidad, pero estamos intrigados por el enfoque que le ha dado el proyecto Kepler.

  • El Agente de Secretos Externos de Kubernetes permite a proveedores de secretos externos integrarse con Kubernetes. Lee de la API del proveedor externo e inyecta el resultado en un Secreto de Kubernetes. El agente trabaja con una amplia variedad de herramientas de gestión de secretos, incluyendo algunos que hemos incluido en ediciones previas del Radar. Nuestros equipos han encontrado una gran simplificación en el uso de los secretos cuando trabajan con Kubernetes al permitir el uso de un único almacenamiento para todo el proyecto.

  • Kubeshark es un visualizador de tráfico de APIs para Kubernetes. Hasta Noviembre del 2022 era conocido como Mizu. A diferencia de otras herramientas, Kubeshark no requiere instrumentación o cambios en el código. Se ejecuta como un DaemonSet para inyectar un container a nivel de nodo en el clúster de Kubernetes y realizar operaciones como tcpdump. La encontramos una herramienta útil para debuggear, ya que puede observar todas las comunicaciones dentro de la API a través de múltiples protocolos (REST, gRPC, Kafka, AMQP y Redis) en tiempo real.

  • La gestión del conocimiento es crítica para las tecnologistas, ya que necesitamos estar aprendiendo y actualizándonos constantemente con lo último en tecnología. Recientemente, algunas herramientas como Obsidian y Logseq han aparecido en la categoría de herramientas para tomar notas que permiten enlazarlas para formar un grafo de conocimiento, al tiempo que las almacenan en archivos markdown planos en un directorio local, permitiendo así que los usuarios sean dueños de su data. Estas herramientas ayudan a los usuarios a organizar y enlazar sus notas de manera flexible y no lineal.

    Obsidian tiene un repositorio rico en plugins de la comunidad. Algunos que han captado nuestra atención particularmente, son Canvas, que es parecido a tener una versión local de Miro o Mural, y Dataview, que efectivamente trata tus notas como una base de datos y ofrece un lenguaje de consulta para filtrar, ordenar y extraer datos de ellas.

  • Ya hemos evaluado Ory Hydra como una solución OAuth2 “self-hosted”, y los comentarios de los equipos han sido buenos. Esta vez, nos volvemos hacia Ory Kratos, un sistema de gestión de identidades y usuarios basado fundamentalmente en un API que es amigable para el equipo desarrollador y fácilmente personalizable. Proporciona funciones comunes que querríamos tener en un sistema de gestión de identidades, incluyendo autoservicio de login y registro, autenticación multifactor (MFA/2FA), verificación y recuperación de cuenta. Al igual que Hydra, Kratos carece de interfaz de usuario y precisa que los equipos de desarrollo construyan su propia IU, lo que proporciona mayor flexibilidad al equipo. Los equipos de desarrollo también pueden personalizar el esquema de identidad para ajustarlo a diferentes contextos de negocio. Kratos no tiene dependencias externas aparte de la base de datos, y es fácil de desplegar y escalar en diferentes entornos de cloud. Si tienes que construir un sistema de gestión de usuarios, te recomendamos que pruebes Kratos.

  • Aunque los ejecutores de GitHub Actions cubren una amplia gama de los entornos de ejecución más comunes, a veces se necesita algo más específico para casos particulares, como un entorno de ejecución de un lenguaje menos común o o una configuración de hardware específica. En estas situaciones funciona mejor un ejecutor auto alojado. El ejecutor auto alojado para GitHub de Philips es un módulo de Terraform que permite levantar ejecutores personalizados en instancias spot de AWS EC2. Al auto alojar ejecutores se pierde parte de la gestión del ciclo de vida de GitHub Actions, por lo que el módulo crea una serie de Lambdas para contrarrestarlo. También se encarga de escalar los ejecutores según necesidad, lo cual contribuye a gestionar costos y permite que los ejecutores sean efímeros, una buena práctica que mejora la repetibilidad y la seguridad. Al auto alojar ejecutores hay muchas cosas que se pueden pasar por alto si se construye de cero, por lo que herramientas como ésta pueden facilitar la tarea.

Resistir ?

 
  • tools quadrant with radar rings Adoptar Probar Evaluar Resistir Adoptar Probar Evaluar Resistir
  • Nuevo
  • Modificado
  • Ningún cambio

¿No encontraste algo que esperabas ver?

 

Cada edición del Radar presenta noticias que reflejan lo que hemos encontrado durante los seis meses anteriores. Es posible que ya hayamos cubierto lo que busca en un Radar anterior. A veces seleccionamos cosas simplemente porque hay demasiadas de las que hablar. También es posible que falte algún dato porque el Radar refleja nuestra experiencia, no se basa en un análisis exhaustivo del mercado.

¿No encontraste algo que esperabas ver?

 

Cada edición del Radar presenta noticias que reflejan lo que hemos encontrado durante los seis meses anteriores. Es posible que ya hayamos cubierto lo que busca en un Radar anterior. A veces seleccionamos cosas simplemente porque hay demasiadas de las que hablar. También es posible que falte algún dato porque el Radar refleja nuestra experiencia, no se basa en un análisis exhaustivo del mercado.

Descargar Radar Tecnológico Volumen 28

 

English | Español | Português | 中文

Mantente informado sobre la tecnología

 

Suscríbete ahora

Visita nuestro archivo para leer los volúmenes anteriores