Opera Syncs Tens of Millions of Browsers with Scylla and Achieves Huge Latency Improvements

About Opera

In 1995, Opera was founded on the premise that anyone should be able to browse the web on any device. For more than 20 years, Opera browsers have enabled millions of people to access the internet, pioneering many features that are now taken for granted today, including tabs and speed dial. Opera makes browsers for PCs (Windows, MacOS and Linux) as well as mobile devices (Opera for Android, Opera Mini for Android and iOS, Opera Touch and Opera News).

Opera uniquely provides a completely free, no-log virtual private network (VPN), along with the “My Flow” feature that enables users to sync things securely between computer and phone. The Opera browser is also first on the market with built-in ad blocking and cryptocurrency-mining protection.

The Challenge

Opera used Apache Cassandra for about 2 years before they discovered Scylla. The team was plagued by constant issues, such as the Cassandra process itself being killed, and several hundreds of hours spent debugging Java garbage collection (GC). Cassandra proved to be a constant struggle, and countless experiments in tuning configurations delivered only marginal improvements.

“We can now focus on creating new features for our users instead of babysitting Cassandra.”

Rafał Furmański, Head of Web Services, Opera

The Solution

Opera discovered Scylla at the Cassandra Summit in 2015, where the Scylla database achieved 1,000,000 CQL operations per second on a single node. “I was really impressed and discovered that ScyllaDB has built a very efficient database that is also compatible with Cassandra,” said Rafał Furmański, Head of Web Services for Opera. In 2018, the Opera team decided that Scylla was mature enough to migrate users’ data from Cassandra. As an added bonus, they found they were able to significantly reduce their node count, lowering TCO in the process.
scylla Opera bar graph

Running cassandra-test against a cluster of 3 nodes, Opera found that Scylla performed three times better in terms of operations per second and latency. Approaching the migration conservatively, the Opera team moved users one by one from Cassandra to Scylla. The backends were simultaneously connected to Cassandra and Scylla clusters. The migration completed, Opera now runs only Scylla in production. The database infrastructure shrank from 30 nodes of Cassandra to 21 of Scylla, replicating 33 terabytes of data across two data centers.

“I’ve never had better technical support experience in my entire life — I really mean it,” exclaimed Furmański. “Since migrating to Scylla our on-call engineers are finally getting enough sleep. They’re really happy with this change. Scylla simply works as promised. We can now focus on creating new features for our users instead of babysitting Cassandra.”

Latency Improvements by the Numbers:

  • 99th percentile read request latency
    • Cassandra: 5000ms
    • Scylla: 4ms
  • 99th percentile write request latency
    • Cassandra: 500ms
    • Scylla: 4ms