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

Herramientas

Adoptar ?

  • Para nuestros proyectos en los que usamos Terraform, tfsec se ha convertido rápidamente en una herramienta de análisis estático predeterminada para detectar potenciales riesgos de seguridad. Es fácil de integrar en un CI pipeline y tiene una librería en crecimiento de verificaciones contra todos los principales proveedores y plataformas de la nube como Kubernetes. Dado que es sencillo de usar, creemos que tfsec podría ser una buena adición para cualquier proyecto de Terraform.

Probar ?

  • AKHQ es una interfaz de usuario para Apache Kafka que permite administrar topics, información sobre los topics, grupos de consumidores y mucho más. Algunos de nuestros equipos han encontrado a AKHQ como una herramienta efectiva para mirar en tiempo real el estado de su aplicación Kafka. Puedes, por ejemplo, buscar los distintos topics dentro de tu grupo. Por cada topic, puedes visualizar el nombre, el número de mensajes almacenados, el espacio de disco usado, el tiempo del último registro, el número de particiones, el factor de replicación con la cantidad de in-sync y el grupo de consumidores. Con opciones de deserialización para Avro y Protobuf, AKHQ puede ayudarte a entender el flujo de información en tu aplicación Kafka.

  • cert-manager es una herramienta para administrar los certificados X.509 dentro de tu cluster de Kubernetes. Modela certificados y emisores como tipos de recursos de primera clase y provee certificados como servicio de manera segura a los desarrolladores y aplicaciones que se ejecutan dentro del cluster de Kubernetes. La opción obvia cuando se utiliza el controlador ingress predeterminado de Kubernetes, también se recomienda para otros y es preferible por sobre el despliegue de tu propia gestión manual de certificados. Varios de nuestros equipos han estado utilizando cert-manager ampliamente y también hemos comprobado que su usabilidad ha mejorado mucho en los últimos meses.

  • Cloud Carbon Footprint (CCF) es una herramienta de código abierto que utiliza APIs en la nube para proporcionar visualizaciones de emisiones de carbono estimadas en función del uso de AWS, GCP y Azure. El equipo de Thoughtworks ha usado con éxito la herramienta con varias organizaciones, incluyendo empresas de tecnología energética, minoristas, proveedores de servicios digitales y empresas que utilizan AI. Los proveedores de plataformas en la nube se dan cuenta de que es importante ayudar a sus clientes a comprender el impacto de carbono del uso de sus servicios, por lo que han comenzado a crear una funcionalidad similar por su cuenta. Debido a que CCF es independiente de la nube, permite a los usuarios ver el uso de energía y las emisiones de carbono de múltiples proveedores de nube en un solo lugar, al tiempo que muestra las huellas de carbono en un impacto en el mundo real, como vuelos o árboles plantados.

    En versiones recientes, CCF comenzó a incluir recomendaciones de optimización de Google Cloud y AWS junto con ahorros potenciales de energía y CO2, así como para admitir más tipos de instancias en la nube, como instancias de GPU. Dada la tracción que ha recibido la herramienta y la adición continua de nuevas características, nos sentimos confiados en trasladarla a la versión de prueba.

  • Conftest es una herramienta para escribir pruebas usando datos de configuración estructurados. Se apoya en el lenguaje Rego de Open Policy Agent para escribir pruebas de configuraciones de Kubernetes, definición de pipelines de Tekton o incluso planes de Terraform. Hemos tenido muy buenas experiencias con Conftest; y con su fácil curva de aprendizaje. Con la rapidez de los tests, nuestros equipos pueden iterar más rápido y seguro cuando hacen cambios de configuración de Kubernetes.

  • kube-score Es una herramienta que permite realizar análisis de código estático de las definiciones de objetos Kubernetes. El resultado es una lista de recomendaciones sobre lo que se puede mejorar para que su aplicación sea más segura y resistente. Tiene una lista de verificaciones predefinidas que incluye las mejores prácticas, como ejecutar contenedores con privilegios non-root y especificar correctamente los límites de recursos. El kuber-score ha existido durante algún tiempo y lo hemos usado en algunos proyectos como parte de un canal CD para los manifiestos de Kubernetes. Un inconveniente importante de kube-score es que no puede agregar políticas personalizadas. Normalmente lo complementamos con otras herramientas como Conftest en estos casos.

  • Lighthouse es una herramienta desarrollada por Google para evaluar aplicaciones y páginas web, recolectando métricas de desempeño y aprendizajes sobre buenas prácticas de desarrollo. Desde hace tiempo hemos abogado por las pruebas de desempeño como ciudadanos de primera categoría, y las actualizaciones a Lighthouse que mencionamos hace cinco años ciertamente ayudaron con eso. Nuestro concepto alrededor de funciones de aptitud arquitectural creó una motivación fuerte para tener herramientas como Lighthouse para ser ejecutadas en secuencias automatizadas de compilación. Con la introducción de Lighthouse CI, se ha vuelto más fácil que nunca incluir Lighthouse en secuencias automatizadas de compilación administradas por varias herramientas.

  • Metaflow es una librería de Python y un servicio de back-end fácil de usar que ayuda a los data scientists e ingenieros de data a construir y administrar el procesamiento de datos que está listo para producción, Machine Learning (ML) y flujos de inferencia. Metaflow provee APIs de Python que estructuran el código como un grafo dirigido de pasos. Cada paso puede ser decorado con configuraciones flexibles como los recursos requeridos de procesamiento y de almacenamiento. Los artefactos de código y de data para ejecutar cada uno de los pasos (conocido como tarea) están almacenados y pueden ser recuperados ya sea para futuras ejecuciones o para los próximos pasos en el flujo, permitiéndole recuperarse de los errores, ejecuciones repetitivas y seguimiento de versiones de modelos y sus dependencias a través de múltiples ejecuciones.

    La propuesta de valor de Metaflow es la simplicidad de la librería idiomática de Python: se integra completamente con la infraestructura construida y con el tiempo de ejecución para habilitar la ejecución de la ingeniería de data y las tareas científicas en ambientes de producción locales y escalados. Al momento de escribir este artículo, Metaflow se integra fuertemente con los servicios AWS como S3 por su servicio de almacenamiento de data y las funciones de paso para la orquestación. Metaflow admite el lenguaje R además de Python. Sus funcionalidades principales son open source.

    Si estás construyendo y desplegando tu producción de Machine Learning (ML) y de data-processing pipelines en AWS, Metaflow es una estructura alterna, ligera y full-stack para plataformas más complejas como MLflow.

  • Micrometer es una librería de tipo plataforma-agnóstica para la instrumentación de métricas en la máquina virtual de Java (JVM) que soporta Graphite, New Relic, CloudWatch y muchas otras integraciones. Hemos encontrado que Micrometer ha beneficiado tanto a autores de librerías como a equipos: autores de librerías pueden incluir código de instrumentación de métricas en sus librerías sin necesidad de dar soporte a cada uno de los sistemas de métricas que los usuarios estén utilizando; y los equipos pueden soportar muchos tipos de distintos de métricas en registros de back-end, lo que permite que las organizaciones colecten métricas de forma consistente.

  • NUKE es una plataforma de compilación para .NET y una alternativa a los tradicionales MSBuild or Cake and Fake que hemos presentado anteriormente en el Radar. NUKE representa las instrucciones de compilación como un DSL de C#, lo que lo hace fácil de aprender y con un buen soporte de IDE. En nuestra experiencia, NUKE hizo realmente simple la automatización de la compilación de proyectos .NET. Nos gusta la precisión de las comprobaciones de código estático y las sugerencias. También nos gusta que podamos utilizar cualquier paquete NuGet sin problemas y que el código de automatización pueda compilarse para evitar problemas en tiempo de ejecución. NUKE no es nuevo, pero su novedoso enfoque -utilizando un DSL de C#- y nuestra positiva experiencia en general nos llevó a incluirlo aquí.

  • Hemos utilizado Pact para testeo de contratos el tiempo suficiente como para ver parte de la complejidad que se produce a escala. Alguno de nuestros equipos han utilizado Pactflow para reducir fricción. Pactflow se ejecuta tanto como SaaS como una aplicación “On premise” con la misma funcionalidad, y añade usabilidad, seguridad y auditorías mejoradas con respecto a la versión de código abierto Pact Broker. Estamos satisfechos con su uso hasta el momento y contentos de ver un esfuerzo continuado para eliminar parte de la sobrecarga de gestionar el testeo de contratos a escala.

  • Como una alternativa a Docker, Podman ha sido validada por muchos de nuestros equipos. Podman presenta un motor “daemonless” (sin dependencias de fondo) para el manejo y ejecución de contenedores, lo que es una acercamiento interesante en comparación a lo que Docker hace. Adicionalmente, Podman puede ser ejecutado fácilmente como un usuario normal sin ser necesario tener privilegios de administrador, lo que reduce la superficie de ataque. Usando tanto Iniciativas Abiertas de Contenedores (OCI su sigla en inglés) imágenes construidas por Buildah o imágenes de Docker, Podman se puede adaptar a la mayoría de los casos de uso de contenedores. Aparte de algunos problemas de compatibilidad con macOS, nuestro equipo ha tenido en general buenas experiencias con Podman en distribuciones Linux.

  • En el anterior Radar, presentamos dos herramientas que se encargaban de la búsqueda y el reemplazo de código usando la representación de un árbol de sintaxis abstracta (AST), Comby y Sourcegraph. Si bien estas herramientas comparten ciertas similitudes, estas se diferencian de varias maneras. Sourcegraph es una herramienta comercial (con una capa gratuita de hasta 10-usuarios). Es utilizada particularmente para búsqueda, navegación y referenciación cruzada entre largas bases de código, con énfasis en una experiencia de desarrollo interactiva. Por el contrario, Comby es una herramienta de línea de comandos, ligera, de código abierto utilizada para automatizar tareas repetitivas. Debido a que Sourcegraph es un servicio de hosting, también tiene la capacidad de monitorear continuamente las bases de código y enviar alertas cuando una coincidencia es encontrada. Ahora que hemos ganado más experiencia con Sourcegraph, decidimos moverlo al ring de prueba para reflejar nuestra experiencia positiva, lo que no significa que Sourcegraph sea mejor que Comby. Cada herramienta se enfoca en un nicho diferente.

  • Uno de los elementos clave para mejorar la "seguridad de la cadena de suministro" es usar una Lista de materiales de software (SBOM), por eso es cada vez más importante publicar un SBOM junto con el producto de software. Syft Es una herramienta CLI y una biblioteca Go para generar un SBOM a partir de imágenes de contenedores y sistemas de archivos. Puede generar la salida SBOM en múltiples formatos, incluyendo JSON, CycloneDX y SPDX. La salida SBOM de Syft puede ser utilizada por Grype para el escaneo de vulnerabilidades. Una forma de publicar el SBOM generado junto con la imagen es agregarlo como testigo usando Cosign. Esto permite que los consumidores de la imagen verifiquen el SBOM y lo utilicen para un análisis posterior.

  • Cuando se trabaja con varias bases de código JavaScript al mismo tiempo, a menudo es necesario utilizar diferentes versiones de Node y otras herramientas JavaScript. En los equipos de los desarrolladores, estas herramientas generalmente suelen estar instaladas en la cuenta de usuario o en la propia máquina, lo que significa que se necesita una solución para cambiar entre múltiples instalaciones. Para Node ya existe nvm , pero queremos destacar Volta como una alternativa que nuestros equipos están usando. Volta tiene varias ventajas sobre nvm: es capaz de gestionar otras herramientas de JavaScript como Yarn ; también tiene la capacidad de fijar una versión específica de la cadena de herramientas en base al proyecto, lo que significa que los desarrolladores pueden simplemente utilizar las herramientas en un directorio de código dado sin tener que preocuparse de cambiar manualmente entre versiones: Volta usa shims en la ruta para seleccionar la versión fijada. Escrito en Rust, Volta es rápido y se distribuye como un binario sin dependencias.

  • Web Test Runner es un paquete dentro del proyecto Modern Web, que proporciona varias herramientas de alta calidad para el desarrollo web moderno con soporte para estándares web como Módulos ES. Web Test Runner es un ejecutor de pruebas para aplicaciones web. Una de sus ventajas en comparación con los ejecutores de prueba existentes es que ejecuta pruebas en el navegador (que podría no tener interfaz). Es compatible con múltiples lanzadores de navegadores, incluidos Titiritero, Playwright y Selenium, y usa Mocha de forma predeterminada para el marco de prueba. Las pruebas se ejecutan bastante rápido y nos gusta que podamos abrir una ventana del navegador con devtools durante la depuración. Web Test Runner utiliza internamente Web Dev Server lo que nos permite aprovechar su excelente API de complementos para agregar complementos personalizados para nuestro conjunto de pruebas. Las herramientas de Modern Web parecen una cadena de herramientas para desarrolladores muy prometedora y ya las estamos usando en algunos proyectos.

Evaluar ?

  • A estas alturas, muchas organizaciones han creado paisajes extensos de servicios en la nube. Por supuesto, esto solo es posible cuando se usa infraestructura como código y herramientas maduras. Todavía nos gusta Terraform, sobre todo por su rico y creciente ecosistema. Sin embargo, la falta de abstracciones en HCL, el lenguaje de configuración predeterminado de Terraform, crea efectivamente un techo de cristal. El uso de Terragrunt lo lleva un poco más allá, pero cada vez más, nuestros equipos se encuentran anhelando las abstracciones que ofrecen los lenguajes de programación modernos. El Kit de desarrollo en la nube para Terraform (CDKTF), que resultó de una colaboración entre el CDK de AWS y Hashicorp, hace posible que los equipos utilicen varios lenguajes de programación, incluidos TypeScript y Java, para definir y aprovisionar la infraestructura. Con este enfoque sigue el ejemplo de Pulumi mientras permanece en el ecosistema Terraform. Hemos tenido buenas experiencias con CDKTF, pero hemos decidido mantenerlo en el anillo de Evaluación hasta que salga de la versión beta.

  • Chrome Recorder panel es una función de vista previa en Google Chrome 97 que permite grabar y reproducir de forma sencilla las interacciones de los usuarios. Aunque definitivamente no es una idea nueva, la forma en que está integrada en Chrome permite crear, editar y ejecutar rápidamente scripts. El panel también se integra muy bien con el panel de rendimiento, lo que facilita la obtención de información repetida y coherente sobre el rendimiento de la página. Aunque las pruebas de estilo de grabación/reproducción siempre deben utilizarse con cuidado para evitar pruebas frágiles, creemos que vale la pena evaluar esta función de vista previa, especialmente si ya estás utilizando el panel de rendimiento de Chrome para medir tus páginas.

  • Excalidraw es una herramienta de dibujo online, sencilla pero potente, que les encanta utilizar a nuestros equipos. A veces, los equipos sólo necesitan una imagen rápida y no un diagrama formal; para los equipos trabajando en remoto, Excalidraw proporciona una forma rápida de crear y compartir diagramas. A nuestros equipos también les gusta el aspecto de "baja fidelidad" de los diagramas que puede generar, que recuerda a los diagramas que habrían dibujado en una pizarra si estuvieran trabajando en el mismo lugar. Una advertencia: presta atención a la configuración de seguridad predeterminada, en el momento de escribir, cualquier persona que tenga el enlace puede ver el diagrama. La versión de pago proporciona autenticación más avanzada.

  • GitHub Codespaces permite a los desarrolladores crear entornos de desarrollo en la nube y acceder a ellos a través de un IDE como si el entorno fuera local. GitHub no es la primera empresa en implementar esta idea; anteriormente hablamos sobre Gitpod. Nos gusta que Codespaces permite que los entornos se estandarizan mediante el uso de archivos de configuración, lo que agiliza la incorporación de nuevos miembros al equipo, y que ofrecen máquinas virtuales con hasta 32 núcleos y 64 GB de memoria. Estas máquinas virtuales se pueden activar en menos de diez segundos, lo que ofrece potencialmente entornos más potentes que una computadora portátil de desarrollo.

  • GoReleaser es una herramienta que automatiza el proceso de construcción y liberación de un proyecto Go para diferentes arquitecturas a través de múltiples repositorios y canales, una necesidad común para los proyectos Go dirigidos a diferentes plataformas. La herramienta se ejecuta desde la máquina local a través de CI, con la herramienta disponible a través de varios servicios de CI, minimizando así la configuración y el mantenimiento. GoReleaser se encarga de construir, empaquetar, publicar y anunciar cada versión y soporta diferentes combinaciones de formato de paquete, repositorio de paquetes y control de fuentes. Aunque existe desde hace unos años, nos sorprende que no haya más equipos que lo utilicen. Si estás lanzando regularmente una base de código Go, vale la pena evaluar esta herramienta.

  • Asegurar la cadena de suministro de software se ha convertido en una preocupación habitual entre los equipos de entrega, una preocupación que se refleja en el creciente número de nuevas herramientas en este espacio. Grype es una nueva y ligera herramienta de exploración de vulnerabilidades para imágenes Docker y OCI. Esta herramienta puede ser instalada como un binario, puede escanear imágenes antes de que sean subidas a un registro docker, y no requiere un demonio Docker para ejecutarse en los agentes de construcción. Grype proviene del mismo equipo que está detrás de Syft, el cual genera SBOMs en varios formatos a partir de imágenes de contenedores. Grype puede consumir la salida SBOM de Syft para escanearla en busca de vulnerabilidades.

  • Una de las ventajas que se mencionan frecuentemente cuando se habla de moverse hacia la nube es la transparencia alrededor del coste de infraestructura. En nuestra experiencia, no siempre se da este caso. Los equipos no siempre piensan en las decisiones que toman en torno a la infraestructura en términos de coste financiero, y es por ello que ya mencionamos con anterioridad él coste de ejecución como función de aptitud de arquitectura. Tenemos curiosidad por el lanzamiento de una nueva herramienta llamada Infracost que se propone dar visibilidad a los compromisos de coste en las pull request en Terraform. Es un software de código abierto y está disponible para macOS, Linux, Windows y Docker y muestra los precios para AWS, GCP y Microsoft Azure listos para usar. También proporciona una API pública que puede ser consultada para conocer los datos de coste actualizados. Nuestros equipos están entusiasmados con su potencial, especialmente cuando se trata de ganar mejor visibilidad en los costes en el IDE (Entorno de desarrollo integrado).

  • En el Radar anterior, colocamos Modern Unix Commands cómo tecnología a evaluar. Uno de los comandos presentes en esa colección de herramientas era jq, un sed (stream editor) para JSON. jc realiza una tarea similar: recoge la salida de comandos de Unix habituales y la convierte a formato JSON. Los dos comandos juntos ofrecen un puente entre el mundo de Unix CLI y el conjunto de librerías y herramientas que funcionan con JSON. Al escribir scripts simples, por ejemplo, para el despliegue de software o la obtención de información de diagnóstico, tener toda una gama de formatos de salida de diferentes comandos Unix mapeados a un formato JSON bien definido puede ahorrarnos mucho tiempo y esfuerzo. Al igual que con jq, es necesario asegurarse de que el comando está disponible. Puede ser instalado desde muchos de los repositorios más conocidos.

  • skopeo es una utilidad de línea de comando que realiza varias operaciones sobre imágenes de contenedores y repositorios de imágenes. No requiere que un usuario sea administrador para realizar la mayoría de sus operaciones ni precisa de un demonio para ejecutarse. Es una parte útil del pipeline de integración continua; lo hemos utilizado para copiar imágenes de un registro a otro a medida que se promovían las imágenes. Es mejor que realizar un “pull” y un “push” ya que no es necesario almacenar las imágenes localmente. No es una herramienta nueva, pero es suficientemente útil y poco utilizada por lo que pensamos que vale la pena mencionarla.

  • Si bien el linting (el análisis estático del código fuente) es una práctica antigua en el mundo del software, su adopción en el mundo de los datos ha sido más lenta. SQLFluff es un linter (herramienta para hacer linting) SQL de dialecto cruzado escrito en Python, que se lanza a través de línea de comandos (CLI), lo que hace que sea fácil incorporarlo en las pipelines de CI/CD. Si estás cómodo con las convenciones predeterminadas, entonces SQLFluff trabaja sin ninguna otra configuración adicional después de instalarlo, imponiendo un conjunto de estándares de formato fuertemente definidos; establecer tus propias convenciones requiere añadir un fichero de configuración. La interfaz por línea de comandos (CLI) puede corregir automáticamente ciertos tipos de violaciones que incluyen problemas de formato como los espacios en blanco o las mayúsculas en las palabras clave. SQLFluff es todavía nuevo, pero estamos emocionados por ver a SQL tener más presencia en el mundo del linting.

  • Las organizaciones que han adoptado infraestructura como código y plataformas de infraestructura de autoservicio están buscando formas de brindar a los equipos la máxima autonomía mientras se mantienen aplicando buenas prácticas de seguridad y políticas organizacionales. Hemos resaltado tfsec antes y lo estamos moviendo a la categoría Adoptar en este Radar. Para los equipos que trabajan en GCP, Terraform Validator podría ser una opción al crear una biblioteca de políticas, un conjunto de restricciones que se comparan contra las configuraciones de Terraform.

  • Typesense Es un motor de búsqueda de texto rápido y tolerante a errores tipográficos. Para casos de uso con grandes volúmenes de datos, Elasticsearch podría seguir siendo una buena opción, ya que proporciona una solución de búsqueda horizontalmente escalable basada en disco. Sin embargo, si estás construyendo una aplicación de búsqueda sensible a la latencia con un tamaño de índice de búsqueda que puede caber en memoria, Typesense es una alternativa poderosa y otra opción a evaluar junto a herramientas como Meilisearch.

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.

Radar

Descarga el Radar Tecnológico Volumen 26

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

Radar

Mantente informado sobre tecnología

 

 Suscríbete ahora

Visita nuestro archivo para leer los volúmenes anteriores