Skip to content

Search the site

ArmCloudUber

Uber plans to refactor Cassandra, MySQL, Redis workloads for Arm

"Some of the more common issues included legacy base images and outdated Debian packages

There's already been some heavy lifting done by Uber's engineers. Image credit: https://unsplash.com/@david_carballar

Uber is planning to rebuild stateful workloads like batch processing, Cassandra, etcd, M3, MySQL and Redis jobs to run on Arm instances.

The move comes after the ride-sharing firm's a hard-won success migrating 2,800 stateless Go-based services to Arm-based hosts in OCI.

As earlier covered by The Stack, Uber now generates 400,000 container image builds per week that need to be multi-architecture after deciding for energy and cost-efficiency reasons to build for Arm as well as x86. 

It is running those workloads on Oracle Ampere instances, Uber explained in the first of a two-part blog series on shift. In its second blog, the company revealed its ongoing ambitions to take many more workloads multi-architecture – as well as details on the migration, which saw its engineers partner with product teams to run synthetic load tests on Arm. 

See also: Microsoft releases synthetic data factory

The work to-date on the Go-based services has had its hiccups.

“We encountered old container image dependencies and other incompatibilities that needed to be fixed on Arm,” Uber’s team said. 

“Some of the more common issues included legacy base images and outdated Debian packages. Some services depended on outdated, single-architecture base images. We replaced these with updated, multi-architecture versions. Others relied on Debian packages that had never been built for Arm. We tackled these one by one, rebuilding or replacing them wherever possible, which was quite time-consuming.

“This cleanup wasn’t glamorous work, but it was undeniably essential.  Each replaced base image, each rebuilt package, and each dependency sorted out brought us closer to a world where multi-architecture builds were the default and not the exception,” its team said in a late Feb blog.

Java services will follow its Go services to Arm this year, Uber said.

“We’re also preparing to tackle more complex territory: stateful workloads like Redis, etcd, Apache Cassandra, and MySQL, and M3, batch processing, and machine learning jobs.” Many others will be watching.

Keep those learnings coming! 

Latest