Chi usa Bazel

Questa pagina elenca aziende e progetti OSS noti per utilizzare Bazel. Ciò non costituisce un'approvazione.

Aziende che utilizzano Bazel

ACQIO

Acqio è una tecnofinanza che offre prodotti e servizi a pagamento per piccole e medie imprese. Acqio utilizza alcuni monorepos e utilizza Bazel insieme a Kubernetes per fornire microservizi rapidi e affidabili.

Adobe

Adobe ha rilasciato regole di Bazel per i deployment Kubernetes continui basati su GitOps.

Asana

Asana è un'applicazione web e per dispositivi mobili progettata per aiutare i team a monitorare il proprio lavoro. Con le loro parole:

Bazel ha aumentato affidabilità, stabilità e velocità per tutte le build e tutti i test in Asana. Non è più necessario eseguire la pulizia a causa di cache errate.

Ascend.io

Ascend è una startup Palo Alto che offre soluzioni per grandi set di dati. Il motto è I big data sono difficili. Semplifichiamo i processi.

Cera di api

Beeswax è una startup con sede a New York che fornisce offerte in tempo reale come servizio. Bazel potenzia il suo framework basato su integrazione e deployment continui Jenkins. Beeswax ama Bazel perché è velocissima, corretta e ben supportata su molte lingue e piattaforme.

Braintree

Braintree, una consociata di PayPal, sviluppa soluzioni di pagamento per siti web e applicazioni. Utilizzano Bazel per parti della propria build interna e Paul Gross ha persino pubblicato un bello articolo sul passaggio al Bazel.

Tela

Canva utilizza Bazel per gestire il suo ampio codebase polyglot, che include Java, Typescript, Scala, Python e altri ancora. La migrazione a Bazel ha fornito efficienze infrastrutturali per sviluppatori e computing significative, ad esempio una diminuzione di 5-6 volte dei tempi di build medi dell'infrastruttura informatica e continua a essere la base di build di software veloci, riproducibili e standardizzati l'azienda.

CarGuru

CarGurus ha l'obiettivo di creare il mercato automobilistico più affidabile e trasparente al mondo e utilizza Bazel per realizzare il monorepo poliglotta.

Bussola

Compass è una piattaforma immobiliare basata sulla tecnologia. Con un team esclusivo di professionisti del settore immobiliare, tecnologico e aziendale, intendiamo essere la fonte migliore e più affidabile per chi cerca casa.

Databricks

Databricks offre aree di lavoro integrate basate su cloud basate su Apache SparkTM.

Il codebase su Datamatts è un monorepo contenente il codice Scala che supporta la maggior parte dei nostri servizi, JavaScript per l'interfaccia utente front-end, Python per lo scripting, Jacquard per configurare la nostra infrastruttura e molto altro [...] persino anche se il nostro monorepo contiene un milione di righe di Scala, lavorare con il codice all'interno è veloce e veloce. (Speedy Scala Builds con Bazel su Databricks)

Modulo dati

Dataform fornisce analisi scalabili per i team di dati. Mantiene una manciata di pacchetti NPM e un sito di documentazione in un unico monorepo e il tutto con Bazel.

Dopo la migrazione a Bazel, hanno segnalato numerosi vantaggi, tra cui:

  • CI più veloce: abbiamo abilitato la memorizzazione nella cache della build remota che ha ridotto il tempo medio di compilazione da 30 minuti a 5 (per l'intero repository).
  • Miglioramenti allo sviluppo locale: zero script bash casuali che si dimenticano di eseguire, build incrementali ridotte a pochi minuti
  • Tempi di configurazione dello sviluppatore: i nuovi ingegneri possono creare tutto il nostro codice con tre sole dipendenze: bazel, docker e JVM. L'ultimo ingegnere del team è riuscito a creare il nostro codice in meno di 30 minuti su un laptop nuovo di zecca e vuoto

FISHLABS Argento scuro

Deep Silver FISHLABS è uno sviluppatore di giochi 3D di fascia alta. Utilizzano Bazel con C++/Python/Go/C come base per gli strumenti di creazione interni e soprattutto per cuocere al forno ed eseguire il deployment di tutti i loro asset 3D.

Dropbox

In Dropbox, Bazel è un componente chiave del nostro ambiente di test e build distribuito. Utilizziamo Bazel per combinare Typescript/Python/Go/C/Rust in release di produzione affidabili.

Engel & Völkers

Engel & Völkers AG è una società tedesca di proprietà privata che, tramite una serie di uffici in franchising, fornisce servizi relativi a transazioni immobiliari.

Uno dei nostri progetti interni ha registrato una diminuzione del tempo di compilazione da 11 minuti a circa 1 minuto: si tratta di un risultato straordinario e stiamo lavorando per rendere Bazel ad altri progetti. (Sperimentare con Google Cloud Build e Bazel)

Etsy

Etsy è un sito web di e-commerce specializzato in articoli e forniture fatti a mano o vintage, oltre che articoli unici realizzati in fabbrica.

Utilizzano Bazel per creare e testare la sua piattaforma di ricerca basata su Java. Bazel produce entrambi i pacchetti per server Bare Metal e immagini Docker ripetibili.

Evertz.io

Evertz.io è una piattaforma SaaS serverless multi-tenant che offre servizi a livello di più aree geografiche in tutto il mondo al settore della trasmissione di contenuti, creata da Evertz Microsystems.

Il sito web è completamente creato e implementato con un flusso di lavoro Angular e Bazel (origine).

TROVINO

FINDMINE è una tecnologia di automazione per il settore retail che utilizza il machine learning per scalare il processo di selezione dei prodotti attualmente manuale e noioso. Utilizziamo Bazel per meccanizzare il nostro intero processo di creazione, test e deployment di pacchetti Python.

Flexport

Flexport è un corriere internazionale abilitato per la tecnologia. la nostra missione è rendere il commercio globale più facile per tutti. In Flexport, utilizziamo Bazel per creare/testare i nostri servizi e le librerie client Java e JavaScript e per generare il codice Java e Ruby dalle definizioni protobuf. Scopri come eseguiamo singoli test di JUnit 5 in isolamento con Bazel.

Google

Bazel è stato progettato per essere in grado di soddisfare le esigenze di Google e per soddisfare i requisiti di Google relativi a riproducibilità e piattaforma/lingua. Tutto il software di Google è basato su Bazel. Google utilizza Bazel e le sue regole per milioni di build ogni giorno.

GRAKN.AI

Logo GRAKN AI

Grakn è una tecnologia di database che funge da base di conoscenza per sistemi intelligenti. Grakn consente ai sistemi intelligenti di interpretare set di dati complessi come un singolo insieme di conoscenze che possono essere logicamente ragionate. Bazel consente al team di @graknlabs di creare una pipeline di CI e distribuzione a orchestrazione elevata che gestisce più repository in più lingue ed esegue il deployment senza interruzioni su numerose piattaforme.

Huawei

Huawei Technologies utilizza Bazel in circa 30 progetti, ovvero Java/Scala/Go, ad eccezione dei progetti Go, mentre altri sono stati realizzati inizialmente da Maven. Scriviamo un semplice strumento per tradurre un progetto realizzato da Maven in un progetto realizzato da Bazel. Un numero sempre maggiore di progetti userà Bazel nel recente futuro.

Commercio di IMC

IMC è una multinazionale proprietaria di trading e leader di mercato con sede ad Amsterdam. Utilizziamo Bazel per sviluppare e testare continuamente i nostri progetti Java/C++/Python/SystemVerilog.

Improbable.io

Improbable.io sviluppa SpatialOS, un sistema operativo distribuito che consente di creare enormi simulazioni abitate da milioni di entità complesse.

Interaxon

InteraXon è un'azienda di computing controllata da pensiero che crea piattaforme hardware e software per convertire le onde cerebrali in segnali digitali.

Giove

Giove è un'azienda che ogni settimana consegna prodotti alimentari ed essenziali.

Utilizzano Bazel nel codice di backend, in modo specifico per compilare protos e Kotlin ai programmi binari JVM, utilizzando la memorizzazione nella cache remota. (origine)

Solo

Just è un'azienda di tecnologia finanziaria aziendale con sede in Norvegia, che crea soluzioni software per trasformare il modo in cui i tesorieri globali gestiscono il rischio e la liquidità. L'intero stack di applicazioni è basato su Bazel.

Kitty Hawk Corporation

Kitty Hawk Corporation è una società americana che produce velivoli elettrici. e usa Bazel con le regole Haskell e Scala.

Linea

Line fornisce un'app per le comunicazioni istantanee, che è l'applicazione di messaggistica più popolare in Giappone. Utilizzano Bazel nel codebase composto per circa il 60% da Swift e per il 40% C/C++/Objective-C/Objective-C++ (fonte).

Dopo il passaggio a Bazel, abbiamo potuto ottenere un notevole miglioramento nei tempi di compilazione. Tutto questo ha portato a un miglioramento significativo del tempo di risposta durante un periodo di QA. La distribuzione di una nuova build ai nostri tester non significa più un'ora in attesa di creazione e test. (Miglioramento delle prestazioni della build di LINE per iOS con Bazel)

LingoChamp

LingoChamp offre soluzioni professionali agli studenti di inglese. Utilizziamo Bazel per i nostri progetti go, java e python.

LinkedIn

LinkedIn, una consociata di Microsoft, è il più grande social network professionale e al mondo. LinkedIn utilizza Bazel per creare le sue app per iOS.

Lyft

Lyft utilizza Bazel per le sue app per iOS (fonte).

makani

Makani, ora consociata di Google, sviluppa kit energetici e utilizza Bazel per creare il proprio software (incluso il software C++ incorporato).

Meetup

Meetup è un portale di social networking online che facilita le riunioni di gruppo offline. Il team di tecnici di Meetup contribuisce a rules_scala ed è responsabile di rules_avro e rules_openapi.

Nvidia

In Nvidia abbiamo utilizzato dazel(docker bazel) per i pitoni per favorire le versioni brevi di bazel. Tutto il resto viene eseguito in bazel normale (prevalentemente Go / Slala/ C++/ Cuda) (fonte)

Tecnologia Peloton

Peloton Technology è un'azienda di tecnologia dei veicoli automatizzata che si occupa di incidenti stradali e utilizzo di carburante. Utilizzano Bazel per abilitare build affidabili per i sistemi di sicurezza automobilistici.

Pinterest

Pinterest è il catalogo di idee di tutto il mondo. Utilizzano Bazel per creare vari servizi di backend (Java/C++) e l'applicazione per iOS (Objective-C/C++).

Abbiamo scoperto che Bazel era la scelta migliore per i nostri obiettivi e creare una base per un ordine di miglioramento delle prestazioni di ampia portata, eliminare la variabilità negli ambienti di build e adottare in modo incrementale. Di conseguenza, spediamo tutte le nostre release iOS tramite Bazel. Sviluppo di build iOS rapide e affidabili su Pinterest

PubRef

PubRef è una piattaforma di pubblicazione scientifica emergente. Utilizzano Bazel con rules_closure per creare il frontend, le regole Java native per creare il backend principale, rules_go, rules_node e rules_kotlin per creare vari servizi di backend. rules_protobuf viene utilizzato per facilitare le comunicazioni basate su gRPC tra i servizi di backend. PubRef.org ha sede a Boulder, CO.

Redfin

Redfin è una piattaforma di intermediazione immobiliare di ultima generazione con agenti locali a servizio completo. Usano Bazel per creare ed eseguire il deployment del sito web e vari servizi di backend.

Con la conversione che ci sta principalmente dietro, le cose migliorano notevolmente. Le nostre build CI sono più veloci (molto più velocemente: prima richiedevano 40-90 minuti e ora le build in media sono 5-6 minuti). Anche l'affidabilità è molto più alta. Questo è più difficile da quantificare, ma il passaggio da errori di compilazione inspiegabili al fatto di essere semplicemente "conseguiti" come problemi reali da risolvere ha portato a un ciclo virtuoso di crescente affidabilità. , (Siamo passati da Maven a Bazel e le build sono 10 volte più veloci)

Rituale

Ritual è un'app per ritirare i dispositivi mobili, che mette in contatto i ristoranti con i clienti per offrire un semplice strumento che consente di risparmiare tempo per ottenere il cibo e le bevande che vogliono, senza aspettare. Ritual utilizza Bazel per i servizi di backend.

Aggancia

Snap, lo sviluppatore dell'app di messaggistica Snapchat, ha eseguito la migrazione da Buck a Bazel nel 2020 (fonte). Per ulteriori dettagli sul processo, consulta il relativo blog dell'ingegneria.

Strisce

Stripe offre soluzioni di pagamento da dispositivi mobili. Sono i principali responsabili delle regole di Bazel Scala.

Bevi

Tink è una tecnologia finanziaria europea che rappresenta il modo migliore per entrare in contatto con le banche di tutta Europa.

Sta utilizzando Bazel per creare i propri servizi di backend da un monorepo poliglotta. Gli ingegneri di Tink organizzano il gruppo di meetup bazel build //stockholm/....

Tokopedia

Tokopedia è una società tecnologica indonesiana specializzata nell'e-commerce, con più di 90 milioni di utenti attivi ogni mese e oltre 7 milioni di commercianti sulla piattaforma.

Hanno scritto l'articolo Come Tokopedia ha ottenuto un tempo di build iOS 1000% più veloce, in cui spiega come Bazel ha velocizzato le proprie build. La durata della build è passata da 55 minuti a 10 minuti utilizzando Bazel e fino a 5 minuti con la memorizzazione nella cache remota.

Twitter

Twitter ha deciso di eseguire la migrazione da Pants a Bazel come strumento di build principale (source).

Due Sigma

Two Sigma è una società tecnologica con sede a New York che si occupa di trovare valore nei dati di tutto il mondo.

Uber

Uber è un'azienda di ride-hailing Con 900 sviluppatori attivi, il monorepo di Uber è probabilmente uno dei più grandi repository Go che utilizzano Bazel. Leggi l'articolo Building Uber's Go Monorepo with Bazel per scoprire di più sulla loro esperienza.

Uber Advanced Technologies Group

Uber Advanced Technologies Group si concentra sulle attività autonome dei veicoli a Uber, tra cui il trasporto merci/furto e la condivisione delle corse autonoma. L'organizzazione utilizza Bazel come sistema di build principale.

Visualizzazione multimediale

Vistar Media è una piattaforma pubblicitaria che consente ai brand di raggiungere i consumatori in base al loro comportamento nel mondo fisico. Il suo team di ingegneri, con sede principalmente a Filadelfia, utilizza Bazel per build, deployment, velocizzare i test e consolidare repository scritti con una serie di tecnologie diverse.

VMware

VMware utilizza Bazel per produrre build deterministiche e affidabili durante lo sviluppo di prodotti innovativi per i propri clienti.

Wix

Wix è una piattaforma di sviluppo web basata su cloud. Il backend utilizza Java e il codice Scala. Utilizzano l'esecuzione remota con Google Cloud Build.

Abbiamo visto circa 5 volte più pulite le build durante l'esecuzione con l'esecuzione remota di bazel, che utilizzano le eccezionali capacità di build/test di parallelismo di bazel quando invia azioni di build/test a una farm worker. I tempi di compilazione medi sono più di 10 volte più veloci grazie all'utilizzo del meccanismo di memorizzazione nella cache aggressiva di bazel. Migrazione a Bazel da Maven o Gradle? 5 domande che dovresti porti)

Zenly

Zenly è una mappa in tempo reale di amici e familiari. È il modo più divertente per incontrarsi o semplicemente per vedere cosa succede. per stare insieme anche quando ti allontani.


Progetti open source con Bazel

Assesi

Abseil è una raccolta open source di codice C++ (conforme a C++11) progettata per aumentare la libreria standard di C++.

Angolare

Angular è un framework web molto utilizzato. Angular è creato con Bazel.

Apollo

Apollo è un'architettura flessibile e ad alte prestazioni che accelera lo sviluppo, il test e il deployment di veicoli autonomi.

RCP

Un framework RPC di livello industriale utilizzato in Baidu, con oltre 1.000.000 di istanze(senza client di conteggio) e migliaia di tipi di servizi, chiamati "baidu-rpc" in Baidu.

certificazione-gestore

cert-manager è un componente aggiuntivo di Kubernetes che automatizza la gestione e l'emissione di certificati TLS da varie origini di emissione. Garantirà che i certificati siano validi e aggiornati periodicamente e proverà a rinnovarli a un orario appropriato prima della scadenza.

Generatore di chiamate

Un generatore di codice Java che ti consente di creare un builder scrivendo una funzione.

CPPItertools

Libreria C++ che fornisce componenti aggiuntivi basati su intervalli per componenti aggiuntivi di loop basati su Python integrato e una libreria itertools. Come itertools e Python integrato, questa libreria utilizza la valutazione lento ove possibile.

Copybara

Copybara è uno strumento per trasformare e spostare il codice tra i repository.

Pugno

Dagger è un framework di inserimento di dipendenze in fase di compilazione completamente statico, sia per Java sia per Android.

DAML

DAML è un linguaggio contrattuale intelligente per la creazione di applicazioni distribuite a prova di futuro in un runtime sicuro e incentrato sulla privacy.

DeepMind Lab

Una piattaforma 3D personalizzabile per la ricerca AI basata su agenti.

Drake

Drake è uno strumento C++ avviato dal MIT e ora gestito dal Toyota Research Institute. È una raccolta di strumenti per analizzare le dinamiche dei nostri robot e per creare sistemi di controllo, con particolare attenzione alla progettazione e all'analisi basate sull'ottimizzazione.

Envoy

Proxy C++ L7 e bus di comunicazione

Soggetto a errori

Rileva gli errori comuni di Java come errori in fase di compilazione. (è in corso la migrazione a Bazel).

Extensible Service Proxy

Extensible Service Proxy, noto anche come ESP, è un proxy che abilita le funzionalità di gestione delle API per i servizi API JSON/REST o gRPC. L'implementazione attuale si basa su un server proxy inverso HTTP NGINX.

Frutta

FFruit è un'applicazione Android open source gratuita destinata al noto servizio Falling fruit.

Revisione codice Gerrit

Gerrit è uno strumento per la revisione del codice e la gestione dei progetti per progetti basati su Git.

Gi maggiore

Gitiles è un semplice browser per repository Git, basato su JGit.

Grakn

Grakn (https://grakn.ai/) è il motore del Knowledge Graph per organizzare reti di dati complesse e renderli interrogabili.

GRPC

Un sistema di chiamate a procedura remota indipendente da piattaforma e linguaggio. (Bazel è un sistema di compilazione supportato, anche se non è principale).

gVisor

gVisor è una sandbox di runtime del container.

Guetzli

Guetzli è un codificatore JPEG che mira a offrire un'eccellente densità di compressione ad alta qualità visiva.

Gulava

Un generatore di codice Java che ti consente di scrivere predicati in stile Prolog e di utilizzarli senza problemi dal normale codice Java.

Erone

Heron è un motore di elaborazione dei flussi di dati in tempo reale, distribuito e a tolleranza di errore di Twitter.

JGit

JGit è una libreria Java leggera e pura che implementa il sistema di controllo delle versioni Git.

Jsonnet

Un linguaggio di generazione di configurazione elegante e specificato formalmente per JSON. (Bazel è un sistema di compilazione supportato).

Kubernetes

Kubernetes è un sistema open source per la gestione delle applicazioni containerizzate su più host, che fornisce meccanismi di base per il deployment, la manutenzione e la scalabilità delle applicazioni.

Kythe

Un ecosistema per la creazione di strumenti compatibili con il codice.

Nomulo

Servizio di registro di nomi di dominio di primo livello su Google App Engine.

ONOS : sistema operativo Open Network

ONOS è l'unica piattaforma controller SDN che supporta la transizione dalle reti legacy con "campo marrone" alle reti "campo verde" SDN. Ciò consente di offrire nuove funzionalità e costi di deployment e operativi rivoluzionari per gli operatori di rete.

PetitParser per Java

I graffi per i linguaggi di programmazione sono tradizionalmente specificati in modo statico. Sono difficili da scrivere e riutilizzare a causa di ambiguità che inevitabilmente si manifestano. PetitParser combina idee di analisi senza scansione, analizzatori sintattici di analizzatori sintattici, analisi grammaticali delle espressioni e analizzatori sintattici packrat per modellare grammaticali e analizzatori sintattici come oggetti che possono essere riconfigurati in modo dinamico.

PlaidML

PlaidML è un framework per realizzare lavori di deep learning ovunque.

Progetto V

Il progetto V è un insieme di strumenti che ti aiuta a creare la tua rete di privacy su Internet.

Implementazione di Prysmatic Labs Ethereum 2.0

Prysm è un client di partizionamento per Ethereum 2.0, una piattaforma di calcolo distribuita basata su blockchain.

Raggio

Ray è un framework di esecuzione distribuito flessibile e ad alte prestazioni.

Resty

Resty è una libreria client HTTP e REST semplice per Go (ispirata al client-rest Ruby).

Tempo totale

Roughtime è un progetto che ha l'obiettivo di fornire una sincronizzazione temporale sicura.

Selenio

Selenium è un framework portatile per testare le applicazioni web.

semantica

Semantic è una libreria Haskell e uno strumento a riga di comando per l'analisi, l'analisi e il confronto del codice sorgente. È sviluppato da GitHub (e utilizzato ad esempio per la navigazione del codice).

Pubblicato

Viene pubblicata una libreria C++ per la creazione di server web RESTful ad alte prestazioni.

Conone

Sonnet è una libreria basata su TensorFlow per la creazione di reti neurali complesse.

Sorbetto

Sorbet è un potente strumento di controllo rapido per un sottoinsieme di Ruby. Scala fino a codebase con milioni di righe di codice e può essere adottato in modo incrementale.

Bevi

Tink è una libreria open source multipiattaforma e multipiattaforma che fornisce API crittografiche sicure, facili da utilizzare e utilizzate in modo errato.

TensorFlow

Una libreria software open source per la machine learning.

Turbo Santa

Un emulatore di GameBoy indipendente dalla piattaforma.

Impermeabile

Project Wycheproof verifica le librerie crittografiche contro gli attacchi noti.

XIOSIM

XIOSim è un simulatore di microarchitettura in modalità utente dettagliato per l'architettura x86.

Purificazione giornaliera

ZhihuDailyPurify è una versione leggera di Zhihu Daily, un sito web di domande e risposte cinese.