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

Plataformas

Adoptar ?

Probar ?

  • A medida que aumenta el interés por mejorar la experiencia y la eficiencia de los desarrolladores en las organizaciones, estamos viendo cómo aumenta la popularidad de Backstage, junto con la adopción de portales para desarrolladores. Estas organizaciones buscan apoyar y optimizar sus entornos de desarrollo. A medida que aumenta el número de herramientas y tecnologías, se hace cada vez más importante algún tipo de estandarización para la coherencia, de modo que los desarrolladores puedan centrarse en la innovación y el desarrollo de productos, en lugar de verse atascados con la reinvención de la rueda. Backstage es una plataforma de portal para desarrolladores de código abierto creada por Spotify. Se basa en plantillas de software, herramientas de infraestructura unificadas y documentación técnica coherente y centralizada. La arquitectura de plugins permite la extensibilidad y adaptabilidad al ecosistema de infraestructura de una organización. Estaremos atentos al nuevo Backstage Service Catalog, actualmente en fase alfa, que hace un seguimiento de la propiedad y los metadatos de todo el software del ecosistema de una organización.

  • ClickHouse es una base de datos orientada a columnas para procesamiento analítico (OLAP) de código abierto para analíticas en tiempo real. Empezó como un proyecto experimental en el año 2009 y desde entonces ha madurado a una base de datos de análisis de alto rendimiento y con escalamiento lineal. Su eficiente motor para procesamiento de consultas, sumado a su compresión de datos lo hace apropiado para correr consultas interactivas sin necesidad de pre-agregación. Hemos usado ClickHouse y estamos bastante impresionados con su desempeño.

  • Kafka es una herramienta comúnmente usada en arquitecturas controladas por eventos, pero adaptarlo a entornos heredados introduce un error de impedancia. En algunos casos, hemos tenido éxito al minimizar la complejidad heredada usando Kafka REST Proxy de Confluent. Este proxy permite a los desarrolladores acceder a Kafka a través de una interfaz HTTP, que es útil en entornos que dificultan el uso del protocolo nativo de Kafka. Por ejemplo, pudimos consumir eventos emitidos a través de SAP simplemente haciendo que el equipo de SAP invocara un comando HTTP POST a través de una llamada de función remota de SAP preconfigurada, evitando la necesidad de poner en marcha una abstracción de Java alrededor de SAP (y un equipo para administrarla). El proxy tiene muchas funciones aunque, al igual que con cualquier herramienta adaptadora de este tipo, recomendamos precaución y una visión clara de los problemas involucrados. Creemos que el proxy es valioso cuando permite que los productores heredados envíen eventos, pero deberíamos ser cautelosos al crear consumidores de eventos a través del proxy a medida que la abstracción se vuelve más compleja. El proxy no cambia el hecho de que los consumidores de Kafka tienen estado, lo que significa que las instancias de consumidor creadas a través de la API REST están vinculadas a un proxy específico, y la necesidad de realizar una llamada HTTP para consumir mensajes de un flujo cambia la semántica estándar de evento de Kafka.

  • A pesar de nuestras advertencias la última vez que lo cubrimos, hemos visto entusiasmo continuo por GitHub Actions. Lo que dijimos antes sigue siendo cierto: GitHub Actions aún no es un reemplazo completamente establecido para flujos de CI/CD complejos. La herramienta no puede, por ejemplo: re-disparar una tarea simple de un flujo, llamar a otras acciones dentro de una acción compuesta, o soportar una librería compartida. Adicionalmente, mientras que el ecosistema en el GitHub Marketplace ofrece ventajas obvias, entregarle acceso a tus build pipelines a GitHub Actions de terceros, te expone al riesgo de compartir secretos de formas inseguras (recomendamos seguir estos consejos de GitHub sobre security hardening). A pesar de estas preocupaciones, la conveniencia de poder crear los flujos de trabajo directamente en GitHub junto al código fuente, es una opción convincente para algunos equipos, y además, act te permite correr GitHub Actions localmente. Como siempre, recomendamos un análisis imparcial de las desventajas, sin embargo, algunos de nuestros equipos están contentos con la simplicidad de GitHub Actions.

  • K3s es una distribución liviana de Kubernetes construida para Internet de las Cosas (IoT) y edge computing. Se obtienen los beneficios de un Kubernetes totalmente compatible pero con una sobrecarga operativa reducida. Sus mejoras incluyen backends de almacenamiento liviano (sqlite3 por defecto en lugar de etcd), un paquete binario con dependencias mínimas del sistema operativo y huella de memoria reducida, todo esto hace que los K3 sean adecuados para entornos con recursos limitados. Hemos utilizado K3 en máquinas para punto de venta y estamos muy contentos con nuestra decisión.

  • Mambu es una plataforma bancaria Saas en la nube. Empodera a los clientes para construir y cambiar sus productos bancarios y de crédito de manera fácil y flexible. A diferencia de otras plataformas bancarias out-of-box que solo se pueden adaptar con integración de código fuente, Mambu ha sido diseñado para ofertas financieras en constante cambio. Viene con un flujo de trabajo automatizado, al mismo tiempo que proporciona un acercamiento basado en APIs, para personalizar la lógica del negocio, los procesos y las integraciones. Actualmente tenemos algunos proyectos utilizando Mambu. Con su escalabilidad basada en la nube y capacidades altamente personalizables, se está convirtiendo en uno de los sistemas bancarios fundamentales cuando se trata de desarrollo de productos financieros.

  • MirrorMaker 2.0 (también conocido como MM2), desarrollado utilizando la herramienta Kafka Connect, resuelve varias deficiencias de herramientas de Kafka con enfoques en replicación anteriores. Es capaz de geo-replicar con éxito datos de tópicos y metadatos entre clústeres, incluyendo offsets, grupos de consumidores y líneas de comando de autorización (ACL por sus siglas en inglés). MM2 conserva las particiones originales y detecta nuevos tópicos y particiones. Apreciamos la habilidad de organizar la migración de un clúster a lo largo del tiempo, un enfoque que puede ser útil al migrar de un clúster alojado localmente a uno alojado en la nube. Después de sincronizar los tópicos y grupos de consumidores, en primer lugar, migramos los clientes hacia la nueva ubicación del clúster, luego migramos los productores a la nueva ubicación y finalmente deshabilitamos MM2 y retiramos el antiguo clúster. También hemos visto a MM2 ser utilizado en escenarios de alta disponibilidad y recuperación de desastres.

  • Guardián OPA para Kubernetes es un webhook de admisión personalizable para Kubernetes que hace cumplir las políticas ejecutadas por el Open Policy Agent (OPA). Estamos utilizando esta extensión de la plataforma Kubernetes para agregar una capa de seguridad a los clústeres, proporcionando mecanismos de gobierno automatizados que garantizan que las aplicaciones cumplen con las políticas definidas. A nuestros equipos les gusta por su capacidad de personalización; el uso de CustomResourceDefinitions (CRD) nos permite definir ConstraintTemplates y Constraints que hacen que definir reglas y los objetos (por ejemplo, despliegues, trabajos, trabajos cron) y espacios de nombres en evaluación sea una tarea fácil.

  • Hemos estado viendo un aumento en los equipos que utilizan Pulumi en varias organizaciones. Pulumi llena un vacío en el mundo de la codificación de la infraestructura donde Terraform se mantiene firme. Mientras que Terraform es un soporte probado y verdadero, su naturaleza declarativa sufre de facilidades de abstracción inadecuadas y una testabilidad limitada. Terraform es adecuado cuando la infraestructura es totalmente estática, pero las definiciones dinámicas de la infraestructura requieren un verdadero lenguaje de programación. Pulumi se distingue por permitir que las configuraciones se escriban en TypeScript/JavaScript, Python y Go - sin necesidad de lenguaje de marcas o plantillas. Pulumi está estrechamente centrado en las arquitecturas nativas de la nube - incluyendo contenedores, funciones sin servidor y servicios de datos - y proporciona un buen soporte para Kubernetes. Recientemente, AWS CDK ha montado un desafío, pero Pulumi sigue siendo la única herramienta neutral de la nube en esta área.

  • Kubernetes soporta de manera nativa un objeto clave-valor conocido como secreto. Sin embargo, por defecto, los secretos de Kubernetes no son realmente secretos. Son manejados de forma separada de otros datos clave-valor, de modo que se les pueda aplicar precauciones o controles de acceso de forma separada. Existe soporte para encriptar secretos antes de que sean almacenados en etcd, pero los secretos comienzan su existencia como campos de texto plano en ficheros de configuración. Sealed Secrets es una combinación de operador y utilidad de línea de comando que usa claves asimétricas para encriptar secretos de modo que solo puedan ser desencriptados por el controlador que hay en el cluster. Este proceso asegura que los secretos no se verán comprometidos mientras se encuentran en los ficheros de configuración que define un despliegue de Kubernetes. Una vez encriptados, estos ficheros pueden ser compartidos o almacenados de forma segura junto a otros artefactos de despliegue.

  • Desde que evaluamos por primera vez JAMstack, hemos visto cada vez más aplicaciones web de este estilo. Sin embargo, cuando la infraestructura para construir sitios web con dinámicas tradicionales y servicios back-end es demasiado pesada para JAMstack, nuestros equipos eligen Vercel. Vercel es una plataforma en la nube para el alojamiento de sitios estáticos. Más importante aún, provee un flujo de trabajo impecable para el desarrollo, con vista previa y envío a los sitios de JAMstack. La configuración para el despliegue es muy simple. Por estar integrado con GitHub, cada commit o pull request puede desencadenar el despliegue de un nuevo sitio web que contiene una URL para vista previa, lo que acelera enormemente el feedback del desarrollo. Vercel también utiliza CDN para escalar y acelerar los sitios de producción. Vale la pena mencionar que el equipo detrás de Vercel esta también brindando soporte a otro popular framework, Next.js.

  • Weights & Biases es una plataforma de machine learning (ML) para construir modelos más rápidamente a través del seguimiento de experimentos, el control de versiones del conjunto de datos, la visualización del rendimiento del modelo y la gestión del modelo. Se puede integrar con el código de ML existente y obtener rápidamente métricas en vivo, logs de terminal y estadísticas del sistema que se transmiten al dashboard para su posterior análisis. Nuestros equipos han utilizado Weights & Biases, y nos gusta su enfoque colaborativo hacia la construcción de modelos.

Evaluar ?

  • Azure Cognitive Search provee la búsqueda como servicio para aplicaciones que requieren búsqueda de texto sobre contenido heterogéneo. Provee APIs basadas en pull o push para cargar e indexar imágenes, texto desestructurado o contenido de documentos estructurados, con limitaciones en tipos de fuente de datos basadas en extracción admitidos. Provee APIs sobre REST y .NET SDK para ejecutar consultas de búsqueda, ya sea utilizando un lenguaje de consulta simple o consultas más poderosa Apache Lucene con consultas de ámbito de campo, búsqueda difusa, búsqueda con comodines para infijos y sufijos, búsqueda de expresiones regulares, entre otras características. Nosotros hemos usado exitosamente Azure Cognitive Search junto con otros servicios de Azure, incluyendo la búsqueda de contenido cargado desde Cosmos DB.

  • Incluso hoy en día, considerando todas las herramientas de desarrollo e infraestructura a nuestra disposición, solemos llegar a un punto en donde necesitamos un script para unir varias cosas juntas o para automatizar una tarea recurrente. Actualmente los favoritos para escribir estos scripts son los lenguajes bash y Python, pero estamos felices de comentar que hay una nueva y excitante opción: Clojure. Esto fue posible con Babashka, un Clojure completamente implementado con GraalVM. Babashka utiliza bibliotecas que cubren la mayoría de los casos de uso por los cuales se utilizaría una herramienta de scripting, y también es posible añadir más bibliotecas. El uso de GraalVM aporta tiempos de inicio dentro del mismo rango de las herramientas nativas, y además hace que Babashka sea una de las pocas opciones para un entorno de scripting multiproceso, en esos extraños casos en los que es necesario.

  • ExternalDNS sincroniza los ingresos y servicios de Kubernetes con los proveedores de DNS externos, llenando un hueco que anteriormente llenaban kops dns-controller, Zalando's Mate o route53-kubernetes - estos dos últimos han sido descartados en favor de ExternalDNS. La herramienta hace que los recursos internos de Kubernetes sean descubiertos a través de servidores DNS públicos, eliminando un paso a veces manual, para actualizar los registros DNS cuando la dirección IP de un host o servicio de entrada cambia. Es compatible con una enorme lista de proveedores de servicios DNS, y se están añadiendo más a través del apoyo de la comunidad. Como dice el viejo chiste, it’s always DNS.

  • Konga es una UI de código abierto que permite administrar Kong API Gateway, previamente presentada en la sección Probar del Radar. A nuestros equipos les gustó su rápida configuración y la riqueza de características que posee, lo que permite fácilmente probar y experimentar nuevas configuraciones. Además — debido a ser software de código abierto — no nos tenemos que preocupar de los costes de licencia.

  • Milvus 2.0 es una base de datos de vectores, nativa de la nube y de código abierto. Construida para buscar y gestionar vectores embebidos generados mediante modelos de aprendizaje automático y redes neuronales. Soporta diferentes indices para aproximar los vecinos más cercanos (ANN) en búsquedas sobre los vectores embebidos de audio, vídeo, imagen o cualquier dato sin estructura. Milvus 2.0 es una base de datos relativamente nueva y recomendamos que se valore su uso si tienen necesidades de búsqueda similares.

  • Es raro para nosotros presentar en el Radar un software comercial y mucho menos una plataforma bancaria principal. Sin embargo, Thought Machine Vault (sin conexión con Thoughtworks) es un ejemplo de un producto en esta clase diseñado para apoyar las buenas prácticas de la ingeniería de software como son el desarrollo impulsado por pruebas, la entrega continua y la infraestructura como código. Los desarrolladores definen los productos bancarios en Vault escribiendo contratos inteligentes en código Python. Esto es claramente diferente del enfoque no-code estándar donde la personalización se realiza mediante interfaces gráficas o archivos de configuración propietarios o ambos. Debido a que los productos se definen en código Python ordinario, los desarrolladores tienen acceso a un rango de herramientas como los frameworks de pruebas y el control de versiones para asegurar que su trabajo es seguro y preciso. Deseamos que más plataformas de servicios financieros sean diseñadas teniendo en cuenta la eficacia del desarrollador.

  • XTDB es una base de datos de código abierto con consultas gráficas bitemporales. Admite de forma nativa dos ejes de tiempo para cada registro valid time, para cuando sucede un evento, y transaction time, para cuando un evento es procesado y registrado en la base de datos. La compatibilidad con la bitemporalidad es beneficiosa en numerosos escenarios como: los casos de uso para análisis que ejecutan consultas dependientes del tiempo; en auditorias de cambios históricos en eventos; arquitecturas de datos distribuidos que deben garantizar consultas de puntos en el tiempo de manera consistente a nivel global, tales como data mesh; y para preservar la inmutabilidad de datos. XTDB acepta información en forma de documento, y expresada en el formato Extensible Data Notation (EDN), un subconjunto del lenguaje Clojure. XTDB admite consultas en grafos y SQL, además es extensible a través de una capa de REST API y Kafka Connect, entre otros módulos. Estamos entusiasmados de ver un crecimiento en la adopción de XTDB y la adición de características como soporte para transacciones y SQL.

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

Descargar Radar Tecnológico Volumen 25

 

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

Radar

Mantente informada sobre tecnología

 

Suscríbete ahora

Visita nuestro archivo para leer los volúmenes anteriores