About Blue River Technology
Blue River Technology is a subsidiary of John Deere that is radically changing agriculture by creating intelligent machinery. This is reflected in their complex product development, which includes a customized operating system, integrated embedded systems, and running on custom ARM64 hardware with GPUs.
During the Build Meetup 2021, Bhanu Kaithe from Blue River Technology presented the challenges they were facing, and how EngFlow’s expertise and remote execution sped up their builds and tests, and reduced costs.
The pain of multi-hour-long, flaky builds
Bhanu Kaithe shared more details about their problems with running Bazel on the target ARM64 embedded hardware they used for building and testing.
9x faster builds and tests with EngFlow
Now that developers are using a EngFlow Remote Execution cluster, the builds just work.
Blue River Technology no longer has to maintain a second toolchain running on ARM64. The now obsolete code required to build Bazel for ARM64 — including docker containers and patching various rules — was deleted, simplifying everything.
Builds and tests are now robust — and 9x faster. Instead of 3 hours, Blue River Technology builds and tests now take only 20 minutes. The speed-up is the result of using EngFlow’s Remote Execution, and the Bazel customization and build setup advice EngFlow build experts provided:
- 1 hour saved by moving builds to EngFlow Remote Execution
- 1 hour saved by enabling cross-compiled tests through EngFlow’s Bazel changes
- 30 mins saved by upgrading data volumes to NVMe
- 10 mins saved by keeping the Bazel servers warm
Saving at scale
With EngFlow’s solution, Blue River Technology no longer has to distribute custom hardware to developers. They can test against a cluster of shared hardware that is set up to the exact production specifications. The specialized hardware has better utilization and can now be scaled.
A happy choice
Blue River Technology self-manages their EngFlow Remote Execution cluster, but the resilience and predictability of Remote Execution allows their DevOps teams to focus on their core mission. Resources previously dedicated to maintaining the build infrastructure are now free to work on projects.