このページでは、Bazel を使用していることがわかっている企業と OSS プロジェクトの一覧を示します。これは承認を示しているわけではありません。
Bazel を使用している企業
Acqio
Acqio は中小規模の販売者に決済プロダクトとサービスを提供するフィンテックです。Acqio はいくつかの monorepos を使用し、Bazel と Kubernetes を使用して高速で信頼性の高いマイクロサービスを提供しています。
Adobe
Adobe は、GitOps ドリブンの Kubernetes デプロイを継続的に行うための Bazel ルールをリリースしました。
アサナ
Asana は、チームが作業を追跡できるように設計されたウェブとモバイルのアプリケーションです。次のように記載されています。
Bazel により、Asana のすべてのビルドとテストの信頼性、安定性、速度が向上しました。キャッシュの誤りが原因でクリーンアップする必要がなくなりました。
Ascend.io
Ascend は、大規模なデータセット分析のためのソリューションを提供する Palo Alto のスタートアップです。そのモットーは、ビッグデータは難しいものです。Google がお手伝いします
蜜ろう
Beeswax はニューヨークを拠点とするスタートアップで、リアルタイム ビッダーをサービスとして提供しています。Bazel は、Jenkins ベースの継続的インテグレーションとデプロイのフレームワークを強化します。Buswax は Bazel を愛用しています。Bazel は多くの言語とプラットフォームで非常に高速で、正確で、十分にサポートされているからです。
ブレインツリー
PayPal の子会社である Braintree は、ウェブサイトとアプリケーションの決済ソリューションを開発しています。また、内部ビルドに Bazel を使用しています。また、Bazel への移行についての良い点を投稿しています。
Canva
Canva は Bazel を使用して大規模なポリグロート コードベースを管理します。これには Java、TypeScript、Scala、Python などが含まれます。Bazel への移行により、開発者とコンピューティング インフラストラクチャの大幅な効率化(たとえば、平均 CI ビルド時間の 5 ~ 6 倍の短縮)が実現し、高速で再現性のある標準化されたソフトウェア ビルドの基盤が引き続き使用されてきました。
CarGurus
CarGurus は、世界で最も信頼性と透明性の高い自動車市場を構築するためのミッションを掲げ、Bazel を使用して多言語で記述されたモノポリーを構築しています。
コンパス
Compass は、テクノロジーを駆使した不動産プラットフォームです。不動産、テクノロジー、ビジネスの専門家からなるエリートチームにより、家探求者にとって最高の信頼できる情報源になることを目指しています。
Databricks
Databricks は、Apache SparkTM をベースとしたクラウドベースの統合ワークスペースを提供しています。
Databricks コードベースは Monorepo です。Google のほとんどのサービスを強化する Scala コード、フロントエンド UI 用の JavaScript、スクリプト用の Python、インフラストラクチャを構成するための Jsonnet などが含まれています。(Databricks の Bazel を使用した Scala の構築)
Dataform
Dataform は、データチームにスケーラブルな分析を提供します。少数の NPM パッケージとドキュメント サイトを単一の monorepo で管理し、そのすべてを Bazel で実行します。
Bazel への移行後、以下を含む多くのメリットが報告されました。
- CI の高速化: Remote Build のキャッシュ保存機能により、平均のビルド時間を 30 分から 5 分に短縮できました(リポジトリ全体)。
- ローカル開発の改善: 実行し忘れるランダムな bash スクリプトがなくなるため、増分ビルドが数分から数秒に短縮される
- デベロッパーの設定時間: 新しいエンジニアは、bazel、docker、JVM の 3 つの依存関係だけですべてのコードをビルドできます。私のチームに加わった最後のエンジニアは、まったく新しい空のノートパソコンで、すべてのコードを 30 分未満で構築することができました
ディープ シルバー FISHLABS
Deep Silver FISHLABS はハイエンド 3D ゲームのデベロッパーです。Bazel は、内部ビルドツールのベースとして、特にすべての 3D アセットのベイクとデプロイのために、C++/Python/Go/C とともに Bazel を使用します。
Dropbox
Dropbox の Bazel は、分散ビルドとテスト環境の重要なコンポーネントです。Bazel を使用して、TypeScript/Python/Go/C/Rust を信頼性の高い本番環境リリースに結合しています。
Engel、Völkers
Engel & Völkers AG は、ドイツの非公開企業ですが、フランチャイズ加盟オフィスを通じ、不動産取引に関するサービスを提供しています。
社内プロジェクトの一つでは、コンパイル時間が 11 分から約 1 分に短縮されました。これは素晴らしい成果であり、現在、Bazel をより多くのプロジェクトに提供するために取り組んでいます。 (Google Cloud Build と Bazel でテストする)
Etsy
Etsy は、ハンドメイドやヴィンテージのアイテム、オリジナル アイテム、商品などを販売する e コマースサイトです。
同社は Bazel を使用して Java ベースの検索プラットフォームを構築し、テストしています。Bazel は、ベアメタル サーバーと再現可能な Docker イメージの両方のパッケージを生成します。
Evertz.io
Evertz.io は、Evertz Microsystems が作成したマルチテナント型サーバーレス SaaS プラットフォームで、放送メディア業界に費用対効果の高いマルチリージョン サービスを提供しています。
ウェブサイトは、Angular と Bazel のワークフローで完全にビルドされ、デプロイされています(参照元)。
ファインマイン
FINDMINE は小売業向けの自動化テクノロジーで、現在、機械学習によるプロダクト キュレーションの手間のかかるプロセスをスケーリングしています。Python パッケージの構築、テスト、デプロイのプロセス全体を機械化するために Bazel を使用しています。
フレックスポート
Flexport はテクノロジーを活用したグローバルな貨物輸送業者です。私たちの使命は、全世界の貿易をより簡単にすることです。Flexport では、Bazel を使用して Java/JavaScript サービスとクライアント ライブラリをビルド/テストし、protobuf 定義から Java と Ruby コードを生成します。Bazel で個々の JUnit 5 テストを単独で実行する方法を学習します。
Bazel は、Google のニーズに合わせてスケーリングでき、再現性とプラットフォーム/言語サポートに関する Google の要件を満たすことができるように設計されています。Google のすべてのソフトウェアは Bazel を使用してビルドされています。Google は、毎日、何百万ものビルドに Bazel とそのルールを使用しています。
グラクイン AI
Grakn はインテリジェント システムのナレッジベースの基盤として機能するデータベース テクノロジーです。Grakn を使用すると、インテリジェント システムは複雑なデータセットを論理的に推論できる 1 つの知識として解釈できます。Bazel を使用すると、@graknlabs チームは高度にオーケストレーションされた CI と配布パイプラインを構築できます。このパイプラインは複数の言語の複数のリポジトリを管理し、多数のプラットフォームにシームレスにデプロイします。
Huawei
Huawei Technologies は約 30 プロジェクトで Bazel を使用しています。これらは Java/Scala/Go プロジェクトですが、Go プロジェクトは元々 Maven で構築されました。Maven でビルドしたプロジェクトを Bazel でビルドしたプロジェクトに変換するシンプルなツールを作成します。今後 Bazel を使用するプロジェクトが増えていく予定です。
IMC 取引
IMC はアムステルダムに本社を置く世界有数の取引会社であり、マーケット メーカーです。Bazel を使用して、Java/C++/Python/SystemVerilog プロジェクトを継続的にビルドしてテストしています。
Improbable.io
Improbable.io は、数百万の複雑なエンティティに登場する大規模なシミュレーションの作成を可能にする分散オペレーティング システムである SpatialOS を開発しています。
Interaxon
InteraXon は、頭脳をデジタル信号に変換するためのハードウェアおよびソフトウェア プラットフォームを作成する、ソート コントロールされたコンピューティング会社です。
木星
Jupiter は、食料品や家庭用品を毎週配達する会社です。
リモート キャッシュを使用して、バックエンド コードで Bazel を使用し、特に proto と Kotlin を JVM バイナリにコンパイルします。(出典)
わずか
Just は、ノルウェーに本社を置く企業の金融テクノロジー企業で、グローバル企業の会計担当者がリスクと流動性を管理する方法を変革するためのソフトウェア ソリューションを作成しています。アプリケーション スタック全体は Bazel で構築されています。
Kitty Hawk Corporation
Kitty Hawk Corporation は、電動機を製造しているアメリカの航空機メーカーです。Bazel と Haskell ルール、Scala ルールを使用します。
行
Line はインスタント コミュニケーション用のアプリを提供しています。これは日本で最も人気のあるメッセージ アプリケーションです。約 60% の Swift と 40% の C/C++/Objective-C/Objective-C++(参照元)で構成されるコードベースで Bazel を使用しています。
Bazel に切り替えると、ビルド時間を大幅に改善することができました。これにより、QA 期間中のターンアラウンド タイムが大幅に短縮されました。新しいビルドをテスターに配布しても、ビルドとテストにもう 1 時間待つ必要がなくなりました。(Bazel を使用した iOS 用 LINE のビルド パフォーマンスの改善)
LingoChamp
LingoChamp は、英語の学習者に専門的なソリューションを提供しています。go、java、python の各プロジェクトで Bazel を使用しています。
Microsoft の子会社である LinkedIn は、世界最大のプロフェッショナル ソーシャル ネットワークです。LinkedIn は、iOS アプリの構築に Bazel を使用しています。
Lucid Software
Lucid Software は、ビジュアル コラボレーションのリーダーであり、チームがアイデアから現実に至るまでの未来を理解し、構築できるよう支援しています。Lucidchart、Lucidspark、Lucidscale のプロダクトを使用すれば、場所に関係なく、共通のビジョンを中心にして複雑性を明確にし、視覚的にコラボレーションできます。
Lucid は Bazel を使用して何百万行もの Scala や TypeScript を構築します。 Bazel への移行により、ビルドが大幅に高速化され、ビルド環境に対する外部依存関係が減少し、ビルドシステムに関するデベロッパーのエクスペリエンスが簡素化されました。Bazel は、Lucid でデベロッパーの生産性を向上させ、さらなる成長を遂げました。
Lyft
Lyft は、iOS(参照元)と Android アプリに Bazel を使用しています。
マカニ
Google の子会社である Makani は、エネルギー キットを開発し、Bazel を使用してソフトウェア(組み込み C++ ソフトウェアを含む)を構築しています。
交流会
Meetup は、オフラインのグループ会議を主催するオンライン ソーシャル ネットワーキング ポータルです。Meetup のエンジニアリング チームは rules_scala に関与し、rules_avro と rules_openapi の管理者です。
Nvidia
Nvidia では、Python に dazel(docker bazel)を使用して、bazel の Python の短い機能の回避に取り組んできました。その他はすべて通常の aze で動作します (ほとんどの場合、Go / Scala/ C++/ Cuda)(参照元)
Peloton のテクノロジー
Peloton Technology は、トラックの事故と燃料の使用に取り組む自動車両テクノロジー企業です。同社は Bazel を使用して、自動車安全システムの信頼性の高いビルドを有効にしています。
Pinterest は、世界におけるアイデアのカタログです。Bazel を使用して、さまざまなバックエンド サービス(Java/C++)と iOS アプリケーション(Objective-C/C++)を構築します。
Google は、Bazel がパフォーマンスを大幅に向上させる基盤を構築し、ビルド環境間のばらつきをなくして段階的に導入するという当社の目標に最も適していると判断しました。このため、現在すべての iOS リリースに Bazel を使用しています。 Pinterest での高速で信頼性の高い iOS ビルドの開発
PubRef
PubRef は、科学出版における新たなプラットフォームです。Bazel を使用すると、rules_closure を使用してフロントエンドをビルドし、ネイティブ Java ルールでメイン バックエンドをビルドします。また、rules_go、rules_node、rules_kotlin を使用してさまざまなバックエンド サービスを構築します。rules_protobuf は、バックエンド サービス間の gRPC ベースの通信を支援するために使用されます。PubRef.org はコロラド州ボルダーを拠点としています。
Redfin
Redfin は、フルサービスのローカル エージェントを備えた次世代の不動産仲介業者です。Bazel を使用して、ウェブサイトとさまざまなバックエンド サービスを構築し、デプロイしています。
コンバージョンがほとんど私たちの背後にあったため、状況は大幅に改善されています。CI ビルドは高速です(高速化: 以前は 40 ~ 90 分かかっていましたが、開発ビルドは平均 5 ~ 6 分になりました)。信頼性もはるかに高いです。定量化することは容易ではありませんが、説明のないビルドの失敗は「単に起こる」ことから、解決すべき実際の問題と見なされるものへとシフトすることで、信頼性が絶えず向上する好循環がもたらされました。(Maven から Bazel に切り替え、構築速度が 10 倍高速化)
定型
Ritual はレストランや顧客とユーザーをつなぐモバイル ピックアップ アプリです。Ritual はバックエンド サービスに Bazel を使用しています。
Snap
Snapchat メッセージ アプリのデベロッパーである Snap は、2020 年に Buck から Bazel に移行しています(参照元)。このプロセスについて詳しくは、エンジニアリング ブログをご覧ください。
Stripe
Stripe は、モバイル決済ソリューションを提供します。これらは Bazel Scala ルールのメインの管理者です。
Tinder
Tinder は 2021 年に iOS アプリを CocoaPods から Bazel に移行しました(参照元)。
ティンク
Tink はヨーロッパのフィンテックで、ヨーロッパの銀行とつながる最適な方法を構築しています。
Bazel を使用して、Polyglot のモノリポからバックエンド サービスを構築しています。 Tink のエンジニアは、bazel build //stockholm/... イベント グループを主催しています。
Tokopedia
Tokopedia は e コマースを専門とするインドネシアのテクノロジー企業で、月間アクティブ ユーザー数は 9, 000 万人を超え、プラットフォームには 700 万人以上の販売者がいます。
Tokopedia が iOS ビルド時間の 1,000% 短縮を達成した方法を執筆しました。この記事では、Bazel によるビルドの高速化について説明します。ビルド時間は、Bazel を使用して 55 分から 10 分に、リモート キャッシュを使用して 5 分に短縮されました。
Twitter は、メインのビルドツールとして Pant から Bazel への移行を決定しました(参照元)。
Two Sigma
Two Sigma はニューヨークに本社を置くテクノロジー企業で、世界中のデータから価値を見出すことを専門としています。
Uber
Uber は配車サービス会社です。900 人のアクティブなデベロッパーがいる Uber の Go monorepo は、Bazel を使用する Go のリポジトリのうち最大のものかもしれません。詳細については、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 のリモート実行で実行したクリーンビルドは約 5 倍高速化されました。これは、ビルド/テスト アクションをワーカー ファームにディスパッチする際に bazel の優れたビルド/テスト並列処理機能を活用します。bazel の積極的なキャッシング メカニズムにより、平均ビルド時間は 10 倍以上高速になります。(Maven または Gradle から Bazel に移行する場合は 検討すべき重要な 5 つの質問)
Zenly
Zenly は、友だちや家族のライブマップです。交流を深める方法、または最新の状況をご覧ください。— 離れているときでも、一緒に過ごせます。
Bazel を使用したオープンソース プロジェクト
アブセイル
Abseil は C++ コードのライブラリ(C++11 に準拠)のオープンソース コレクションで、C++ 標準ライブラリを拡張するために設計されています。
Angular
Angular は一般的なウェブ フレームワークです。Angular は Bazel を使用してビルドされています。
アポロ
Apollo は高性能で柔軟なアーキテクチャであり、自律走行車の開発、テスト、デプロイを加速させています。
brpc
バイドゥ全体で使用されている産業用 RPC フレームワーク。100 万以上のインスタンス(クライアントをカウントしない)と、バイドゥ内の「baidu-rpc」という数千種類のサービスがあります。
cert-manager
cert-manager は、さまざまな発行元からの TLS 証明書の管理と発行を自動化するための Kubernetes アドオンです。これにより、証明書が有効で最新の状態であることを確認し、有効期限が切れる前に適切なタイミングで証明書の更新を試みます。
CallBuilder
1 つの関数を記述してビルダーを作成できる Java コード生成ツール。
日用消費財ツール
Python 組み込みライブラリと itertools ライブラリに基づいて、範囲ベースのループループ アドオンを提供する C++ ライブラリ。itertools や Python3 組み込み関数と同様に、このライブラリは可能な限り遅延評価を使用します。
コピーバラ
コピーバーは、リポジトリ間でコードを変換して移動するためのツールです。
Dagger
Dagger は、Java と Android 向けの完全に静的なコンパイル時の依存関係インジェクション フレームワークです。
データ分析
DAML は、プライバシーに配慮した安全なランタイムで将来を見据えた分散アプリを構築するためのスマート コントラクト言語です。
DeepMind ラボ
エージェント ベースの AI 研究向けのカスタマイズ可能な 3D プラットフォーム。
ドレイク
Drake は MIT から始まった C++ ツールボックスで、現在はトヨタ研究所が主導しています。最適化ベースの設計/分析に重点を置き、ロボットのダイナミクスを分析し、ロボットの制御システムを構築するためのツールのコレクションです。
Envoy
C++ L7 プロキシと通信バス
エラーが発生しやすい
Java の一般的な誤りをコンパイル時エラーとしてキャッチします。(Bazel への移行が進行中です)。
Extensible Service Proxy
拡張サービス プロキシ(別名 ESP)は、JSON/REST または gRPC API サービスの API 管理機能を有効にするプロキシです。現在の実装は、NGINX HTTP リバース プロキシ サーバーに基づいています。
果物
FFruit は、人気のサービス Falling Fruit は無料、オープンソースの Android アプリケーションです。
Gerrit コードレビュー
Gerrit は、Git ベースのプロジェクト用のコードレビューおよびプロジェクト管理ツールです。
ギティル
Gitiles は、JGit で構築された Git リポジトリ用のシンプルなリポジトリ ブラウザです。
Grakn
Grakn(https://grakn.ai/)は、データの複雑なネットワークを編成してクエリ可能にするためのナレッジグラフ エンジンです。
GRPC
言語とプラットフォームに依存しないリモート プロシージャ コール システム。(Bazel はプライマリですが、サポートされていますが、ビルドシステムではありません)。
gVisor
gVisor はコンテナ ランタイム サンドボックスです。
グエツリ
Guetzli は、高画質で優れた圧縮密度を実現する JPEG エンコーダです。
グルバ
Java のコード生成ツール。Prolog スタイルの述語を作成し、通常の Java コードからシームレスに使用できます。
ヒーロー
Heron は、Twitter のリアルタイムの分散フォールト トレラント ストリーム処理エンジンです。
ジャズ
Jazzer は、JUnit 5 と統合される Java およびその他の JVM ベースの言語用のファザーです。
JGit
JGit は、Git バージョン管理システムを実装する軽量の純粋な Java ライブラリです。
JSON
エレガントで正式に指定されている JSON の構成言語。(Bazel はサポートされているビルドシステムです)。
Kubernetes
Kubernetes は、コンテナ化されたアプリケーションを複数のホストで管理するためのオープンソース システムであり、アプリケーションのデプロイ、メンテナンス、スケーリングの基本的なメカニズムを提供します。
キース
コードを扱うツールを構築するためのエコシステム。
ノムルス
Google App Engine のトップレベル ドメイン名レジストリ サービス。
ONOS : オープン ネットワーク オペレーティング システム
ONOS は、以前の「ブラウン フィールド」ネットワークから SDN「グリーン フィールド」ネットワークへの移行をサポートする唯一の SDN コントローラ プラットフォームです。これにより、ネットワーク事業者は魅力的な新機能を使用でき、デプロイと運用の費用が大きく影響を受けます。
Java 用 PetitParser
プログラミング言語の文法は、これまで静的に指定されてきました。あいまいさが伴うため、コンテンツの作成と再利用が困難です。 PetitParser は、スネナーレス解析、パーサー コンバイナ、式文法と packrat パーサーの解析を組み合わせて、動的に再構成できるオブジェクトとして文法とパーサーをモデル化します。
PlaidML
PlaidML は、ディープ ラーニングをあらゆる場所で活用するためのフレームワークです。
プロジェクト V
Project V は、インターネット上で独自のプライバシー ネットワークを構築できるようにするための一連のツールです。
Prysmatic Labs Ethereum 2.0 の実装
Prysm は、ブロックチェーン ベースの分散型コンピューティング プラットフォームである Ethereum 2.0 のシャーディング クライアントです。
レイ
Ray は柔軟で高性能な分散実行フレームワークです。
レスティ
Resty は、Go 用のシンプルな HTTP および REST クライアント ライブラリで、Ruby の REST クライアントを基にしています。
ラフタイム
ラフタイムは、安全な時刻同期を実現することを目的としたプロジェクトです。
セレニウム
Selenium は、ウェブ アプリケーションをテストするためのポータブル フレームワークです。
セマンティック
Semantic は、ソースコードの解析、分析、比較のための Haskell ライブラリとコマンドライン ツールです。GitHub によって開発され、コード ナビゲーションなどに使用されます。
サービス提供
Served は、高パフォーマンスの RESTful ウェブサーバーを構築するための C++ ライブラリです。
ソネット
Sonnet は、複雑なニューラル ネットワークを構築するために TensorFlow を基盤として構築されたライブラリです。
ソルベ
Sorbet は、Ruby のサブセットに対応した高速かつ強力なタイプ チェッカーです。数百万行のコードからなるコードベースにスケーリングし、段階的に導入できます。
Spotify
Spotify は、Bazel を使用して iOS アプリと Android アプリを作成しています(参照元)。
ティンク
Tink は、多言語、クロス プラットフォーム、オープンソース ライブラリです。安全で使いやすく、使い勝手に優れた暗号 API を提供します。
TensorFlow
マシン インテリジェンス向けのオープンソース ソフトウェア ライブラリ。
ターボ サンタ
プラットフォームに依存しない GameBoy エミュレータ。
防水
Project Wycheproof は、既知の攻撃に対して暗号ライブラリをテストします。
XIOSIM
XIOSim は、x86 アーキテクチャ用の詳細なユーザーモード マイクロ アーキテクチャ シミュレータです。
ZhihuDailyPurify
ZhihuDailyPurify は、中国語の Q&A サイトである Zhihu Daily の軽量バージョンです。