Case Study

Sibros
Sibros’ builds with EngFlow Remote Execution are 6x faster, more reliable, and more efficient.
Sibros

About Sibros

Sibros is an all-in-one connected car solution for over-the-air updates, data management, and remote commands, which has an ISO 26262 ASIL-D functional safety rating, and is internationally compliant with safety, security, and data protection standards like TISAX, ISO27001, SOC 2 Type II, GDPR, and WP.29 R155 and R156.

Sibros’ Deep Connected Platform enables OEMs to cut through the chaos of disparate components and sensors, and provides them with a single source of truth to realize hundreds of use cases, reduce costs, and increase efficiency through the entire vehicle lifecycle.

6x

From 3 hours down to 27 minutes

Build times impact productivity

Sibros’ firmware division of 45 engineers has well over 1300 test targets and just under 2 million lines of code in various languages. As a result, the company experienced longer than expected build times.

Sibros also targets multiple toolchains, OS distributions and kernels. However, inconsistent behaviors in compilation and test execution between developer machines and CI started to become an issue, which resulted in valuable engineering time lost in debugging, troubleshooting, and ensuring developer and CI environments didn’t drift apart. This also made deploying any upgrades to tooling increasingly difficult.

With EngFlow’s remote execution system, the growth of our infrastructure team no longer has to be linear with the growth of our development team.
Ryan Deushane
Firmware Infrastructure Lead @ Sibros

6x faster builds with EngFlow

With EngFlow Remote Execution, Sibros’ build times went through a 6x speedup. The company was also able to cache every object globally to prevent unnecessary rebuilds and save precious compute time.

Sibros engineers now enjoy consistent behaviors across developer machines and CI, enabling them to spend more time on feature development and less time on inconsistencies and bug fixes.

EngFlow saves us money in the following ways:
  1. Working with EngFlow reduces the number of engineers we allocate to resolving build inconsistencies and setup problems with developers; allowing us to spend more time developing features and improving our products.
  2. EngFlow’s solution allows our developers to work faster. Cache is now shared globally across the company, including with CI, so any one binary is never built twice.
  3. By allowing our CI jobs to operate faster and more efficiently, we are able to run with lower compute requirements. Machines are also able to spin down faster given that jobs complete quicker and we don’t need to spend time setting up complicated cache management solutions. EngFlow handles all this for us.
  4. Developers no longer need powerful laptops, since remote execution gives them access to much more compute power than they would ever have with a laptop. All our developers really need is a reasonable amount of RAM to complete Bazel analysis, which allows us to save money on machine CPU costs.
Ryan Deushane
Firmware Infrastructure Lead @ Sibros

Bazel expertise at EngFlow

Sibros chose Bazel because they found it excelled at the things they care most about:

  • Accuracy: Developers want to be able to trust what is coming out of their build system and delivered to their customers. Unfortunately, much of the software development world still relies on build systems where running "clean" commands is necessary to guarantee accurate results. Bazel does a good job of leveraging modern OS mechanisms such as PID & network namespacing, sandboxing, and per action containerization to ensure developers get what they are expecting. This saves time because they don't need to constantly "clean" when they don't get the results they expect from their builds.
  • Polyglot: Sibros supports many different languages such as C, C++, Python, Rust, Java, and Kotlin. Being able to tie them together using a similar method of description in BUILD files is a powerful feature.
  • Modular: Sibros’ firmware team works within the same monorepo. Bazel encourages modular description of builds using targets, which helps them enable and encourage re-usability of code across multiple teams working within the same model repository.
The folks at EngFlow are a great resource and source of Bazel knowledge. While Bazel documentation has improved over the years, it’s a very large and complicated system with a steep learning curve. Being able to talk with experts who understand it, and have even written and contributed code, is very valuable.
Ryan Deushane
Firmware Infrastructure Lead @ Sibros

Faster builds & tests for you

Learn more about how you can optimize your builds and tests and make your engineers more productive and happy.