Bazel を使用しているユーザー

問題を報告 ソースを表示 Nightly · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

このページでは、Bazel を使用していることが確認されている企業と OSS プロジェクトを紹介します。これは推奨を意味するものではありません。

Bazel を使用している企業

acqio

Acqio は、中小規模の販売者に決済商品やサービスを提供するフィンテックです。Acqio にはいくつかの monorepos があり、Bazel と Kubernetes を使用して、高速で信頼性の高いマイクロサービスを提供しています。

Adobe

Adobe は、GitOps ドリブンの Kubernetes デプロイを継続的に行うための Bazel ルールをリリースしました。

Asana

Asana は、チームが作業を追跡できるように設計されたウェブ アプリケーションとモバイルアプリです。次のように記載されています。

Bazel により、Asana のすべてのビルドとテストの信頼性、安定性、速度が向上しました。キャッシュが正しくないためにクリーンアップする必要がなくなりました。

Ascend.io

Ascend は、大規模なデータセット分析ソリューションを提供するパロアルトのスタートアップです。モットーは「ビッグデータは難しい。

Beeswax

Beeswax は、リアルタイム入札サービスを提供するニューヨークに拠点を置くスタートアップです。Bazel は、Jenkins ベースの継続的インテグレーションと継続的デプロイのフレームワークを支えています。Beeswax は、非常に高速で正確であり、多くの言語とプラットフォームで十分にサポートされているため、Bazel を気に入っています。

Braintree

PayPal の子会社である Braintree は、ウェブサイトとアプリ向けの決済ソリューションを開発しています。内部ビルドの一部に Bazel を使用していますが、Paul Grad は Bazel への切り替えがうまくいった方法を投稿しています。

Canva

Canva は Bazel を活用して、Java、TypeScript、Scala、Python などの大規模な多言語コードベースを管理しています。Bazel への移行により、平均 CI ビルド時間が 5 ~ 6 倍短縮されるなど、開発者とコンピューティング インフラストラクチャの効率が大幅に向上しました。また、同社では引き続き、高速で再現可能かつ標準化されたソフトウェア ビルドの基盤となっています。

CarGurus

CarGurus は、世界で最も信頼性が高く透明性の高い自動車マーケットプレイスを構築することを使命としています。同社は Bazel を使用して、多言語の Monorepo を構築しています。

コンパス

Compass は、テクノロジーを活用した不動産プラットフォームです。不動産、テクノロジー、ビジネスの専門家からなるエリート チームを擁する Zillow は、家を探す人にとって最良かつ最も信頼できる情報源を目指しています。

Databricks

Databricks は、Apache Spark™ をベースとしたクラウドベースの統合ワークスペースを提供します。

Databricks コードベースは Monorepo です。Monorepo には、ほとんどのサービスを支える Scala コード、フロントエンド UI 用の JavaScript、スクリプト作成用の Python、インフラストラクチャを構成する Jsonnet などが含まれています。当社の monorepo には 100 万行の Scala 行が含まれていますが、内部のコード操作は高速です。(Databricks で Bazel を使用した高速な Scala ビルド

Dataform

Dataform は、データチームにスケーラブルな分析を提供します。1 つのモノレポにいくつかの NPM パッケージとドキュメント サイトを維持し、すべてを Bazel で処理しています。

Bazel への移行後、多くのメリットが報告されています。たとえば、次のようなものです。

  • CI の高速化: リモートビルド キャッシュを有効にすることで、平均ビルド時間を 30 分から 5 分に短縮しました(リポジトリ全体)。
  • ローカル開発の改善: 実行し忘れるランダムな bash スクリプトがなくなり、増分ビルドが数分から数秒に短縮
  • デベロッパーのセットアップ時間: 新しいエンジニアは、bazel、docker、JVM の 3 つの依存関係だけですべてのコードをビルドできます。チームに最後に加わったエンジニアは、新品の空のノートパソコンで 30 分以内にすべてのコードをビルドできました。

Deep Silver FISHLABS

Deep Silver FISHLABS は、ハイエンドの 3D ゲームを開発するデベロッパーです。C++/Python/Go/C とともに Bazel を内部ビルドツールのベースとして使用し、特にすべての 3D アセットのベイクとデプロイに使用します。

Dropbox

Dropbox では、Bazel は分散ビルド環境とテスト環境の重要なコンポーネントです。Google では、Bazel を使用して TypeScript/Python/Go/C/Rust を組み合わせて、信頼性の高い本番環境リリースを作成しています。

Engel & Völkers

Engel &Völkers AG はドイツの非公開企業であり、一連のフランチャイズ オフィスを介して不動産取引に関連するサービスを提供しています。

社内のプロジェクトの 1 つでは、コンパイル時間が 11 分から約 1 分に短縮されました。これは素晴らしい成果であり、現在、より多くのプロジェクトに Bazel を導入する取り組みを進めています。(Google Cloud Build と Bazel を試す)。

Etsy

Etsy は、ハンドメイドやヴィンテージのアイテムや用品、工場で製造されたユニークなアイテムに焦点を当てた e コマース ウェブサイトです。

Bazel を使用して、Java ベースの検索プラットフォームを構築、テストしています。Bazel は、ベアメタル サーバー用のパッケージと再現可能な Docker イメージの両方を生成します。

Evertz.io

Evertz.io は、Evertz Microsystems が作成した、放送メディア業界に世界中で費用対効果の高いマルチリージョン サービスを提供するマルチテナント サーバーレス SaaS プラットフォームです。

ウェブサイトは、Angular と Bazel のワークフロー(ソース)を使用して完全にビルドされ、デプロイされています。

FINDMINE

FINDMINE は、機械学習を使用して、現在手動で面倒な商品キュレーション プロセスをスケーリングする、小売業界向けの自動化技術です。Google では、Python パッケージのビルド、テスト、デプロイのプロセス全体を機械化するために、Bazel を使用しています。

Flexport

Flexport は、テクノロジーを活用したグローバルな貨物運送業者です。世界貿易を誰にとっても簡単にすることを使命としています。Flexport では、Bazel を使用して Java / JavaScript サービスとクライアント ライブラリのビルドとテストを行い、protobuf 定義から Java と Ruby コードを生成しています。Bazel で個々の JUnit 5 テストを個別に実行する方法についての記事

Google

Bazel は、Google のニーズに合わせてスケーリングし、再現性とプラットフォーム/言語のサポートに関する Google の要件を満たすことができるように設計されています。Google のソフトウェアはすべて Bazel を使用して構築されています。Google は、毎日何百万ものビルドに Bazel とそのルールを使用しています。

GRAKN.AI

GRAKN AI のロゴ

Grakn は、インテリジェント システムのナレッジベースの基盤として機能するデータベース テクノロジーです。Grakn を使用すると、インテリジェント システムは複雑なデータセットを、論理的に推論できる単一の知識体系として解釈できます。Bazel により、@graknlabs チームは、複数の言語の複数のリポジトリを管理し、多数のプラットフォームにシームレスにデプロイする高度なオーケストレーションの CI とディストリビューション パイプラインを構築できます。

Huawei

Huawei Technologies は、約 30 件のプロジェクトで Bazel を使用しています。これらは Java/Scala/Go プロジェクトです。Go プロジェクトを除き、他はもともと Maven でビルドされています。Maven でビルドされたプロジェクトを Bazel でビルドされたプロジェクトに変換する簡単なツールを作成します。今後、ますます多くのプロジェクトで Bazel が使用される予定です。

IMC Trading

IMC はアムステルダムに本社を置く、世界的な独自の取引会社兼マーケット メーカーです。Google では、Bazel を使用して、Java/C++/Python/SystemVerilog プロジェクトを継続的にビルドおよびテストしています。

Improbable.io

Improbable.io は、数百万もの複雑なエンティティが存在する巨大なシミュレーションを作成できる分散オペレーティング システムである SpatialOS を開発しています。

Interaxon

InteraXon は、脳波をデジタル シグナルに変換するハードウェアとソフトウェアのプラットフォームを開発している、ソート コントロールされたコンピューティング企業です。

Jupiter

Jupiter は、食料品や家庭用品を毎週配達する会社です。

バックエンド コードで Bazel を使用します。具体的には、リモート キャッシュを使用して proto と Kotlin を JVM バイナリにコンパイルします。(出典

Just はノルウェーに本社を置く金融テクノロジー企業で、世界中の企業の財務担当者がリスクと流動性を管理する方法を変革するソフトウェア ソリューションを開発しています。アプリケーション スタック全体が Bazel でビルドされている。

Kitty Hawk Corporation

Kitty Hawk Corporation は、電気航空機を製造する米国の航空機メーカーです。Haskell と Scala のルールで Bazel を使用します。

LINE

LINE は、日本で最も一般的なメッセージ アプリであるインスタント コミュニケーション用のアプリを提供しています。コードベースで Bazel を使用し、約 60% の Swift と 40% の C/C++/Objective-C/Objective-C++ を構成しています(出典)。

Bazel に切り替えた後、ビルド時間が大幅に短縮されました。これにより、QA 期間の処理時間が大幅に短縮されました。新しいビルドをテスターに配布しても、ビルドとテストにさらに 1 時間かかることはありません。(Bazel による iOS 版 LINE のビルド パフォーマンスの改善

LingoChamp

LingoChamp は、英語学習者に専門的なソリューションを提供しています。Google では、Go、Java、Python のプロジェクトに Bazel を使用しています。

LinkedIn

Microsoft の子会社である LinkedIn は、世界最大級のプロフェッショナル ソーシャル ネットワークです。LinkedIn は、iOS アプリのビルドに Bazel を使用しています。

Lucid Software

Lucid Software は、チームがアイデアを現実にしていくために、ビジュアル コラボレーションのリーダーとしてサポートしています。LucidchartLucidsparkLucidscale などの製品を使用すると、チームはどこにいても、共有ビジョンを調整し、複雑さを明確にし、視覚的にコラボレーションできます。

Lucid は Bazel を使用して、数百万行の Scala と TypeScript をビルドしています。Bazel に移行したことで、ビルドの速度が大幅に向上し、ビルド環境に対する外部依存関係が軽減され、デベロッパーによるビルドシステムの使用が簡素化されました。Bazel により、Lucid の開発者の生産性が向上し、さらなる成長の可能性が開かれました。

Lyft

Lyft は、iOS(出典)と Android アプリに Bazel を使用しています。

Makani

現在は Google の子会社である Makani は、エネルギー カイトを開発し、Bazel を使用してソフトウェア(埋め込み C++ ソフトウェアを含む)をビルドしています。

Meetup

Meetup は、オフラインでのグループ会議を促進するオンライン ソーシャル ネットワーク ポータルです。Meetup エンジニアリング チームは rules_scala に貢献し、rules_avrorules_openapi のメンテナンスを行います。

Nvidia

Nvidia では、bazel の Python の欠点を回避するために、Python に dazel(docker bazel)を使用してきました。その他のすべては通常の Bazel で実行されます(主に Go / Scala/ C++/ Cuda)(ソース

Peloton Technology

Peloton Technology は、トラックの事故や燃料の使用に対処する自動車両テクノロジー企業です。彼らは Bazel を使用して、自動車安全システムの信頼性の高いビルドを可能にします

Pinterest

Pinterest は世界中のアイデアを集めたカタログです。Bazel を使用して、さまざまなバックエンド サービス(Java/C++)と iOS アプリケーション(Objective-C/C++)をビルドします。

Google は、パフォーマンスを桁違いに改善し、ビルド環境のばらつきを排除し、段階的に導入するための基盤を構築するという目標に、Bazel が最適であると判断しました。そのため、現在はすべての iOS リリースで Bazel を使用しています。Pinterest で高速で信頼性の高い iOS ビルドを開発する

PubRef

PubRef は、新しい科学出版プラットフォームです。rules_closure で Bazel を使用してフロントエンドをビルドし、ネイティブ Java ルールを使用してメイン バックエンドをビルドし、rules_gorules_noderules_kotlin を使用してさまざまなバックエンド サービスをビルドします。rules_protobuf は、バックエンド サービス間の gRPC ベースの通信を支援するために使用されます。PubRef.org はコロラド州ボルダーに拠点を置いています。

Redfin

Redfin は、地域のフルサービス エージェントが在籍する次世代の不動産仲介業者です。Bazel を使用して、ウェブサイトとさまざまなバックエンド サービスをビルドしてデプロイします。

移行はほぼ完了し、状況は大幅に改善されています。CI ビルドは高速化されています(大幅に高速化されています。以前は 40 ~ 90 分かかっていたデベロッパー ビルドが、現在は平均 5 ~ 6 分になっています)。信頼性も大幅に向上しています。これは定量化が難しいですが、説明できないビルドエラーを「ただ起こる」ものから、解決すべき実際の問題と見なすようにすることで、信頼性が向上する好循環が生まれました。(Maven から Bazel に切り替えてビルド時間を 10 倍に短縮

儀式

Ritual は、レストランと顧客をつなぐモバイル アプリです。待ち時間なしで、欲しい食べ物や飲み物を簡単に手に入れられる、時間節約ツールを提供します。Ritual は、バックエンド サービスに Bazel を使用しています。

スナップ

Snapchat メッセージ アプリのデベロッパーである Snap は、2020 年に Buck から Bazel に移行しました(ソース)。このプロセスについて詳しくは、エンジニアリング ブログをご覧ください。

Stripe

Stripe はモバイル決済ソリューションを提供しています。Bazel Scala ルールのメンテナンス担当者です。

Tinder

Tinder は、2021 年に iOS アプリを CocoaPods から Bazel に移行しました(出典)。

Tink

Tink は、欧州の金融テクノロジー企業で、欧州の銀行に接続するための最善の方法を構築しています。

Bazel を使用して、ポリグロット モノレポからバックエンド サービスを構築しています。Tink のエンジニアが bazel build //stockholm/... ミートアップ グループを運営しています。

Tokopedia

Tokopedia は、e コマースを専門とするインドネシアの IT 企業です。1 か月のアクティブ ユーザー数は 9, 000 万人を超え、このプラットフォームで出店している販売者は 700 万以上にのぼります。

Tokopedia は、Tokopedia が iOS ビルド時間を 1,000% 短縮した方法という記事を公開し、Bazel によってビルドが高速化された方法について説明しています。ビルド時間は、Bazel を使用すると 55 分から 10 分に短縮され、リモート キャッシュを使用すると 5 分に短縮されました。

Twitter

Twitter は、主なビルドツール(ソース)として Pants から Bazel に移行することを決定しました。

Two Sigma

Two Sigma は、世界のデータから価値を見出すことに専念する、ニューヨークに本社を置くテクノロジー企業です。

Uber

Uber は配車サービス会社です。900 人のアクティブなデベロッパーがいる Uber の Go モノリポジトリは、おそらく Bazel を使用している最大の Go リポジトリの 1 つです。詳しくは、Bazel を使用した Uber の Go Monorepo の構築をご覧ください。

Uber Advanced Technologies Group

Uber Advanced Technologies Group は、Uber でのトラック輸送/貨物輸送、自律走行ライド シェアリングなどの自律走行車の取り組みに重点を置いています。組織が Bazel をメインのビルドシステムとして使用している。

Vistar Media

Vistar Media は、現実世界でのユーザーの行動に基づいてブランドが消費者にリーチできる広告プラットフォームです。同社のエンジニアリング チームは主にフィラデルフィアを拠点としており、ビルドとデプロイ、テストの高速化、さまざまなテクノロジーで記述されたリポジトリの統合に Bazel を使用しています。

VMware

VMware は、Bazel を使用して、顧客向けの革新的な製品を開発しながら、確定的で信頼性の高いビルドを生成しています。

Wix

Wix はクラウドベースのウェブ開発プラットフォームです。バックエンドは Java と Scala コードを使用します。Google Cloud Build でリモート実行を使用します。

bazel リモート実行で実行すると、ビルド/テストの並列処理機能を利用した bazel のビルド/テストの並列処理機能により、クリーンビルドが約 5 倍高速化されました。bazel の積極的なキャッシュ メカニズムを利用しているため、平均ビルド時間が 10 倍以上高速化されています。(Maven または Gradle から Bazel に移行する場合は、確認すべき 5 つの重要な質問

Zenly

Zenly は、友だちや家族の現在地を把握できるライブマップです。待ち合わせにも、最新情報のチェックにもおすすめです。離れていても、一緒にいるような感覚を味わえます。


Bazel を使用するオープンソース プロジェクト

懸垂下降

Abseil は、C++ 標準ライブラリを拡張するように設計されたオープンソースの C++ コード(C++11 に準拠)のコレクションです。

Angular

Angular は一般的なウェブ フレームワークです。Angular は Bazel でビルドされています。

Apollo

Apollo は、自律走行車の開発、テスト、デプロイを加速する、高パフォーマンスで柔軟なアーキテクチャです。

brpc

Baidu 全体で使用される産業用 RPC フレームワーク。1,000,000 を超えるインスタンス(クライアントはカウントされません)と数千種類のサービスがあり、Baidu では「baidu-rpc」と呼ばれます。

cert-manager

cert-manager は、さまざまな発行元からの TLS 証明書の管理と発行を自動化する Kubernetes アドオンです。これにより、証明書が定期的に有効で最新の状態になり、有効期限が切れる前に適切なタイミングで証明書の更新が試行されます。

CallBuilder

1 つの関数を記述してビルダーを作成できる Java コード ジェネレータ。

CPPItertools

Python の組み込みツールと itertools ライブラリにヒントを得た範囲ベースのループ用アドオンを提供する C++ ライブラリ。itertools や Python3 ビルトインと同様に、このライブラリでは可能な限り遅延評価を使用します。

Copybara

Copybara は、リポジトリ間でコードを変換および移動するためのツールです。

Dagger

Dagger は、Java と Android の両方に対応した、完全に静的なコンパイル時依存関係注入フレームワークです。

DAML

DAML は、安全でプライバシーに配慮したランタイムで将来を見据えた分散アプリケーションを構築するためのスマート コントラクト言語です。

DeepMind Lab

エージェントベースの AI 研究向けのカスタマイズ可能な 3D プラットフォーム。

ドレーク

Drake は MIT で始まった C++ ツールボックスで、現在はトヨタ研究所が率いています。ロボットのダイナミクスを分析し、ロボットの制御システムを構築するためのツールのコレクションであり、最適化ベースの設計と分析に重点を置いています。

Envoy

C++ L7 プロキシと通信バス

エラーが発生しがち

Java の一般的な誤りをコンパイル時のエラーとしてキャッチします。(Bazel への移行が進行中です)。

Extensible Service Proxy

Extensible Service Proxy(ESP)は、JSON/REST または gRPC API サービスの API 管理機能を有効にするプロキシです。現在の実装は、NGINX HTTP リバース プロキシ サーバーに基づいています。

FFruit

FFruit は、人気サービス Falling Fruit に対応する無料のオープンソース Android アプリです。

Gerrit コードレビュー

Gerrit は、Git ベースのプロジェクトのコードレビューとプロジェクト管理のためのツールです。

Gitiles

Gitiles は、JGit 上に構築された Git リポジトリ用のシンプルなリポジトリ ブラウザです。

Grakn

Grakn(https://grakn.ai/)は、複雑なデータ ネットワークを整理してクエリ可能にするナレッジグラフ エンジンです。

GRPC

言語とプラットフォームに依存しないリモート プロシージャ コール システム。(Bazel はサポートされているビルドシステムですが、主なビルドシステムではありません)。

gVisor

gVisor はコンテナ ランタイム サンドボックスです。

Guetzli

Guetzli は、優れた画質で優れた圧縮密度を目指す JPEG エンコーダです。

Gulava

Prolog スタイルの述語を記述し、通常の Java コードからシームレスに使用できる Java コード ジェネレータ。

Heron

Heron は、Twitter のリアルタイム分散フォールト トレラント ストリーム処理エンジンです。

Jazzer

Jazzer は、Java やその他の JVM ベースの言語向けの Fuzzer で、JUnit 5 と統合されています。

JGit

JGit は、Git バージョン管理システムを実装した軽量の純粋な Java ライブラリです。

Jsonnet

JSON 用のエレガントで正式に指定された構成生成言語。(Bazel はサポートされているビルドシステムです)。

Kubernetes

Kubernetes は、複数のホストにわたるコンテナ化されたアプリケーションを管理するためのオープンソース システムであり、アプリケーションのデプロイ、メンテナンス、スケーリングの基本的なメカニズムを提供します。

Kythe

コードを扱うツールを構築するためのエコシステム。

Nomulus

Google App Engine のトップレベル ドメイン名レジストリ サービス。

ONOS : オープン ネットワーク オペレーティング システム

ONOS は、従来の「ブラウン フィールド」ネットワークから SDN「グリーン フィールド」ネットワークへの移行をサポートする唯一の SDN コントローラ プラットフォームです。これにより、ネットワーク オペレータは魅力的な新機能を実現し、デプロイや運用の中断を伴うコストを実現できます。

PetitParser for Java

従来、プログラミング言語の文法は静的に指定されていました。必然的に生じるあいまいさにより、コンポーズと再利用が困難です。PetitParser は、スキャナレス解析、パーサー コンビネーター、解析式文法、パクラット パーサーのアイデアを組み合わせて、文法とパーサーを動的に再構成できるオブジェクトとしてモデル化します。

PlaidML

PlaidML は、ディープラーニングをあらゆる場所で機能させるためのフレームワークです。

プロジェクト V

Project V は、インターネット経由で独自のプライバシー ネットワークを構築するための一連のツールです。

Prysmatic Labs Ethereum 2.0 の実装

Prysm は、ブロックチェーン ベースの分散コンピューティング プラットフォームである Ethereum 2.0 用のシャーディング クライアントです。

レイモンド

Ray は、柔軟で高性能な分散実行フレームワークです。

Resty

Resty は、Go 用のシンプルな HTTP クライアント ライブラリと REST クライアント ライブラリです(Ruby rest-client にインスパイアされています)。

ラフタイム

Roughtime は、安全な時刻同期を提供するプロジェクトです。

セレニウム

Selenium は、ウェブ アプリケーションをテストするためのポータブル フレームワークです。

セマンティック

Semantic は、ソースコードの解析、分析、比較を行うための Haskell ライブラリとコマンドライン ツールです。GitHub によって開発されています(コード ナビゲーションなどで使用されています)。

配信済み

Served は、高パフォーマンスの RESTful ウェブサーバーを構築するための C++ ライブラリです。

Sonnet

Sonnet は、複雑なニューラル ネットワークを構築するために TensorFlow 上に構築されたライブラリです。

Sorbet

Sorbet は、Ruby のサブセット用の高速で強力な型チェッカーです。数百万行のコードからなるコードベースまでスケーリングでき、段階的に導入できます。

Spotify

Spotify は Bazel を使用して iOS アプリと Android アプリをビルドしています(ソース)。

ティンク

Tink は、安全で、正しく使用しやすく、不正使用しにくい暗号 API を提供する、多言語のクロス プラットフォーム オープンソース ライブラリです。

TensorFlow

マシン インテリジェンスのためのオープンソース ソフトウェア ライブラリ。

Turbo Santa

プラットフォームに依存しない GameBoy エミュレータ。

Wycheproof

Project Wycheproof は、既知の攻撃に対する暗号ライブラリをテストします。

XIOSim

XIOSim は、x86 アーキテクチャの詳細なユーザーモード マイクロアーキテクチャ シミュレータです。

ZhihuDailyPurify

ZhihuDailyPurify は、中国のクエスチョン アンド アンサー ウェブである Zhihu Daily の軽量版です。