誰使用 Bazel?#39

回報問題 查看來源

本頁面列出已知使用 Bazel 的公司和 OSS 專案。不構成推薦。

使用 Bazel 的公司

acqio

Acqio 是一款為中小商家提供付款產品和服務的金融科技。Acqio 擁有許多單聲道存放區,並且將 Bazel 與 Kubernetes 搭配使用,即可提供快速又可靠的微服務。

Adobe

Adobe 為以 GitOps 驅動的持續性 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 使得開發人員和運算基礎架構的效率大幅提升,例如 CI 建構時間平均減少 5 至 6 倍,且繼續成為公司快速、可重現且標準化的軟體建構作業的基礎。

CarGurus

CarGurus 的使命是打造全球最受信賴且透明的汽車市集,並使用 Bazel 建構自家的多態單色存放區。

指南針

Compass 是以技術導向的房地產平台。我們集結了房地產、技術和商業專業人士的菁英團隊,致力成為最可靠的購屋者來源。

Databricks

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

Databricks 程式碼集是一個 Monorepo,內含大多數 Google 服務的 Scala 程式碼、適用於前端 UI 的 JavaScript、使用 Python 編寫指令碼,以及使用 Jsonnet 設定基礎架構的 Jsonnet 等等 [...] 儘管這個單詞含有數百萬行 Scala,處理內部程式碼的速度也很快。(在 Databricks 上使用 Bazel 快速建構 Scala)。

Dataform

Dataform 可為資料團隊提供可擴充的數據分析功能。這些團隊在單一單聲道存放區中維護少量 NPM 套件和說明文件網站,並使用 Bazel 完成所有工作。

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

  • 加快持續整合:我們啟用遠端建構快取,將平均建構時間從 30 分鐘縮短為 5 個 (涵蓋整個存放區)。
  • 改善本機開發作業:不必費心執行任何隨機 bash 指令碼,漸進式建構作業現在只要幾分鐘就能完成
  • 開發人員設定時間:新工程師只要使用 bazel、docker 和 JVM 3 個依附元件,就能建構所有程式碼。最後一位加入我們團隊的工程師成功在 30 分鐘內,使用全新的空白筆電建立所有程式碼

深銀 FISHLAB

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

Dropbox

Bazel 在 Dropbox 中是分散式建構和測試環境的重要元件。我們使用 Bazel 將 TypeScript/Python/Go/C/Rust 結合成可靠的實際工作環境版本。

工程與瓦爾克人

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

Huawei Technologies 在約 30 個專案中使用 Bazel,這些專案是 Java/Scala/Go 專案,但 Go 專案除外,其他專案則是由 Maven 所建構。我們會編寫一項簡單的工具,將 Maven 建構的專案轉譯成 Bazel 建構的專案。近期有越來越多專案會使用 Bazel。

IMC 交易

IMC 總部位於阿姆斯特丹,是一家全球專利交易公司與市場經營者。我們使用 Bazel 持續建構及測試 Java/C++/Python/SystemVerilog 專案。

Improbable.io

Imobable.io 開發了分散式作業系統 SpatialOS,可打造由數百萬個複雜實體所控制的大型模擬。

Interaxon

InteraXon 是一家精心控制的運算公司,可打造硬體和軟體平台,將腦波轉換成數位訊號。

Jupiter

木星是專門提供雜貨和家庭必需品配送服務的公司。

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

簡單來說

只是一家總部設於挪威的企業金融科技公司,致力於打造軟體解決方案,改變全球企業監管機構管理風險與流動性的方式。整個應用程式堆疊都是由 Bazel 建構。

Kitty Hawk Corporation

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

Line

Line 是一款可即時通訊的應用程式,也是日本最熱門的訊息應用程式。他們在程式碼集中使用 Bazel,其內容包含約 60% 的 Swift 和 40% C/C++/Objective-C/Objective-C++ (來源)。

改用 Bazel 後,我們大幅縮短建構時間。這在品質確保期間的處理時間有顯著改善。發布新的版本給測試人員時,不再需要再等候一個小時等待建構和測試。(使用 Bazel 提升 iOS 的 LINE 建構效能)。

LingoChamp

LingoChamp 為英文學習者提供專業解決方案。我們使用 Bazel 來處理 Java 和 Python 專案

LinkedIn

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

Lucid Software

Lucid Software 是視覺協作領域的領導者,能協助團隊瞭解概念,並將想法付諸實現。利用 LucidchartLucidsparkLucidscale 等產品,團隊無論身在何處,都能達成共同願景、釐清複雜性,並透過視覺化方式協同合作。

Lucid 使用 Bazel 建構了數百萬行 Scala 和 TypeScript 行。遷移至 Bazel 不僅大幅加快建構速度、減少建構環境的外部依附元件,也能簡化開發人員使用建構系統的體驗。Bazel 提升了 Lucid 的開發人員工作效率,並推動進一步的成長。

Lyft

Lyft 使用 Bazel 執行 iOS (來源) 和 Android 應用程式。

馬卡尼

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

聚會

Meetup 是線上社群網路入口網站,可供使用者離線進行群組會議。Meetup 工程團隊負責處理 rules_scala,且是 rules_avrorules_openapi 的維護者。

Nvidia

在 Nvidia 上,我們一直使用 dazel(docker bazel) 讓 Python 處理部分 bazel 的 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 建構及部署網站和各種後端服務。

由於轉換大多歸我們所有,所以成效大幅改善!我們的 CI 建構作業速度較快 (更快:過去需要 40 至 90 分鐘的時間,現在開發版本平均需要 5 至 6 分鐘)。此外,可靠性也遠遠不只如此。這種狀況難以量化,但從不明原因轉為可解決的建構失敗現象,已成為真正發現要解決的實際問題,使得我們進入嚴峻的循環,不斷提升可靠性。(我們從 Maven 改用 Bazel,建構速度快 10 倍)

一般

Ritual 是一款行動取貨應用程式,可讓餐廳與客戶聯繫,提供簡便的省時工具,讓你立即取得想要的食物和飲品,而且不需等待。Ritual 會在後端服務中使用 Bazel。

貼齊

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

條紋

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

Tinder -

Tinder 在 2021 年將 iOS 應用程式從 CocoaPods 遷移至 Bazel (來源)。

Tink

Tink 是歐洲金融科技,為歐洲各地銀行打造最佳連線方式。

他們使用 Bazel 從 Polyglot 單聲道存放區建構後端服務。Tink 的工程師正在組織 bazel build //stockholm/... 聚會群組。

Tokopedia

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

他們撰寫了「Tokopedia 如何加快 iOS 建構時間速度」一文,其中說明 Bazel 如何加快建構作業的執行速度。使用 Bazel 建立的建構時間長度從 55 分鐘縮短為 10 分鐘,而遠端快取的建構時間則從 55 分鐘縮短為 5 分鐘。

Twitter

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

西格瑪文

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

Uber

Uber 是一間叫車公司,Uber 的 Go 單聲道存放區有 900 位活躍的開發人員,可能是使用 Bazel 數量最大的 Go 存放區之一。如要進一步瞭解相關體驗,請參閱使用 Bazel 建構 Uber 的 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 是親朋好友的即時地圖。這是最有趣的相見方式,或單純觀看最新內容!— 即便彼此相近,也能感到開心。


使用 Bazel 開放原始碼專案

Abseil

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

角形

Angular 是常見的網路架構。Angular 使用 Bazel 建構

阿波羅

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

bRPC

百度中採用的工業級 RPC 架構,擁有超過 1,000,000 個執行個體(不含計算用戶端) 和數千種服務,在百度內稱為「百度-單次點擊收益」。

cert-manager

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

CallBuilder

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

CPPItertools

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

克里巴拉

Copybara 這項工具可用於在存放區之間轉換及移動程式碼。

Dagger

Dagger 是 Java 和 Android 兩種完全靜態的編譯時間依附元件插入架構。

DAML

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

DeepMind Lab

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

德瑞克

Drake 是一個 C++ 工具箱,從 MIT 開始,目前由 Toyota Research Institute 主導。它是一系列可分析機器人的動態及建構控制系統的工具,我們特別重視最佳化型設計/分析。

Envoy

C++ L7 Proxy 和通訊匯流排

錯誤機率

將常見的 Java 錯誤當成編譯時間錯誤。(正在遷移至 Bazel)。

可擴充服務 Proxy

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

FFruit

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

Gerrit 程式碼審查

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

吉祥物

Git 是簡易的存放區瀏覽器,適用於以 JGit 建構的 Git 存放區。

垃圾

Grakn (https://grakn.ai/) 這個知識圖引擎可用於整理複雜的資料網路,並開放查詢。

GRPC

跨語言和平台的遠端程序呼叫系統。(雖然支援主要建構系統,但也支援 Bazel)。

gVisor

gVisor 是一種容器執行階段沙箱。

蓋茲利

Guetzli 是 JPEG 編碼器,旨在提供優異的高畫質壓縮密度,

古拉瓦

Java 程式碼產生器,可讓您撰寫 Prolog 形式的述詞,並透過一般 Java 程式碼順暢使用。

海洛

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

爵士狂想

Jazzer 是 Java 語言專用的模糊以及其他 JVM 語言,而且與 JUnit 5 整合。

JGit

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

Jsonnet

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

Kubernetes

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

Kythe

建構可使用程式碼的工具的生態系統。

星雲

Google App Engine 中的頂層網域名稱註冊服務。

ONOS:開啟網路作業系統

ONOS 是唯一支援從舊版「棕色」網路轉換至 SDN「綠色」網路的 SDN 控制器平台。這可為網路業者帶來令人期待的新功能,以及破壞性的部署和營運成本點。

Java 適用的 PeetitParser

程式設計語言的文法是以靜態方式指定。不可避免的意外狀況,因此難以撰寫及重複使用。PetitParser 結合了免掃描的剖析、剖析器合併器、剖析運算式文法和封包剖析器等概念,藉此建立可動態重新設定的物件語法和剖析器。

PlaidML

PlaidML 是一種架構,用於隨時隨地提供深度學習。

專案 V

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

Prysmatic Labs 以太坊 2.0 實作

Prysm 是 Ethereum 2.0 的資料分割用戶端,這個以區塊鏈為基礎的分散式運算平台。

清光

Ray 是靈活的高效能分散式執行架構。

救濟

Resty 是 Go 適用的簡易 HTTP 和 REST 用戶端程式庫 (靈感來自 Ruby rest-client)。

節約時間

Roughtime 是為了提供安全時間同步的專案。

Selenium

Selenium 是測試網頁應用程式的可攜式架構,

語意

Semantic 是 Haskell 程式庫和指令列工具,可用於剖析、分析及比較原始碼。這項工具是由 GitHub 開發 (用於瀏覽程式碼等)。

放送量

Served 是一個 C++ 程式庫,可用來建構高效能符合 REST 樣式的網路伺服器。

Sonnet

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

雪酪

Sorbet 是執行速度快且強大的類型檢查工具,適用於部分 Ruby。這個 API 可使用數百萬行程式碼擴充程式碼集,並逐步採用。

Spotify

Spotify 正在使用 Bazel 建構自己的 iOS 和 Android 應用程式 (資料來源)。

Tink

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

TensorFlow

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

杜博聖誕老人

平台獨立的 GameBoy 模擬器。

防治安全

Project Wycheproof 測試加密編譯程式庫以抵禦已知攻擊。

XIOSim

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

ZhihuDailyPurify

ZhihuDailyPurify 是輕量版 Zhihu Daily 這個中國問答網站。