Migrating to Bazel from Maven or Gradle? 5 crucial questions you should ask yourself

Natan Silnitsky
Feb 9, 2019 · 2 min read
Photo by Richard Lee on Unsplash

Migrating to a new build tool can be tricky, especially if it entails a paradigm shift. But with careful thought and planning it can bring great results.

As Wix Backend grew exponentially with more than 800 micro-services, it became obvious our previous build tool for jvm/scala code (Maven) has been slowing us down.

We decided to switch to the Bazel build tool and Google Cloud Build CI platform.

Bazel is an open source build tool designed for speed and accuracy with a sand-boxed build environment which allows for truly incremental builds and a high degree of test parallelism. Google Cloud Build allows Bazel to flourish in the cloud using remote build execution and tailor-made build results UI.

We have seen about 5 times faster clean builds when running with bazel remote execution which utilizes bazel’s great build/test parallelism capabilities when it dispatches build/test actions to a worker farm.

Average build times are more than 10 times faster due to the utilization of bazel’s aggressive caching mechanism

The migration journey at Wix had its ups and downs. We’ve learned a lot during this process, and at the same time Bazel and Google Cloud Build have also improved considerably to meet our needs.

I have identified 5 important decisions and points to consider when migrating to Bazel from Maven or Gradle. These include

Thank you for reading!

Please also share on Facebook and Twitter. If you’d like to get notified on the next instalments, follow me on Twitter and Medium.

You can also visit my website, where you will find my previous blog posts, talks I gave in conferences and open-source projects I’m involved with.

If anything is unclear or you want to point out something, please comment down below.

Wix Engineering

Architecture, scaling, mobile and web development…

Wix Engineering

Architecture, scaling, mobile and web development, management and more, this publication aggregates blog posts written by our very own Wix engineers. Visit our official blog here: https://www.wix.engineering/

Natan Silnitsky

Written by

Backend Infrastructure Developer @Wix.com

Wix Engineering

Architecture, scaling, mobile and web development, management and more, this publication aggregates blog posts written by our very own Wix engineers. Visit our official blog here: https://www.wix.engineering/

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store