Menú

Herramientas

Adoptar?

  • Cypress continúa siendo una de las herramientas favoritas de nuestros equipos cuando los desarrolladores implementan y mantienen pruebas end-to-end, como parte de una pirámide de pruebas saludable. Decidimos mencionarlo nuevamente en este Radar porque las últimas versiones de Cypress han añadido soporte paraFirefox e insistimos en realizar pruebas en varios navegadores ya que el dominante uso de Chrome y de navegadores basados en Chromium ha llevado a la preocupante tendencia de que algunos equipos solo ejecuten sus pruebas en Chrome, lo que puede llevar a desagradables sorpresas.

    Historia
  • Figma ha demostrado ser una herramienta confiable para el diseño colaborativo, no solo para diseñadores, sino también para equipos multidisciplinarios. Permite a las personas desarrolladora y a otros roles ver y comentar los diseños a través de una interfaz web sin necesidad de instalar ninguna aplicación. En comparación con sus competidores (por ejemplo, Invision o Sketch), que necesitan de herramientas adicionales para versionamiento, colaboración y el intercambio de diseños, Figma provee todas estas características en una sola herramienta, permitiendo a nuestros equipos descubrir nuevas ideas juntos de forma sencilla. Nuestros equipos encuentran que Figma es también muy útil para actividades de diseño distribuido y remoto. Además de sus capacidades para el diseño en tiempo real y para la colaboración, Figma ofrece un API que ayuda a mejorar el proceso de DesignOps.

    Historia

Probar?

  • Hace unos años, Docker, y los contenedores en general, cambiaron radicalmente la manera en que empaquetamos, desplegamos y ejecutamos nuestras aplicaciones. A pesar de esta mejora en producción, las personas desarrolladoras todavía gastan mucho tiempo configurando los ambientes de desarrollo y a menudo suceden problemas del tipo “pero funciona en mi máquina”. El objetivo de Dojo es arreglar esto creando ambientes de desarrollo estándar, versionados y publicados como imágenes de Docker. Varios de nuestros equipos ya lo utilizan para racionalizar y simplificar el desarrollo, la ejecución de pruebas y la compilación del código desde el ambiente local y a través de las líneas de producción.

    Historia
  • En el 2018 mencionamos a DVC junto con el versionamiento de datos para analíticas reproducibles. Desde entonces se ha convertido en la herramienta favorita para gestionar experimentos en proyectos de aprendizaje automático (machine learning, ML). Ya que se encuentra basado en Git, DVC es un ambiente familiar para las personas desarrolladoras de software que llevan sus costumbres de ingeniería a la práctica de ML. Puesto que versiona el código que procesa datos junto con los mismos datos y monitorea los estados en un pipeline, ayuda a ordenar las actividades de modelado sin interrumpir el flujo de trabajo de los analistas.

    Historia
  • El trabajo diario del aprendizaje automático a menudo se reduce a una serie de experimentos para seleccionar un enfoque de modelamiento y de la topología de la red, datos para el entrenamiento y la optimización o ajuste de dicho modelo. Los científicos de datos deben usar la experiencia y la intuición para hipotetizar cambios, y luego medir el impacto de los mismos en el rendimiento general del modelo. A medida que esta práctica ha madurado, nuestros equipos han visto la creciente necesidad de adoptar herramientas para el seguimiento de experimentos de aprendizaje automático. Estas herramientas ayudan a los investigadores a mantener una continuidad de los experimentos y trabajarlos metódicamente. A pesar de que no ha surgido una clara herramienta ganadora, existen alternativas como MLflow y plataformas como Comet o Neptune que han introducido rigor y repetibilidad en todo el flujo de trabajo de aprendizaje automático.

    Historia
  • Hemos mencionado a Goss, una herramienta para pruebas de aprovisionamiento, en radares pasados, por ejemplo, cuando describimos la técnica TDD'ing contenedores. Aunque Goss no es siempre la alternativa a Serverspec, simplemente porque no ofrece la misma cantidad de funcionalidades, podrías querer considerarla, cuando sus funcionalidades satisfagan tus necesidades, especialmente porque viene como un artefacto binario pequeño y auto contenido (en lugar de requerir un entorno Ruby). Un anti-patrón común al usar herramientas como Goss es la doble modificaciones de código, donde cada cambio en los archivos de la infraestructura como código actual requiere un correspondiente cambio en las validaciones de las pruebas. Tales pruebas son pesadas de mantener y debido a la correspondencia entre el código y las pruebas, la mayoría de las fallas ocurren cuando un ingeniero actualiza un lado y olvida el otro. Y estas pruebas raramente capturan problemas genuinos.

    Historia
  • Jaeger es un sistema de rastreo distribuido de código abierto. Al igual que Zipkin, ha sido inspirado por el documento de Google Dapper y cumple con OpenTelemetry. Nosotros hemos usado con éxito Jaeger con Istio y Envoy en Kubernetes y nos gusta su interfaz de usuario. Jaeger expone métricas de rastreo en el formato Prometheus para que puedan estar disponibles para otras herramientas. Sin embargo, una nueva generación de herramientas, como Honeycomb, integran rastreo y métricas en un mismo flujo de observabilidad para tener un análisis agregado más simple. Jaeger se unió a CNCF en 2017 y recientemente ha sido elevado al nivel más alto de madurez de la CNCF, lo que indica su despliegue extendido en sistemas en producción.

    Historia
  • Seguimos siendo fervientes partidarios de la infraestructura cómo código y creemos que una solución de monitoreo robusta es un prerrequisito para la operación de aplicaciones distribuidas. En ocasiones, una herramienta interactiva como la consola web de AWS puede ser una adición muy útil. Nos permite explorar todo tipo de recursos en una forma ad-hoc, sin tener que recordar oscuros comandos. Sin embargo utilizar una herramienta interactiva para hacer cambios manuales sobre la marcha, es todavía una práctica cuestionada. Para Kubernetes, tenemos ahora k9s, una herramienta que provee una interfaz interactiva para básicamente todo lo que kubectl puede hacer. Y para empezar, no es una aplicación web, sino que se ejecuta dentro de una ventana de la terminal, evocando, para algunas personas, buenos recuerdos de Midnight Commander.

    Historia
  • kind es una herramienta para la ejecución local de clusters de Kubernetes usando nodos de contenedores Docker. Con la integración de kubetest, kind hace fácil la realización de pruebas de extremo a extremo (end-to-end) sobre Kubernetes. Hemos utilizado kind para crear clusters de Kubernetes efímeros para probar recursos de Kubernetes como Operadores y Definiciones de Recursos Personalizadas (CRDs) en nuestros pipelines de integración continua.

    Historia
  • mkcert es una buena herramienta para crear certificados de desarrollo confiables en el ambiente local. El uso de certificados otorgados por autoridades de certificación reales (Certificate Authorities, CAs) para el desarrollo local puede ser difícil e incluso imposible (para servidores tales como example.test, localhost o 127.0.0.1). En dichas situaciones, los certificados auto-firmados pueden ser la única opción. mkcert permite generar certificados auto-firmados e instala el CA local en el almacén de certificados raíz del sistema. Para cualquier otro ambiente diferente a desarrollo y pruebas locales, definitivamente se recomienda el uso de certificados de CAs reales para evitar problemas de confianza.

    Historia
  • MURAL se describe a sí misma como "un espacio de trabajo digital para la colaboración visual" y permite a los equipos interactuar en un espacio de trabajo compartido basado en la metáfora del tablero (pizarra) y notas adhesivas. Entre sus características se incluyen votaciones, comentarios, notas y la capacidad de "seguir" a quien está presentando. Nos gusta particularmente la capacidad de utilizar plantillas, que permite al facilitador diseñar y reutilizar sesiones guiadas con un equipo. Todos los paquetes de colaboración más importantes tienen una herramienta en este espacio (por ejemplo, Google Jamboard y Microsoft Whiteboard) y vale la pena probarlas, pero hemos comprobado que MURAL es veloz, efectiva y flexible.

    Historia
  • Open Policy Agent (OPA) se ha convertido rápidamente en un componente aconsejable de muchas soluciones distribuidas nativas en la nube que construimos para nuestros clientes. OPA brinda un marco de trabajo uniforme y un lenguaje para declarar, imponer, y controlar políticas para varios componentes en una solución nativa en la nube. Es un buen ejemplo de una herramienta que implementa políticas de seguridad como código. Hemos tenido una experiencia fluida usando OPA en múltiples escenarios, incluyendo el despliegue de recursos a clusters de K8s, imponiendo control de acceso a través de servicios en una malla de servicios y controles de seguridad minuciosos como código para acceder a recursos de aplicación. Una oferta comercial reciente, Servicio de Autorización Declarativa de Styra (Declarative Authorization Service - DAS), facilita la adopción de OPA para compañías mediante la inclusión de una herramienta de gestión, o plano de control, a OPA para K8s con una librería de políticas pre-construida, análisis de impacto de las políticas y capacidad para monitoreo de logs. Anhelamos la madurez y extensión de OPA más allá de servicios operacionales a soluciones centradas en (grandes) datos.

    Historia
  • La investigación de experiencia de usuario (UX) requiere de la recopilación de datos y el análisis de los mismos para tomar mejores decisiones sobre los productos que se deben construir. Nuestros equipos encuentran útil a la herramienta Optimal Workshop porque facilita la validación de prototipos y la configuración de pruebas para la captura de datos y así tomar buenas decisiones. Características como el primer click, clasificación de contenidos o un mapa de calor de la interacción del usuario ayudan a validar los prototipos, para mejorar la navegación y visualización del sitio web. Es una herramienta ideal para equipos distribuidos, ya que permite conducir la investigación de forma remota.

    Historia
  • Como se mencionó en nuestro resumen sobre Crowdin, ahora existe la opción de usar plataformas para gestionar la traducción de un producto a varios idiomas en lugar de enviar por correo electrónico grandes hojas de cálculo. Hemos recibido de nuestros equipos experiencias favorables con Phrase, recalcando en que es fácil de usar para todos los grupos de usuarios. Para quienes traducen, presenta una interfaz de usuario sencilla que corre en el navegador. Las personas desarrolladoras pueden acceder a Phrase localmente y desde el pipeline de compilación. Una característica que merece la pena destacar es la capacidad de versionar las traducciones a través de etiquetas, lo que hace posible comparar el resultado de diferentes traducciones dentro del producto real.

    Historia
  • ScoutSuite es una herramienta ampliada y actualizada basada en Scout2 (presentado en el Radar en 2018) que proporciona una evaluación de la postura de seguridad en AWS, Azure, GCP y otros proveedores de la nube. Funciona agregando automáticamente datos de configuración para un ambiente y aplicando reglas para auditar el mismo. Hemos encontrado esto muy útil en diversos proyectos para realizar evaluaciones de seguridad en un punto en el tiempo.

    Historia
  • Desde que en 2014 mencionamos por primera vez a las herramientas de pruebas de regresión visual , el uso de la técnica se ha difundido y el conjunto de herramientas ha evolucionado. BackstopJS sigue siendo una excelente opción que está adquiriendo nuevas funcionalidades con regularidad, incluyendo el soporte para ser ejecutada dentro de contenedores Docker. Loki apareció en nuestro último Radar. Applitools, CrossBrowserTesting y Percy son soluciones SaaS. Otra notable mención es Resemble.js, una biblioteca que permite la detección de diferencias en imágenes. Aunque la mayoría de equipos la usan indirectamente como parte de BackstopJS, algunos la utilizan directamente para analizar y comparar imágenes de sitios web. En general, nuestra experiencia muestra que las herramientas de regresión visual son menos útiles en las fases iniciales del desarrollo, cuando la interfaz pasa por cambios significativos, pero definitivamente muestran su valor cuando el producto madura y la interfaz se estabiliza.

    Historia
  • Visual Studio Live Share es un paquete de extensiones para Visual Studio Code y Visual Studio. En un momento en el que los equipos buscan buenas opciones para la colaboración remota, queremos destacar esta excelente herramienta. Live Share provee una buena experiencia para trabajo en pares de forma remota, con bajas latencias, y requiere mucho menos ancho de banda que el enfoque de fuerza bruta de compartir el escritorio entero. Es de resaltar que las personas desarrolladoras pueden trabajar con sus configuraciones, extensiones y mapas de teclas preferidas durante una sesión de trabajo en pareja. Además de la colaboración en tiempo real para editar y depurar código, Live Share permite la realización de llamadas de voz y la compartición de terminales y servidores.

    Historia

Evaluar?

  • Apache Superset es una herramienta de Inteligencia de Negocio (BI, por sus siglas en inglés) para explorar y visualizar datos, excelente para trabajar con grandes configuraciones de data lake y data warehouse. Funciona, por ejemplo, con Presto, Amazon Athena y Amazon Redshift y además puede integrarse con soluciones empresariales de autenticación. Más aún, no se necesita ser alguien enfocado en la ingeniería de datos para utilizar Superset, la herramienta busca beneficiar a todos quienes realizan ingeniería en su trabajo diario de exploración de datos. Cabe recalcar que Apache Superset está actualmente en período de incubación en la Apache Software Foundation (ASF), lo que significa que aún no es respaldada totalmente por la ASF.

    Historia
  • Los estándares abiertos son uno de los pilares fundacionales para la construcción de sistemas distribuidos. Por ejemplo, la especificación OpenAPI (anteriormente Swagger), como un estándar de la industria para definir APIs RESTful, ha sido crucial para el éxito de arquitecturas distribuidas como los microservicios. Ha permitido la proliferación de herramientas que soportan la construcción, prueba y monitoreo de las APIs RESTful. Sin embargo, una estandarización similar ha seguido faltando para sistemas distribuidos que implementan APIs dirigidas por eventos.

    AsyncAPI es una iniciativa de código abierto para crear la tan necesaria estandarización para APIs asíncronas y dirigidas por eventos, y para desarrollar las herramientas necesarias. La especificación de AsyncAPI, inspirada en la especificación de OpenAPI, describe y documenta las APIs dirigidas por eventos en un formato legible por máquina. Es agnóstica a los protocolos, por lo que puede utilizarse para APIs que trabajan sobre múltiples protocolos, incluyendo MQTT, WebSockets y Kafka. Estamos ansiosos de ver la evolución continua de AsyncAPI y la madurez de su ecosistema de herramientas.

    Historia
  • Si estás buscando un servicio que te permita implementar feature toggles dinámicos (teniendo en cuenta que un feature toggle simple también funciona bien), revisa ConfigCat. Lo podemos describir como “similar a LaunchDarkly pero más barato y algo menos sofisticado” y encontramos que ofrece gran parte de lo que necesitamos. ConfigCat soporta feature toggles simples, segmentación de usuarios, y pruebas A/B. Además, tiene un generoso plan gratuito para casos de uso de bajo volumen o para aquellos que están recién empezando.

    Historia
  • La mayoría del software se puede compilar siguiendo un sencillo proceso de dos pasos: obtener una copia (check out) de un repositorio y después ejecutar un único script de construcción. Sin embargo, el proceso de configurar un entorno de programación completo puede ser incómodo. Gitpod soluciona este problema proporcionando entornos basados en la nube, listos para programar, para repositorios de Github o GitLab. Ofrece un IDE basado en Visual Studio Code que se ejecuta dentro del navegador web. Por defecto, estos entornos se lanzan en Google Cloud Platform, aunque también se pueden desplegar en servidores locales. Vemos el atractivo inmediato, especialmente para proyectos de software de código abierto en los que esta aproximación puede bajar la barrera de entrada para quienes contribuyen ocasionalmente. Sin embargo, queda por ver cuán viable será esta aproximación en entornos corporativos.

    Historia
  • Con la creciente adopción de Kubernetes y malla de servicios, los API gateways han experimentado una crisis existencial en los sistemas distribuidos cloud-native. Después de todo, muchas de sus capacidades (tales como control de tráfico, seguridad, enrutamiento y observabilidad) son ofrecidas ahora por el controlador de entrada del cluster y el gateway de la malla (mesh gateway). Gloo es una API gateway ligera que incorpora este cambio; utiliza Envoy como su tecnología de gateway, mientras provee valor añadido, como por ejemplo ofreciendo una vista coherente de las APIs a usuarios externos y aplicaciones. También provee una interfaz de administración para controlar los gateways de Envoy y puede correr e integrarse con multiples implementaciones de service mesh como Linkerd, Istio y AWS App Mesh. Aunque su implementación de código abierto provee todas las capacidades básicas que se puede esperar de una API gateway, su edición corporativa tiene un conjunto más maduro de controles de seguridad, como gestión de claves de API o integración con OPA. Gloo es una prometedora API gateway ligera que puede integrarse bien con el ecosistema de tecnologías y arquitecturas cloud-native, mientras evita la mala práctica de usar los API gateway para alojar lógica de negocio uniendo APIs para el usuario final.

    Historia
  • Una de las fortalezas de Kubernetes es su flexibilidad y rango de posibilidades de configuración junto con los mecanismos de configuración programables, controlados por APIs, y la visibilidad y el control por linea de comandos usando archivos de manifiesto. Sin embargo, esa fortaleza puede ser también una debilidad: cuando los despliegues son complejos o cuando se administran varios clusters, puede ser difícil obtener una imagen clara del estado general solamente a través de argumentos de la línea de comando y archivos de manifiesto. Lens intenta resolver este problema con un ambiente integrado para observar el estado actual del cluster y sus cargas de trabajo, visualizando métricas y cambiando configuraciones a través de un editor de texto integrado. Más que una simple interfaz, Lens reúne las herramientas que un administrador ejecutaría desde una línea de comandos en una única interfaz web navegable. Esta herramienta es uno de los varios enfoques que intentan disminuir la complejidad de la gestión de Kubernetes. Todavía no hemos visto un claro ganador en este espacio, pero Lens logra un equilibrio interesante entre una interfaz gráfica de usuario y herramientas de línea de comandos.

    Historia
  • Manifold es un depurador visual independiente del modelo para aprendizaje automático. Las personas desarrolladoras de modelos de aprendizaje automático invierten gran cantidad de tiempo en iterar un modelo ya existente para mejorarlo en vez de crear uno nuevo. Al cambiar el enfoque del espacio del modelo al espacio de datos, Manifold complementa las métricas de rendimiento ya existentes con las características visuales del conjunto de datos que influyen en el rendimiento del modelo. Creemos que Manifold será una herramienta útil a evaluar dentro del ecosistema de aprendizaje automático.

    Historia
  • La creación de aplicaciones web para que se vean exactamente como se espera en una gran cantidad de dispositivos y tamaños de pantalla puede ser engorrosa. Sizzy es una solución SaaS que muestra muchas ventanas gráficas (viewport) en una sola ventana del navegador. La aplicación se presenta en todas las ventanas gráficas simultáneamente y las interacciones con la aplicación también se sincronizan a través de todas ellas. En nuestra experiencia, interactuar con una aplicación de esta manera puede facilitar la detección de posibles problemas de manera temprana, antes de que las herramientas de pruebas de regresión visual encuentren el problema en el pipeline. Sin embargo, debemos mencionar que algunas personas que probaron Sizzy durante un tiempo prefirieron, en general, trabajar con las herramientas de desarrollo proporcionadas por Chrome.

    Historia
  • Snowpack es un nuevo e interesante jugador en el terreno de las herramientas de construcción para JavaScript. La mejora clave por sobre el resto de soluciones es que Snowpack permite construir aplicaciones con tecnologías modernas como React.js, Vue.js y Angular sin la necesidad de un empaquetador (bundler). Retirar el paso de empaquetado, reduce de forma sustancial el ciclo de retroalimentación durante el desarrollo, porque los cambios se muestran en el navegador casi inmediatamente. Para que esto funcione, Snowpack transforma las dependencias de node_modules en archivos JavaScript individuales dentro de un nuevo directorio web_modules, desde el cual se pueden importar como módulos de ECMAScript (ESM). Existen soluciones alternas para IE11 y otros navegadores que no soportan ESM. Desafortunadamente, ya que en la actualidad ningún navegador puede importar CSS desde JavaScript, el uso de módulos CSS no es sencillo.

    Historia
  • La seguridad es una preocupación de todos y capturar riesgos temprano siempre es mejor que enfrentar problemas más adelante. En el contexto de la infraestructura como código, donde Terraform es una elección obvia para administrar ambientes en la nube, ahora tenemos a tfsec, que es una herramienta de análisis estático que ayuda a escanear plantillas de Terraform y encontrar cualquier potencial problema de seguridad. Viene con reglas predefinidas para distintos proveedores de la nube incluyendo a AWS y Azure. Siempre nos gustan las herramientas que ayudan a mitigar riesgos de seguridad, y tfsec no solo se destaca en la identificación de riesgos de seguridad, sino que es también fácil de instalar y de usar.

    Historia

Resistir?

    ¿No encuentras aquello que querías ver?

    Cada edición del radar incluye blips que contienen la información encontrada durante los últimos seis meses. Es posible que ya hayamos incluido el tema que estás buscando en radares anteriores. Hay veces que omitimos algunos temas debido a que hay demasiado de que hablar. O también, puede faltar algo debido a que en el radar buscamos reflejar nuestra experiencia, no lo basamos en un análisis exhaustivo del mercado.

    Nuevo,Modificado,Ningún cambio