[Herramientas de programación]El software de código abierto detrás de la cotización de Uber
En la mañana del 10 de mayo, hora local, el gigante de viajes Uber cotizaba en la Bolsa de Nueva York con el código bursátil "UBER". Esta puede ser la oferta pública inicial más grande en el mercado de valores de EE. UU. en 2019. Las cuestiones que no tienen nada que ver con la tecnología, como el desempeño de Uber en la cotización y las enormes pérdidas de la compañía, quedan en manos de los expertos de Wall Street para analizarlas.
Analicemos únicamente el software de código abierto que admite la tecnología Uber:
AresDB: AresDB es un motor de almacenamiento de análisis en tiempo real y un motor de consultas basado en computación GPU de código abierto de Uber. Presenta baja latencia de consulta, alta frecuencia de actualización de datos y administración eficiente de memoria y almacenamiento en disco. AresDB requiere compatibilidad con CUDA Toolkit.
Fusion.js: el equipo de plataforma web de Uber desarrolla Fusion.js, un marco web de código abierto para simplificar el desarrollo web y crear aplicaciones web livianas y de alto rendimiento.
Petastorm: Petastorm es una biblioteca de acceso a datos de código abierto desarrollada por Uber ATG (Advanced Technologies Group). Esta biblioteca permite la capacitación independiente o distribuida y la evaluación de modelos de aprendizaje profundo directamente en conjuntos de datos con formato Parquet de varios terabytes.
M3 - M3 es una plataforma de medición de código abierto creada por Uber basada en la base de datos de series temporales distribuidas M3DB. Puede agregar 500 millones de indicadores por segundo y almacenar continuamente estos resultados a una velocidad de 20 millones por segundo.
Uber JVM Profiler: JVM Profiler es un generador de perfiles distribuido de código abierto por el equipo de ingeniería de Uber, que se utiliza para recopilar indicadores de rendimiento y uso de recursos para proporcionar servicios para análisis posteriores.
RIB: RIB es la abreviatura de Router, Interactor y Builder y es la arquitectura multiplataforma detrás de muchas de las aplicaciones móviles de Uber.
AthenaX: AthenaX es la plataforma de análisis de flujo interno de Uber, que brinda soporte a los clientes técnicos y no técnicos de Uber, garantizando que puedan ejecutar tareas integrales de análisis de flujo a nivel de producción utilizando el lenguaje de consulta estructurado (SQL).
Jaeger: Jaeger es el sistema de seguimiento distribuido de Uber y la función de sondeo en la biblioteca cliente de Jaeger está diseñada para resolver estos problemas. Al trasladar la decisión sobre la estrategia de muestreo adecuada al backend de seguimiento, liberamos a los desarrolladores de servicios de tener que adivinar sobre la frecuencia de muestreo adecuada.
Chaperone: como sistema de auditoría Kafka, Chaperone monitorea la integridad y latencia de los flujos de datos. Las métricas de auditoría se almacenan de forma persistente en la base de datos para que los usuarios de Kafka cuantifiquen las pérdidas en sus temas.
Ludwig: esta es una caja de herramientas de código abierto basada en el marco Google TensorFlow. Con Ludwig, los usuarios pueden desarrollar un aprendizaje profundo sin escribir ningún código.
Hudi: Hudi está diseñado para resolver la ineficiencia del canal de ingesta y del canal ETL en el ecosistema de big data de Uber que requiere la inserción de primitivas de consumo incremental y de actualización.