En esta página, se enumeran las empresas y los proyectos de código abierto que se sabe que usan Bazel. Esto no constituye una recomendación.
Empresas que usan Bazel
acqio
Acqio es una empresa de tecnología financiera que ofrece productos y servicios de pago a comercios pequeños y medianos. Acqio tiene algunos monorepos y usa Bazel junto con Kubernetes para entregar microservicios rápidos y confiables.
Adobe
Adobe lanzó reglas de Bazel para implementaciones continuas de Kubernetes impulsadas por GitOps.
Asana
Asana es una aplicación web y para dispositivos móviles diseñada para ayudar a los equipos a hacer un seguimiento de su trabajo. En sus propias palabras:
Bazel aumentó la confiabilidad, la estabilidad y la velocidad de todas las compilaciones y pruebas en Asana. Ya no es necesario limpiar debido a las cachés incorrectas.
Ascend.io
Ascend es una startup de Palo Alto que ofrece soluciones para el análisis de grandes conjuntos de datos. Su lema es Los macrodatos son difíciles. Lo hacemos fácil.
ASML
ASML es un líder en innovación en la industria de semiconductores. Proporcionamos a los fabricantes de chips todo lo que necesitan, como hardware, software y servicios, para producir en masa patrones en silicio a través de la litografía.
Beeswax
Beeswax es una startup de Nueva York que ofrece ofertas en tiempo real como servicio. Bazel potencia su framework de integración y despliegue continuos basado en Jenkins. A Beeswax le encanta Bazel porque es increíblemente rápido, correcto y es compatible con muchos lenguajes y plataformas.
Braintree
Braintree, una subsidiaria de PayPal, desarrolla soluciones de pago para sitios web y aplicaciones. Usan Bazel para partes de su compilación interna y Paul Gross incluso publicó un artículo interesante sobre cómo fue su cambio a Bazel.
Canva
Canva aprovecha Bazel para administrar su gran base de código poliglota, que incluye Java, TypeScript, Scala, Python y mucho más. La migración a Bazel proporcionó mejoras significativas en la eficiencia de la infraestructura de procesamiento y de los desarrolladores, por ejemplo, una disminución de 5 a 6 veces en los tiempos promedio de compilación de la CI, y sigue siendo la base de compilaciones de software rápidas, reproducibles y estandarizadas en la empresa.
CarGurus
CarGurus tiene la misión de crear el mercado automotriz más confiable y transparente del mundo, y usa Bazel para compilar su monorepo multilingüe.
Brújula
Compass es una plataforma de bienes raíces impulsada por la tecnología. Con un equipo de élite de profesionales de bienes raíces, tecnología y negocios, nuestro objetivo es ser la mejor y más confiable fuente para quienes buscan una casa.
Databricks
Databricks proporciona lugares de trabajo integrados basados en la nube y en Apache Spark™.
La base de código de Databricks es un monorepo, que contiene el código Scala que potencia la mayoría de nuestros servicios, JavaScript para la IU del frontend, Python para la escritura de secuencias de comandos, Jsonnet para configurar nuestra infraestructura y mucho más [...]. Aunque nuestro monorepo contiene un millón de líneas de Scala, trabajar con el código es rápido y ágil. (Compilaciones rápidas de Scala con Bazel en Databricks).
Dataform
Dataform proporciona estadísticas escalables para los equipos de datos. Mantienen algunos paquetes de NPM y un sitio de documentación en un solo monorepo, y lo hacen todo con Bazel.
Después de la migración a Bazel, informaron muchos beneficios, incluidos los siguientes:
- CI más rápida: habilitamos la caché de compilación remota, lo que redujo nuestro tiempo de compilación promedio de 30 minutos a 5 (para todo el repositorio).
- Mejoras en el desarrollo local: No más secuencias de comandos bash aleatorias que te olvides de ejecutar. Las compilaciones incrementales se reducen a segundos en lugar de minutos.
- Tiempo de configuración del desarrollador: Los ingenieros nuevos pueden compilar todo nuestro código con solo 3 dependencias: Bazel, Docker y la JVM. El último ingeniero que se unió a nuestro equipo logró compilar todo nuestro código en menos de 30 minutos en una laptop nueva y vacía.
Deep Silver FISHLABS
Deep Silver FISHLABS es un desarrollador de juegos en 3D de alta gama. Usan Bazel con C++, Python, Go o C como base para sus herramientas de compilación internas y, en especial, para compilar y, luego, implementar todos sus recursos 3D.
Dropbox
En Dropbox, Bazel es un componente clave de nuestro entorno de compilación y pruebas distribuidos. Usamos Bazel para combinar TypeScript, Python, Go, C y Rust en lanzamientos de producción confiables.
Engel & Völkers
Engel & Völkers AG es una empresa alemana de propiedad privada que, a través de una serie de oficinas franquiciadas, brinda servicios relacionados con transacciones inmobiliarias.
Uno de nuestros proyectos internos disminuyó el tiempo de compilación de 11 a aproximadamente 1 minuto. Este fue un logro impresionante y, actualmente, estamos trabajando para llevar Bazel a más proyectos. (Experimenta con Google Cloud Build y Bazel).
Etsy
Etsy es un sitio web de comercio electrónico enfocado en artículos y suministros hechos a mano o vintage, así como en artículos únicos fabricados en fábrica.
Usan Bazel para compilar y probar su plataforma de búsqueda basada en Java. Bazel produce ambos paquetes para servidores bare metal y para imágenes de Docker repetibles.
Evertz.io
Evertz.io es una plataforma de SaaS multiusuario y sin servidores para ofrecer servicios multirregionales y rentables en todo el mundo a la industria de medios de transmisión, creada por Evertz Microsystems.
El sitio web se compila y se implementa por completo con un flujo de trabajo de Angular y Bazel (fuente).
FINDMINE
FINDMINE es una tecnología de automatización para la industria minorista que usa el aprendizaje automático para escalar el proceso actual de selección de productos, que es manual y tedioso. Usamos Bazel para mecanizar todo nuestro proceso de compilación, pruebas y implementación de paquetes de Python.
Flexport
Flexport es un agente de carga global habilitado por tecnología. Nuestra misión es facilitar el comercio global para todos. En Flexport, usamos Bazel para compilar y probar nuestros servicios y bibliotecas cliente de Java/JavaScript, y para generar código Java y Ruby a partir de definiciones de protobuf. Obtén información sobre cómo ejecutamos pruebas individuales de JUnit 5 de forma independiente con Bazel.
Foursquare
La misión de Foursquare es crear tecnología que construya puentes significativos entre los espacios digitales y los lugares físicos. Administramos millones de líneas de código principalmente de Scala y Python que potencian aplicaciones intensivas en datos, incluidos procesos complejos de generación de código y compilación de contenedores, con Bazel.
GermanTechJobs
Bazel simplificó nuestros flujos de trabajo diez veces y habilitó funciones de envío a gran escala.
Bazel se diseñó para poder escalar según las necesidades de Google y cumplir con sus requisitos de reproducibilidad y compatibilidad con plataformas o idiomas. Todo el software de Google se compila con Bazel. Google usa Bazel y sus reglas para millones de compilaciones todos los días.
Huawei
Huawei Technologies usa Bazel en alrededor de 30 proyectos, que son proyectos de Java, Scala y Go, excepto los de Go, que Maven compiló originalmente. Escribimos una herramienta simple para traducir un proyecto compilado con Maven en uno compilado con Bazel. Cada vez más proyectos usarán Bazel en un futuro cercano.
IMC Trading
IMC es una empresa de operaciones propietarias y creador de mercado global con sede en Ámsterdam. Usamos Bazel para compilar y probar de forma continua nuestros proyectos de Java, C++, Python y SystemVerilog.
Improbable.io
Improbable.io desarrolla SpatialOS, un sistema operativo distribuido que permite crear simulaciones enormes habitadas por millones de entidades complejas.
Interaxon
InteraXon es una empresa de computación controlada por el pensamiento que crea plataformas de hardware y software para convertir las ondas cerebrales en señales digitales.
Jupiter
Jupiter es una empresa que ofrece entrega de comestibles y artículos esenciales para el hogar todas las semanas.
Usan Bazel en su código de backend, específicamente para compilar protos y Kotlin en objetos binarios de JVM, con el uso de la caché remota. (fuente)
Solo
Just es una empresa de tecnología financiera empresarial con sede en Noruega que crea soluciones de software para transformar la forma en que los tesoreros corporativos globales administran el riesgo y la liquidez. Toda su pila de aplicaciones se compila con Bazel.
Line
Line proporciona una app para comunicaciones instantáneas, que es la aplicación de mensajería más popular de Japón. Usan Bazel en su base de código, que consta de alrededor de un 60% de Swift y un 40% de C/C++/Objective-C/Objective-C++ (fuente).
Después de cambiar a Bazel, pudimos lograr una gran mejora en los tiempos de compilación. Esto generó una mejora significativa en el tiempo de respuesta durante un período de QA. Distribuir una compilación nueva a nuestros verificadores ya no significa otra hora de espera para compilar y probar. (Mejora el rendimiento de compilación de LINE para iOS con Bazel)
LingoChamp
LingoChamp ofrece soluciones profesionales a los estudiantes de inglés. Usamos Bazel para nuestros proyectos de Go, Java y Python.
LinkedIn, una subsidiaria de Microsoft, es la red social profesional más grande del mundo. LinkedIn usa Bazel para compilar sus apps para iOS.
Software de Lucid
Lucid Software es líder en colaboración visual y ayuda a los equipos a ver y crear el futuro desde la idea hasta la realidad. Con sus productos, Lucidchart, Lucidspark y Lucidscale, los equipos pueden alinearse en torno a una visión compartida, aclarar la complejidad y colaborar de forma visual, sin importar dónde se encuentren.
Lucid usa Bazel para compilar millones de líneas de Scala y TypeScript. La migración a Bazel aceleró enormemente sus compilaciones, redujo las dependencias externas en el entorno de compilación y simplificó la experiencia de los desarrolladores con el sistema de compilación. Bazel mejoró la productividad de los desarrolladores en Lucid y desbloqueó un mayor crecimiento.
Lyft
Lyft usa Bazel para sus apps para iOS (fuente) y Android.
Reunión
Meetup es un portal de redes sociales en línea que facilita las reuniones grupales sin conexión. El equipo de Ingeniería de Meetup contribuye a rules_scala y es el encargado de rules_avro y rules_openapi.
NVIDIA
En Nvidia, usamos dazel(docker bazel) para Python para solucionar algunas de las deficiencias de Python de Bazel. Todo lo demás se ejecuta en Bazel normal (principalmente Go / Scala/ C++/ Cuda) (fuente).
Tecnología de Peloton
Peloton Technology es una empresa de tecnología de vehículos automatizados que aborda los accidentes de camiones y el uso de combustible. Usan Bazel para habilitar compilaciones confiables para sistemas de seguridad automotriz.
Pigweed
Pigweed es una solución de código abierto para el desarrollo de productos incorporados continuo, sólido y rápido para equipos grandes. Pigweed se envió en millones de dispositivos, incluidos el paquete de dispositivos Pixel de Google, los termostatos Nest, los satélites y los drones aéreos autónomos.
Pigweed usa Bazel como su sistema de compilación principal. En la entrada de blog Bazel for Embedded, se explica por qué creemos que es un excelente sistema de compilación para proyectos integrados.
Pinterest es el catálogo de ideas del mundo. Usan Bazel para compilar varios servicios de backend (Java/C++) y la aplicación para iOS (Objective-C/C++).
Identificamos que Bazel era la mejor opción para nuestros objetivos de crear una base para lograr una mejora de orden de magnitud en el rendimiento, eliminar la variabilidad en los entornos de compilación y adoptarlo de forma incremental. Como resultado, ahora enviamos todas nuestras versiones para iOS con Bazel. Cómo desarrollar compilaciones de iOS rápidas y confiables en Pinterest
PubRef
PubRef es una plataforma emergente de publicación científica. Usan Bazel con rules_closure para compilar el frontend, reglas de Java nativas para compilar el backend principal, rules_go, rules_node y rules_kotlin para compilar varios servicios de backend. rules_protobuf se usa para ayudar con la comunicación basada en gRPC entre los servicios de backend. PubRef.org se encuentra en Boulder, Colorado.
Redfin
Redfin es una agencia inmobiliaria de nueva generación con agentes locales de servicio completo. Usan Bazel para compilar e implementar el sitio web y varios servicios de backend.
Ahora que la conversión está casi completa, todo está mucho mejor. Nuestras compilaciones de CI son más rápidas (mucho más rápidas: solían tardar entre 40 y 90 minutos, y ahora las compilaciones de dev duran entre 5 y 6 minutos). La confiabilidad también es mucho mayor. Esto es más difícil de cuantificar, pero el cambio de que las fallas de compilación inexplicables sean algo que “simplemente sucede” a que se vean como problemas reales que se deben resolver nos llevó a un ciclo virtuoso de confiabilidad cada vez mayor. (Pasamos de Maven a Bazel y las compilaciones se volvieron 10 veces más rápidas).
Ritual
Ritual es una app de retiro móvil que conecta restaurantes con clientes para ofrecer una herramienta simple y que ahorra tiempo para obtener los alimentos y las bebidas que desean, sin esperas. Ritual usa Bazel para sus servicios de backend.
Snap
Snap, el desarrollador de la app de mensajería Snapchat, migró de Buck a Bazel en 2020 (fuente). Para obtener más detalles sobre su proceso, consulta su blog de ingeniería.
Stripe
Stripe proporciona soluciones de pago móvil. Usan Bazel en sus canalizaciones de compilación y prueba, como se detalla en su blog de ingeniería.
Tinder
Tinder migró su app para iOS de CocoaPods a Bazel en 2021 (fuente).
Tink
Tink es una fintech europea que crea la mejor manera de conectarse con bancos de toda Europa.
Usan Bazel para compilar sus servicios de backend a partir de un monorepo poliglota. Los ingenieros de Tink organizan el grupo de reuniones bazel build //stockholm/….
Tokopedia
Tokopedia es una empresa de tecnología de Indonesia especializada en comercio electrónico, con más de 90 millones de usuarios activos mensuales y más de 7 millones de comercios en la plataforma.
Escribió el artículo How Tokopedia Achieved 1000% Faster iOS Build Time, en el que explica cómo Bazel aceleró sus compilaciones. La duración de la compilación pasó de 55 a 10 minutos con Bazel y disminuyó a 5 minutos con la caché remota.
Trunk.io
Trunk es una empresa con sede en San Francisco respaldada por Andreessen Horowitz y Initialized Capital. Trunk ofrece un potente servicio de combinación de solicitudes de extracción con compatibilidad de primer nivel para el sistema de compilación de Bazel. Aprovechando el conocimiento de Bazel sobre las dependencias dentro de una base de código, el servicio de combinación de Trunk crea de forma inteligente carriles de combinación en paralelo, lo que permite que los cambios independientes se prueben y combinen de forma simultánea.
El monorepo interno de Trunk compila C++ 20 y typescript modernos, al mismo tiempo que aprovecha el conocimiento del gráfico de Bazel para probar y combinar código de forma selectiva.
Twitter tomó la decisión de migrar de Pants a Bazel como su herramienta de compilación principal (fuente).
Two Sigma
Two Sigma es una empresa de tecnología con sede en Nueva York dedicada a encontrar valor en los datos del mundo.
TypeDB
TypeDB es una tecnología de base de datos que se puede usar para modelar de forma intuitiva los datos interconectados. A través de su lenguaje de consulta polimórfico y teórico de tipos, TypeQL, se puede acceder a los datos con consultas simples legibles por humanos que se ejecutan a la velocidad de la luz.
Bazel permite que el equipo de TypeDB compile una canalización de distribución y CI altamente orquestada que administra muchos repositorios en una amplia variedad de lenguajes y se implementa en varias plataformas sin problemas. El equipo de TypeDB también lanzó reglas de Bazel para ensamblar e implementar distribuciones de software.
Uber
Uber es una empresa de transporte privado con conductor. Con 900 desarrolladores activos, es probable que el monorepo de Go de Uber sea uno de los repositorios de Go más grandes que usan Bazel. Consulta el artículo Cómo compilar el monorepo de Go de Uber con Bazel para obtener más información sobre su experiencia.
Uber Advanced Technologies Group
El Uber Advanced Technologies Group se enfoca en los esfuerzos de Uber por desarrollar vehículos autónomos, incluidos los camiones de carga y el transporte privado con conductor autónomo. La organización usa Bazel como su sistema de compilación principal.
Ver contenido multimedia
Vistar Media es una plataforma publicitaria que permite a las marcas llegar a los consumidores según su comportamiento en el mundo físico. Su equipo de ingeniería se encuentra principalmente en Filadelfia y usa Bazel para compilaciones, implementaciones, para acelerar las pruebas y consolidar repositorios escritos con una variedad de tecnologías diferentes.
VMware
VMware usa Bazel para producir compilaciones deterministas y confiables mientras desarrolla productos innovadores para sus clientes.
Wix
Wix es una plataforma de desarrollo web basada en la nube. Su backend usa código Java y Scala. Usan la ejecución remota con Google Cloud Build.
Observamos compilaciones limpias aproximadamente 5 veces más rápidas cuando se ejecutan con la ejecución remota de Bazel, que aprovecha las excelentes capacidades de paralelismo de compilación y prueba de Bazel cuando envía acciones de compilación y prueba a una granja de trabajadores. Los tiempos de compilación promedio son más de 10 veces más rápidos debido al uso del mecanismo de almacenamiento en caché agresivo de Bazel. (¿Quieres migrar a Bazel desde Maven o Gradle? 5 preguntas cruciales que debes hacerte).
Zenly
Zenly es un mapa en vivo de tus amigos y familiares. Es la forma más divertida de reunirse o simplemente ver qué está pasando. para que puedan sentirse juntos, incluso cuando estén separados.
Proyectos de código abierto que usan Bazel
Abseil
Abseil es una colección de código C++ de código abierto (compatible con C++11) diseñada para mejorar la biblioteca estándar de C++.
Angular
Angular es un framework web popular. Angular se compila con Bazel.
Apollo
Apollo es una arquitectura flexible y de alto rendimiento que acelera el desarrollo, las pruebas y la implementación de vehículos autónomos.
brpc
Un framework de RPC de grado industrial que se usa en todo Baidu, con más de 1,000,000 de instancias(sin contar los clientes) y miles de tipos de servicios, llamado “baidu-rpc” dentro de Baidu.
cert-manager
cert-manager es un complemento de Kubernetes para automatizar la administración y la emisión de certificados TLS desde varias fuentes de emisión. Se asegurará de que los certificados sean válidos y estén actualizados periódicamente, y de intentar renovarlos en un momento adecuado antes de que venzan.
CallBuilder
Un generador de código Java que te permite crear un compilador escribiendo una función.
CPPItertools
Biblioteca de C++ que proporciona complementos de bucle for basados en rangos inspirados en las funciones integradas de Python y la biblioteca itertools. Al igual que itertools y las funciones integradas de Python3, esta biblioteca usa la evaluación diferida siempre que sea posible.
Copybara
Copybara es una herramienta para transformar y mover código entre repositorios.
Dagger
Dagger es un framework de inyección de dependencias totalmente estático y en tiempo de compilación para Java y Android.
DAML
DAML es un lenguaje de contratos inteligentes para compilar aplicaciones distribuidas a prueba de futuro en un entorno de ejecución seguro y que respeta la privacidad.
DeepMind Lab
Una plataforma 3D personalizable para la investigación de IA basada en agentes.
Drake
Drake es una caja de herramientas de C++ que se inició en el MIT y que ahora dirige el Instituto de Investigación de Toyota. Es un conjunto de herramientas para analizar la dinámica de nuestros robots y compilar sistemas de control para ellos, con un gran énfasis en el diseño y el análisis basados en la optimización.
Envoy
Proxy y bus de comunicación de L7 de C++
Es propenso a errores
Detecta errores comunes de Java como errores de tiempo de compilación. (La migración a Bazel está en marcha).
Proxy de servicio extensible
El proxy de servicio extensible, también conocido como ESP, es un proxy que habilita las funciones de administración de API para servicios de API de JSON/REST o gRPC. La implementación actual se basa en un servidor de proxy inverso HTTP de NGINX.
FFruit
FFruit es una aplicación para Android gratuita y de código abierto del popular servicio Falling Fruit.
Gerrit Code Review
Gerrit es una herramienta de revisión de código y administración de proyectos para proyectos basados en Git.
Gitiles
Gitiles es un navegador de repositorios simple para repositorios de Git, compilado en JGit.
Grakn
Grakn (https://grakn.ai/) es el motor de gráficos de conocimiento para organizar redes complejas de datos y hacer que se puedan consultar.
GRPC
Un sistema de llamadas de procedimiento remoto neutral en cuanto a lenguaje y plataforma. (Bazel es un sistema de compilación compatible, aunque no principal).
gVisor
gVisor es una zona de pruebas del entorno de ejecución del contenedor.
Guetzli
Guetzli es un codificador JPEG que tiene como objetivo lograr una excelente densidad de compresión con alta calidad visual.
Gulava
Un generador de código Java que te permite escribir predicados al estilo de Prolog y usarlos sin problemas desde el código Java normal.
Heron
Heron es un motor de procesamiento de transmisiones distribuido, tolerante a errores y en tiempo real de Twitter.
Jazzer
Jazzer es un generador de fuzz para Java y otros lenguajes basados en JVM que se integra en JUnit 5.
JGit
JGit es una biblioteca ligera y pura de Java que implementa el sistema de control de versiones de Git.
Jsonnet
Un lenguaje elegante y formalmente especificado para la generación de configuración de JSON. (Bazel es un sistema de compilación compatible).
Kubernetes
Kubernetes es un sistema de código abierto para administrar aplicaciones alojadas en contenedores en varios hosts, lo que proporciona mecanismos básicos para la implementación, el mantenimiento y el escalamiento de aplicaciones.
Kythe
Un ecosistema para compilar herramientas que funcionen con código.
Nomulus
Servicio de registro de nombres de dominio de nivel superior en Google App Engine.
ONOS : Sistema operativo de red abierto
ONOS es la única plataforma de controlador de SDN que admite la transición de redes heredadas de “campos marrones” a redes de SDN de “campos verdes”. Esto permite funciones nuevas y emocionantes, y puntos de costo operativos y de implementación disruptivos para los operadores de red.
PetitParser para Java
Las gramáticas de los lenguajes de programación se especifican de forma estática. Son difíciles de componer y reutilizar debido a las ambigüedades que surgen inevitablemente. PetitParser combina ideas de análisis sin escáner, combinadores de analizadores, gramáticas de expresiones de análisis y analizadores de packrat para modelar gramáticas y analizadores como objetos que se pueden reconfigurar de forma dinámica.
PlaidML
PlaidML es un framework para hacer que el aprendizaje profundo funcione en todas partes.
Proyecto V
Project V es un conjunto de herramientas para ayudarte a crear tu propia red de privacidad a través de Internet.
Implementación de Ethereum 2.0 de Prysmatic Labs
Prysm es un cliente de fragmentación para Ethereum 2.0, una plataforma de procesamiento distribuido basada en cadenas de bloques.
Ray
Ray es un framework de ejecución distribuido flexible y de alto rendimiento.
Resty
Resty es una biblioteca cliente HTTP y REST simple para Go (inspirada en el cliente de REST de Ruby).
Roughtime
Roughtime es un proyecto que tiene como objetivo proporcionar una sincronización del tiempo segura.
Selenium
Selenium es un framework portátil para probar aplicaciones web.
Semántica
Semantic es una biblioteca de Haskell y una herramienta de línea de comandos para analizar, comparar y analizar el código fuente. GitHub lo desarrolló (y se usa, por ejemplo, para la navegación de código).
% publicado
Served es una biblioteca C++ para compilar servidores web RESTful de alto rendimiento.
Sonnet
Sonnet es una biblioteca compilada sobre TensorFlow para crear redes neuronales complejas.
Sorbet
Sorbet es un verificador de tipos rápido y potente para un subconjunto de Ruby. Se escala a bases de código con millones de líneas de código y se puede adoptar de forma incremental.
Spotify
Spotify usa Bazel para compilar sus apps para iOS y Android (fuente).
Tink
Tink es una biblioteca de código abierto multiplataforma y multilingüe que proporciona APIs criptográficas que son seguras, fáciles de usar correctamente y más difíciles de usar de forma inadecuada.
TensorFlow
Una biblioteca de software de código abierto para la inteligencia artificial.
Turbo Santa
Un emulador de GameBoy independiente de la plataforma.
Wycheproof
Project Wycheproof prueba bibliotecas de criptografía contra ataques conocidos.
XIOSim
XIOSim es un simulador de microarquitectura detallado en modo de usuario para la arquitectura x86.
ZhihuDailyPurify
ZhihuDailyPurify es una versión liviana de Zhihu Daily, un sitio web chino de preguntas y respuestas.