| --- | |
| layout: documentation | |
| title: Remote execution overview | |
| --- | |
| # Remote Execution Overview | |
| This page covers the benefits, requirements, and options for running Bazel | |
| with remote execution. | |
| By default, Bazel executes builds and tests on your local machine. Remote | |
| execution of a Bazel build allows you to distribute build and test actions | |
| across multiple machines, such as a datacenter. | |
| Remote execution provides the following benefits: | |
| * Faster build and test execution through scaling of nodes available | |
| for parallel actions | |
| * A consistent execution environment for a development team | |
| * Reuse of build outputs across a development team | |
| Bazel uses an open-source | |
| [gRPC protocol](https://github.com/bazelbuild/remote-apis) | |
| to allow for remote execution and remote caching. | |
| For a list of commercially supported remote execution services as well as | |
| self-service tools, see | |
| [Remote Execution Services](https://www.bazel.build/remote-execution-services.html) | |
| ## Requirements | |
| Remote execution of Bazel builds imposes a set of mandatory configuration | |
| constraints on the build. For more information, see | |
| [Adapting Bazel Rules for Remote Execution](remote-execution-rules.html). |