誰使用 Bazel?#39

本頁面列出使用 Bazel 的公司和 OSS 專案。並不代表我們獲得背書。

使用 Bazel 的公司

acqio

Acqio 是為中小型企業提供付款產品和服務的金融科技。Acqio 有一些單聲道存放區,並搭配 Kubernetes 使用 Bazel,以提供快速可靠的微服務。

Adobe

Adobe 已針對以 GitOps 持續性 Kubernetes 部署的 Kubernetes 部署服務發布 Bazel 規則

Asana

Asana 是一款可供團隊追蹤工作的網頁和行動應用程式。網站提供的說明內容:

Bazel 提高了 Asana 所有建構/測試的可靠性、穩定性和速度。我們不再需要清除快取了。

Ascend.io

Ascend 是 Palo Alto 新創公司,可提供大型資料集分析的解決方案。企業的考量重點在於大數據。我們讓整個流程變得輕鬆許多

蜂蠟

Beeswax 是位於紐約的新創公司,提供即時出價服務。Bazel 支援以 Jenkins 為基礎的持續整合和部署架構。Beeswax 最喜歡 Bazel,因為 Bazel 速度飛快、正確且支援許多語言和平台。

樹枝

PayPal 子公司 Braintree 負責開發網站和應用程式的付款解決方案。他們針對部分內部建構作業使用 Bazel,甚至讓 Paul Gross 對改用 Bazel 的成果有一些令人滿意的說法

畫布

Canva 運用 Bazel 管理自己的大型 Polyglot 程式碼集,包括 Java、TypeScript、Scala 和 Python 等。遷移至 Bazel 成功為開發人員和運算基礎架構帶來極大的效率,例如平均持續整合建構時間減少 5 至 6 倍,也持續成為公司內快速、可重現且標準化軟體建構的基礎。

CarGurus

CarGurus 的使命是打造全球最信任且透明公開的汽車市場,並使用 Bazel 建構其 Polyglot 的單體存放區。

指南針

Compass 是以科技為導向的房地產平台。我們擁有由房地產、技術和商務專業人士組成的菁英團隊,致力成為最值得信賴、最可靠的購屋資訊來源。

Databricks

Databricks 提供以 Apache SparkTM 為基礎的雲端整合工作區。

Databricks 程式碼集是一個單存放區,當中包含大多數服務的 Scala 程式碼、適用於前端 UI 的 JavaScript、用於編寫指令碼的 Python、用於設定基礎架構的 Jesonnet,以及用於設定基礎架構的 J...]。不過,即使我們的 Monorepo 包含數百萬行 Scala,您在內部使用程式碼也能快速且快速。(在 Databricks 上使用 Bazel 快速建構 Scala)。

Dataform

Dataform 可為資料團隊提供可擴充的數據分析功能。他們會在單一單一單聲道存放區中,維護幾個 NPM 套件和說明文件網站,而他們都能透過 Bazel 完成這些工作。

遷移至 Bazel 後,他們回報了許多優點,包括:

  • 加快持續整合速度:我們啟用遠端建構快取,讓整個存放區的平均建構時間從 30 分鐘縮短為 5。
  • 改善本機開發作業:再也不必忘記執行的隨機 bash 指令碼,漸進式建構作業已從幾分鐘縮短至數秒
  • 開發人員設定時間:新工程師只要利用 3 個依附元件 (即 bazel、docker 和 JVM) 建構所有程式碼,最後一位加入我們團隊的工程師,在 30 分鐘內將所有程式碼運用在一部全新無空的筆電上建構完成

深銀 FISHLABS

深銀 FISHLABS 是高階 3D 遊戲的開發人員。他們將 Bazel 與 C++/Python/Go/C 搭配使用,做為內部建構工具的基礎,特別是烘焙及部署所有 3D 資產。

Dropbox

Dropbox 是 Dropbox 的重要元件,可以在我們的分散式建構與測試環境中成為關鍵元件。我們使用 Bazel,將 TypeScript/Python/Go/C/Rust 合併成可靠的正式版本。

Engel & Völkers

Engel & Völkers AG 是一家私人經營的德國公司,透過一系列加盟辦公室提供與房地產交易相關的服務。

我們的一項內部專案已將編譯時間從 11 分鐘縮短到大約 1 分鐘,這是令人驚豔的成就,我們目前正致力將 Bazel 導入更多專案。(使用 Google Cloud Build 和 Bazel 進行實驗)。

Etsy

Etsy 是一個電子商務網站,主打手工或復古商品和用品,以及獨特的工廠製造商品。

他們使用 Bazel 建構及測試其 Java 搜尋平台。Bazel 會為裸機伺服器和可重複的 Docker 映像檔產生套件。

Evertz.io

Evertz.io 是一個多用戶群無伺服器軟體式服務 (SaaS) 平台,由 Evertz Microsystems 打造的全球廣播媒體產業,提供具成本效益的多區域服務。

網站已充分使用 Angular 和 Bazel 工作流程建構及部署 (來源)。

尋找

FINDMINE 是零售業適用的自動化技術,運用機器學習技術來擴大目前繁瑣的產品收錄程序。我們使用 Bazel 來審核整個 Python 套件的建構、測試和部署程序。

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

華為科技我們編寫了一項簡單的工具,將 Maven 建構的專案轉譯成 Bazel 建構的專案。未來將有更多專案使用 Bazel。

IMC 交易功能

IMC 是一家總部位於阿姆斯特丹的全球獨家貿易公司和市場製造商。我們目前使用 Bazel 持續建構及測試 Java/C++/Python/SystemVerilog 專案。

Improbable.io

Improbable.io 開發了分散式作業系統 SpatialOS,以便建立由數百萬個複雜實體組成的大規模模擬。

Interaxon

InteraXon 是一家審慎控管的運算公司,會建立硬體和軟體平台,將腦波轉化為數位訊號。

木星

Jupiter 是專門提供雜貨和家居用品的公司。

他們會在自己的後端程式碼中使用 Bazel,特別是透過遠端快取將 proto 和 Kotlin 編譯為 JVM 二進位檔。(資料來源)

Justin 是一家總部位於挪威的企業金融科技公司,負責打造軟體解決方案,以改變全球企業的企業財務安全管理風險與流動性的方式。他們的所有應用程式堆疊都使用 Bazel 建構而成。

Kitty Hawk Corporation

Kitty Hawk Corporation 是一家生產電動飛機的美國飛機製造商。他們將 Bazel 與 Haskell 和 Scala 規則搭配使用。

線條

Line 提供的應用程式可用來進行即時通訊,這是日本最受歡迎的訊息應用程式。他們會在自己的程式碼集中使用 Bazel,其中包含約 60% Swift 和 40% C/C++/Objective-C/Objective-C++ (來源)。

改用 Bazel 後,我們大幅改善了建構時間。這在品質確保流程中的作業時間大幅改善。將新版本發布給測試人員後,就不必再等待一小時來建構及測試。(使用 Bazel 改善 iOS 的 LINE 建構效能)

LingoChamp

LingoChamp 為英文學習者提供專業的解決方案。我們的 Go、Java 和 Python 專案都使用 Bazel。

LinkedIn

LinkedIn 是 Microsoft 的子公司,是全球最大的專業社群網路。LinkedIn 使用 Bazel 建構 iOS 應用程式,

Lyft

Lyft 正針對 iOS 應用程式使用 Bazel (來源)。

馬卡尼

Makani 目前是 Google 子公司,負責開發能源風箏,並使用 Bazel 建構自家軟體 (包括內嵌的 C++ 軟體)。

聚會

Meetup 是一個線上社群網路入口網站,可協助進行離線群組會議。Meetup 工程團隊負責維護 rules_scala,同時也是 rules_avrorules_openapi 的維護者。

Nvidia

在 Nvidia 中,我們一直使用 dazel(docker bazel) 用 Python 來處理一些印尼麵的 Python 短片。其他一切均在一般 bazel 中執行 (大部分 Go / Scala/ C++/ Cuda) (來源)

Peloton 技術

Peloton Technology 是專門處理卡車意外和燃料的自動化車輛技術公司,也會使用 Bazel 針對車用安全系統提供可靠的建構作業

Pinterest

Pinterest 是世界的創意目錄,他們使用 Bazel 建構各種後端服務 (Java/C++) 和 iOS 應用程式 (Objective-C/C++)。

我們發現 Bazel 最適合用來在效能大幅改善順序的基礎上奠定基礎、降低建構環境的變異性,並採取漸進方式採用。因此,我們已使用 Bazel 提供所有 iOS 版本。在 Pinterest 開發快速可靠的 iOS 版本

PubRef

PubRef 是新興的科學發布平台。這些要求將 Bazel 與 rules_closure 搭配使用來建構前端的原生 Java 規則,藉此建構主要後端;rules_gorules_noderules_kotlin 來建構各種後端服務。rules_protobuf 是用於協助後端服務之間以 gRPC 為基礎的通訊。PubRef.org 的營運據點位於科羅拉多州波爾德

Redfin

Redfin 是新一代的房地產仲介,提供完善的本地服務專員。他們使用 Bazel 建構及部署網站和各種後端服務。

因為多數由 Google 促成的轉換,我們大幅改善了事情!我們的持續整合建構速度更快 (原因:以往需要 40 至 90 分鐘,現在開發版本的平均時間為 5 到 6 分鐘)。此外,可靠性也更高。這種做法較難量化,但從未說明的建構失敗轉變為「只需要發生」,將要解決的問題視為要解決的問題,因此我們必須進入良性循環,持續提高可靠性。(我們從 Maven 改用 Bazel,且建構速度提升 10 倍)。

隨機

Ritual 是一款行動取貨應用程式,可讓餐廳與客戶交流互動,對方可透過這個省時省力的工具,免費獲得所需的餐飲。Ritual 會在後端服務中使用 Bazel。

貼齊

Snapchat 訊息應用程式的開發人員 Snap 已在 2020 年從 Buck 遷移至 Bazel (來源)。如要進一步瞭解相關程序,請參閱他們的工程網誌

條紋

Stripe 提供行動付款解決方案。這些是 Bazel Scala 規則的主要維護者。

Tink

Tink 是歐洲金融科技公司,致力於與歐洲各地的銀行交流互動。

他們會使用 Bazel 從 polyglot 的單聲道存放區中建構後端服務。Tink 的工程師正在籌辦 bazel build //stockholm/... 聚會團體。

托科迪亞

Tokopedia 是一家專門從事電子商務業務的印尼科技公司,每月活躍使用人數超過 9, 000 萬人,平台中商家則超過 700 萬個商家。

他們撰寫了「How Tokopedia Achieved 1000% Skip iOS Build Time」(如何加快 iOS 建構時間),說明 Bazel 如何加快建構速度。使用 Bazel,建構時間從 55 分鐘縮短為 10 分鐘,使用遠端快取則從 5 分鐘縮短為 5 分鐘。

Twitter

Twitter 決定從褲子遷移至 Bazel 做為主要建構工具 (來源)。

Two Sigma

Two Sigma 是一家總部位於紐約的科技公司,致力於從全球資料中發掘價值。

Uber

Uber 是一家叫車公司。Uber 的 Go 單存放區有 900 名活躍開發人員,可能是使用 Bazel 最大的 Go 存放區之一。如要進一步瞭解相關使用經驗,請參閱使用 Bazel 建構 Uber 的 Go Monorepo 一文。

Uber 進階技術團隊

Uber Advanced Technologies Group 的重點是 Uber 的自動駕駛車輛工作,包括貨車/貨運和自動駕駛共乘。機構使用 Bazel 做為主要的建構系統。

Vistar 媒體

Vistar Media 是一個廣告平台,可讓品牌根據消費者在現實世界中的行為觸及他們。他們的工程團隊主要來自費城,且使用 Bazel 執行建構作業、部署、加快測試,以及合併使用各種技術編寫的存放區。

VMware

VMware 使用 Bazel 產生具有確定性且可靠的建構作業,同時為客戶開發創新產品。

Wix

Wix 是一個雲端式網路開發平台。他們的後端會使用 Java 和 Scala 程式碼。他們將遠端執行與 Google Cloud Build 搭配使用。

我們發現,透過 bazel 遠端執行作業執行時,清理建構作業速度大約加快 5 倍,而這個元件可在將建構/測試動作分派給工作站農場時,運用 bazel 出色的建構/測試平行處理功能。由於採用了霧灰色的積極快取機制,因此平均建構時間可縮短超過 10 倍。(從 Maven 或 Gradle 遷移至 Bazel?5 個關鍵問題)

Zenly

Zenly 是親朋好友的即時地圖。用最有趣的方式見面會,或單純想一探究竟!,即使你分隔兩地,也能保持聯繫。


使用 Bazel 的開放原始碼專案

黑白

Abseil 是 C++ 程式碼的開放原始碼集合 (符合 C++11 規範),旨在增強 C++ 標準程式庫。

角度

Angular 是一種熱門的網路架構。 Angular 是使用 Bazel 建構

阿波羅

Apolo 是一種高效能、彈性的架構,可加快自動駕駛車輛的開發、測試及部署速度。

電腦

百度全面採用工業級遠端程序呼叫 (RPC) 架構,在百度中擁有超過 1,000,000 個執行個體 (未計算用戶端) 和數千種服務,稱為「百度 (Baidu-rpc」)。

cert-manager

cert-manager 是 Kubernetes 的外掛程式,可自動管理和核發不同核發來源的傳輸層安全標準 (TLS) 憑證。這麼做可確保憑證有效且定期更新,並在到期前嘗試在適當時機更新憑證。

CallBuilder

Java 程式碼產生器,可讓您編寫一個函式來建立建構工具。

CPPItertools

C++ 程式庫提供以 Python 內建和 itertools 程式庫為靈感的迴圈外掛程式,以範圍為基礎的迴圈。如同 itertools 和 Python3 內建項目,這個程式庫會盡可能使用延遲評估。

文案列

Copybara 能在存放區之間轉換及移動程式碼。

Dagger

Dagger 是完全靜態的編譯時間依附元件插入架構,適用於 Java 和 Android。

DAML

DAML 是一種智慧型合約語言,可在可保護隱私權的安全執行階段上建構具前瞻性的分散式應用程式。

DeepMind 研究室

可自訂的 3D 平台,適用於虛擬服務專員的 AI 研究。

德瑞克

Drake 是由 Toyota Research Institute 發起的 C++ 工具箱,這是一系列的工具,可用於分析機器人的動態度,並為其建構控制系統,特別著重於最佳化式設計/分析。

Envoy

C++ L7 Proxy 和通訊匯流排

容易出錯

找出常見的 Java 錯誤,當做編譯時間錯誤。(正在遷移至 Bazel。)

可擴充服務 Proxy

可擴充服務 Proxy,又稱為 ESP。ESP 是一種 Proxy,可為 JSON/REST 或 gRPC API 服務啟用 API 管理功能。目前的實作是以 NGINX HTTP 反向 Proxy 伺服器為基礎。

FFruit

FFruit 是免費的開放原始碼 Android 應用程式,適用於熱門的「Falling Fruit」服務。

Gerrit 程式碼審查

Gerrit 是一款適用於 Git 專案的程式碼審查和專案管理工具。

吉爾斯

Gitiles 是以 JGit 為基礎的 Git 存放區使用簡易的存放區瀏覽器。

手榴彈

Grakn (https://grakn.ai/) 是知識圖譜引擎,可整理複雜的資料網路並可供查詢。

GRPC

支援各種語言和平台的遠端程序呼叫系統。(支援 Bazel,但不是主要的建構系統)。

gVisor

gVisor 是容器執行階段沙箱

Guetzli

Guetzli 是 JPEG 編碼器,專門用於提供優異的高畫質壓縮密度。

古拉瓦

這個 Java 程式碼產生器可讓您編寫 Prolog 樣式述詞,並從一般 Java 程式碼順暢使用。

主頁橫幅

Heron 是來自 Twitter 的即時分散式容錯串流處理引擎。

JGit

JGit 是輕量的純 Java 程式庫,實作 Git 版本管控系統。

Jsonnet

正式指定的 JSON 設定產生語言。(Bazel 是支援的建構系統)。

Kubernetes

Kubernetes 是跨多個主機管理容器化應用程式的開放原始碼系統,提供應用程式部署、維護及資源調度的基本機制。

肯德

用於建構支援程式碼工具的生態系統。

鼻塞

Google App Engine 的頂層網域名稱登錄服務。

ONOS:開放網路作業系統

ONOS 是唯一支援從舊版「棕色欄位」網路轉換為 SDN「綠色欄位」網路的 SDN 控制器平台。這可以帶來全新功能,並為網路業者產生幹擾的部署與作業成本點。

Java 適用的 PetitParser

一般來說,程式設計語言的文法都是以靜態方式指定。這類函式很難組合及重複使用,因為容易發生問題。PetitParser 結合了無掃描的剖析、剖析器組合器、將運算式文法和封裝剖析器等概念,建立文法和剖析器模型,做為可以動態重新設定的物件。

PlaidML

PlaidML 是確保全球深度學習工作的架構。

專案 V

Project V 是協助您透過網際網路建構自己的隱私權網路的工具。

Prysmatic Labs 以太坊 2.0 實作

Prysm 是以太坊 2.0 為基礎的分割用戶端,這是一種以區塊鏈為基礎的分散式運算平台。

光線

Ray 是有彈性的高效能分散式執行架構。

王冠

Resty 是 Go 適用的 Simple HTTP 和 REST 用戶端程式庫 (靈感來自 Ruby 資料用戶端)。

所需時間

Roughtime 的作用是提供安全的時間同步處理作業。

矽膠

Selenium 是一套可測試網頁應用程式的可攜式架構。

語意

Semantic 是 Haskell 程式庫和指令列工具,可用於剖析、分析及比較原始碼。它由 GitHub 開發,並用於程式碼導覽等用途。

放送量

您可以使用 C++ 程式庫,建構高效能且符合 REST 樣式的網路伺服器。

十四行詩

Sonnet 是以 TensorFlow 為基礎建構的程式庫,用於建構複雜的類神經網路。

雪酪

Sorbet 是速度飛快、功能強大,且適用於部分 Ruby 的類型檢查工具。Cloud Run 可以擴充至包含數百萬行程式碼的程式碼集,且可逐步採用。

Tink

Tink 是一種跨平台的開放原始碼程式庫,可提供安全、容易使用且難以濫用的密碼編譯 API。

TensorFlow

適用於機器智慧的開放原始碼軟體程式庫。

Turbo Santa

獨立於平台的 GameBoy 模擬器。

設計前衛

Project Wycheprevent 會測試加密程式庫是否針對已知攻擊。

XIOSim

XIOSim 是 x86 架構適用的詳細使用者模式微架構模擬器。

ZhihuDailyPurify

ZhihuDailyPurify 是 Zhihu Daily 的輕量版,是中國問答網路。