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

問題を報告 ソースを表示

このページでは、Bazel の使用が知られている企業と OSS プロジェクトの一覧を示します。これは、承認を構成するものではありません。

Bazel を使用している企業

acqio

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

Adobe

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

Asana

Asana は、チームが作業を追跡できるように設計されたウェブアプリとモバイルアプリです。各氏の言葉:

Bazel では、Asana のすべてのビルドとテストで信頼性、安定性、速度が改善されました。誤ったキャッシュが原因でクリーンアップする必要がなくなりました。

Ascend.io

Ascend は、大規模なデータセット分析のソリューションを提供する Palo Alto のスタートアップです。同社のモットーは、ビッグデータには困難、Google なら簡単です

蜜ろう

Beeswax はニューヨークを拠点とするスタートアップで、リアルタイム ビッダーをサービスとして提供しています。Bazel は、Jenkins ベースの継続的インテグレーションとデプロイのフレームワークを支えています。Bazel は、非常に高速かつ正確で、多くの言語とプラットフォームで適切にサポートされているため、Beeswax が愛用しています。

ブレインツリー

PayPal の子会社の Braintree は、ウェブサイトとアプリケーション用の支払いソリューションを開発しています。同社は内部ビルドの一部に Bazel を使用しており、Paul Grant は Bazel への移行に関する有益な記事を投稿しています。

Canva

Canva は、Bazel を利用して、Java、TypeScript、Scala、Python などの大規模な多言語コードベースを管理します。Bazel への移行により、デベロッパーとコンピューティング インフラストラクチャの効率が大幅に向上しました。たとえば、平均 CI ビルド時間が 5 ~ 6 分の 1 に短縮され、これは、会社の高速かつ再現性のある標準化されたソフトウェア ビルドの基盤であり続けています。

CarGurus

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

コンパス

Compass は、テクノロジーを駆使した不動産プラットフォームです。当社は、不動産、テクノロジー、ビジネスのプロフェッショナルから成るエリート チームを擁し、家探しに最適かつ最も信頼される企業になることを目指しています。

Databricks

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

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

Dataform

Dataform は、データチームにスケーラブルな分析を提供します。少数の NPM パッケージとドキュメント サイトを 1 つの monorepo で管理し、すべてを Bazel で処理しています。

Bazel への移行後、次のような多くのメリットが報告されました。

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

ディープシルバー FISHLAB

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

Dropbox

Dropbox では、Bazel は分散型のビルドとテスト環境の重要なコンポーネントです。Google では Bazel を使用して、TypeScript/Python/Go/C/Rust を信頼性の高い製品版リリースに統合しています。

Engel & Völkers

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

Google の内部プロジェクトでは、コンパイル時間が 11 分から約 1 分に短縮されました。これは素晴らしい成果であり、現在、Bazel をより多くのプロジェクトで利用できるように取り組んでいます。(Google Cloud Build と Bazel を使用したテスト

Etsy

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

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

Evertz.io

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

ウェブサイトが Angular と Bazel のワークフローで完全にビルドされ、デプロイされている(ソース)。

検索

FINDMINE は小売業界向けの自動化技術であり、機械学習を使用して、現在手作業で行われている退屈な商品のキュレーション プロセスを拡張しています。Google では、Bazel を使用して、Python パッケージのビルド、テスト、デプロイ プロセス全体を機械化しています。

Flexport

Flexport は、テクノロジーを活用したグローバルな貨物輸送会社です。Google の使命は、すべての人にとって世界的な貿易を容易にすることです。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 取引

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

Improbable.io

Improbable.io は、何百万もの複雑なエンティティが居住する巨大なシミュレーションの作成を可能にする分散オペレーティング システムの SpatialOS を開発しています。

Interaxon

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

木星

Jupiter は食料品や日用品を毎週配達する企業です。

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

簡単な

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

キティホーク株式会社

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

LINE

Line は、日本で最も人気のあるメッセージ アプリであるインスタント コミュニケーション用のアプリを提供しています。同社は、約 60% の Swift と 40% の C/C++/Objective-C/Objective-C++ で構成されるコードベースで Bazel を使用しています(ソース)。

Bazel への移行後、ビルド時間を大幅に短縮できました。これにより、QA 期間中の処理時間が大幅に短縮されました。新しいビルドをテスターに配布しても、ビルドとテストを 1 時間待つ必要がなくなりました。(Bazel を使用した iOS 向け LINE のビルド パフォーマンスの改善

LingoChamp

LingoChamp は、英語学習者に専門的なソリューションを提供しています。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 を使用しています。

マカニ

現在 Google の子会社となった Makani は、エネルギー カイトを開発し、Bazel を使用してソフトウェア(組み込み C++ ソフトウェアを含む)を構築しています。

イベント

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

Nvidia

NVIDIA では Python に dazel(docker bazel)を使用して、bazel の Python の短所に対処しています。それ以外は通常の bazel で実行されます(主に Go / Scala/ C++/ Cuda)(ソース)。

Peloton Technology

Peloton Technology は、トラックの事故と燃料の使用に取り組む自動車両テクノロジー企業です。Bazel は、自動車安全システムの信頼性の高いビルドを実現するために Bazel を使用しています。

Pinterest

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

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

PubRef

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

Redfin

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

変換の大部分が後回しになったため、状況は大きく改善されました。CI ビルドは高速です(以前は 40 ~ 90 分かかっていましたが、現在は平均 5 ~ 6 分です)。信頼性も格段に向上しています。これを定量化するのは困難ですが、原因不明のビルドエラーが「たまたま発生する」ものから、解決すべき現実の問題と見なされるように移行したことで、信頼性が増すという好循環が生まれています。(Maven から Bazel に切り替えてビルドが 10 倍高速になりました

儀式

Ritual はモバイル受け取りアプリです。レストランを顧客とつなげて、時間節約に役立つシンプルなツールを提供し、待たずに好きな食べ物や飲み物を受け取ることができます。Ritual はバックエンド サービスに Bazel を使用しています。

スナップ

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

Stripe

Stripe は、モバイル決済ソリューションを提供しています。同社では、エンジニアリングに関するブログで詳しく説明されているように、ビルドとテストのパイプラインで Bazel を使用しています。

Tinder

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

Tink

Tink はヨーロッパのフィンテックで、ヨーロッパの銀行に接続する最良の方法を構築しています。

Bazel を使用して、多言語 monorepo からバックエンド サービスをビルドしています。Tink のエンジニアが bazel build //stockholm/... ミートアップ グループを主催しています。

Tokopedia

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

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

Trunk.io

Trunk はサンフランシスコを拠点とする企業で、Andreessen Horowitz と Initialized Capital の支援を受けています。Trunk は、Bazel ビルドシステムを最高レベルのサポートする強力な pull リクエスト マージサービスを提供します。Trunk のマージサービスは、コードベース内の依存関係に関する Bazel の知識を活用して、インテリジェントに並列マージレーンを作成し、独立した変更のテストとマージを同時に行うことができます。

Trunk の内部 monorepo は、bazel のグラフ知識を活用してコードを選択的にテストおよびマージしながら、最新の C++ 20 と typescript を構築します。

Twitter

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

ツーシグマ

Two Sigma は、ニューヨークに本社を置くテクノロジー企業で、世界のデータから価値を創出することに尽力しています。

Uber

Uber は配車サービス会社です。900 人のアクティブな開発者を擁する Uber の Go monorepo は、Bazel を使用した最大規模の Go リポジトリの一つであると考えられます。このエクスペリエンスについて詳しくは、Bazel を使用した Uber's Go Monorepo のビルドの記事をご覧ください。

Uber Advanced Technologies グループ

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

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

Angular

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

アポロ

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

brpc

Baidu 全体で使用される産業グレードの RPC フレームワーク。1,000,000 以上のインスタンス(クライアントは含まれません)と、Baidu 内の「baidu-rpc」と呼ばれる数千種類のサービスを備えています。

cert-manager

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

CallBuilder

関数を 1 つ記述するだけでビルダーを作成できる Java コード生成ツール。

CPPItertools

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

コピーバラ

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

Dagger

Dagger は、Java と Android 向けの完全に静的なコンパイル時の依存関係インジェクション フレームワークです。

DAML

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

DeepMind ラボ

エージェント ベースの 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 は、JGit 上に構築された、Git リポジトリ用のシンプルなリポジトリ ブラウザです。

グラクン

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

GRPC

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

gVisor

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

ゲッツリ

Guetzli は、優れた圧縮密度を高い画質で実現することを目的とした JPEG エンコーダです。

グラバ

Java コード生成ツール。Prolog スタイルの述語を作成して、通常の Java コードからシームレスに使用できます。

ヒーローン

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

ジャズ

Jazzer は、JUnit 5 と統合される Java およびその他の JVM ベースの言語のファザーです。

JGit

JGit は、Git バージョン管理システムを実装する軽量のピュア Java ライブラリです。

Jsonnet

正式に指定された JSON 用の洗練された構成生成言語。(Bazel はサポート対象のビルドシステムです)。

Kubernetes

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

Kythe

コードと連携するツールを構築するためのエコシステム。

Nomulus

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

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

ONOS は、従来の「ブラウン フィールド」ネットワークから SDN の「グリーン フィールド」ネットワークへの移行をサポートする唯一の SDN コントローラ プラットフォームです。これにより、ネットワーク事業者にとって魅力的な新機能が実現し、デプロイと運用の大幅なコストが削減されます。

Java 用 PetitParser

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

PlaidML

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

プロジェクト V

プロジェクト V は、インターネット経由で独自のプライバシー ネットワークを構築する際に役立つツールセットです。

Prysmatic Labs Ethereum 2.0 の実装

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

レイ

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

Resty

Resty は、Go 用のシンプルな HTTP および REST クライアント ライブラリです(Ruby REST-client を基盤としています)。

ラフタイム

ラフタイムは、時刻の安全な同期を目的としたプロジェクトです。

セレニウム

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

セマンティック

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

配信済み

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

ソネット

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

ソルベ

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

Spotify

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

Tink

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

TensorFlow

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

ターボサンタ

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

耐障害性

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

XIOSim

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

ZhihuDailyPurify

ZhihuDailyPurify は、中国語 Q&A サイト Zhihu Daily の軽量版です。