TalksAWS re:Invent 2025 - How SAS and Freshworks Power Real-Time Personalization at Extreme Scale -DAT201

AWS re:Invent 2025 - How SAS and Freshworks Power Real-Time Personalization at Extreme Scale -DAT201

AWS re:Invent 2025 - How SAS and Freshworks Power Real-Time Personalization at Extreme Scale

Freshworks: Revolutionizing SaaS with Uncomplicated Technology

  • Freshworks is a 15-year-old company that started with a customer support software called Freshdesk
  • It has grown to offer a suite of SaaS products, including IT service management, asset management, and employee workflow management
  • Freshworks has reached $1 billion in revenue and serves 75,000 customers in over 40 languages
  • The company's success is built on providing uncomplicated software and an uncomplicated technology stack

Freshworks' Data Architecture Journey

  • Freshworks moved from a single RDBMS (MySQL) to a multi-data technology approach to fit different use cases
  • Key requirements for Freshworks' data architecture:
    • Reliable and scalable performance
    • Disaster recovery and data residency capabilities
    • Strong security and privacy controls
    • Support for a 1,000+ developer community

Migrating from Cassandra to ScyllaDB

  • Freshworks used Cassandra to power its "Conversation Store" and "Unified Customer Portal" services
  • Cassandra faced challenges with performance, availability, and operational complexity
  • Freshworks migrated these services to ScyllaDB, leveraging ScyllaDB's:
    • Predictable low-latency performance, even at high scale
    • Seamless scalability and elasticity
    • Ability to run within Freshworks' own AWS VPCs for data residency

Migration Approach

  1. Introduced a ZDM proxy to enable dual writes to both Cassandra and ScyllaDB
  2. Used a custom CDC migrator to migrate historical data from Cassandra to ScyllaDB
  3. Validated the data migration and addressed any gaps
  4. Gradually switched read and write traffic from Cassandra to ScyllaDB

Migrating MySQL Data to ScyllaDB

  • Freshworks' MySQL database held large text and blob data, which was becoming increasingly difficult to manage
  • Moved this data from MySQL to ScyllaDB to:
    • Reduce the load on the MySQL system
    • Achieve better scalability and availability

Migration Approach

  1. Used Kafka Connect and CDC to capture incremental changes from MySQL to ScyllaDB
  2. Performed a bulk historical data migration using Spark jobs
  3. Validated the data migration and gradually switched read and write traffic

Migrating Dynamodb Data to ScyllaDB

  • Freshworks' "Activities" microservice used DynamoDB, but faced limitations with item size
  • Migrated this data to ScyllaDB to:
    • Eliminate the need to split data across multiple DynamoDB items
    • Achieve better scalability and performance

Migration Approach

  1. Enabled DynamoDB Streams to capture incremental changes
  2. Used a custom Lambda function to read DynamoDB Stream events and push them to Kafka
  3. Leveraged ScyllaDB's Kafka connector to ingest the data from Kafka into ScyllaDB
  4. Performed a bulk historical data migration using Spark jobs
  5. Gradually switched read and write traffic from DynamoDB to ScyllaDB

Future AI-Powered Use Cases with ScyllaDB

  • Feature Store: Caching features and model inputs to reduce latency between applications and large language models
  • Data Store for Modeling: Providing a high-performance data store to support the training pipeline for Freshworks' custom ML models
  • Notification Services: Leveraging ScyllaDB for URL shortening and attachment services to support Freshworks' ticketing solutions

Key Takeaways

  • Freshworks successfully migrated critical data services from Cassandra, MySQL, and DynamoDB to ScyllaDB
  • ScyllaDB provided the required performance, scalability, and availability to support Freshworks' growing business
  • The ability to run ScyllaDB within Freshworks' own AWS VPCs was crucial for data residency and security requirements
  • Freshworks is now exploring new AI-powered use cases that leverage ScyllaDB's capabilities

Technical Details

  • Freshworks achieved 10x improvements in migration speeds by optimizing the CDC migrator
  • ScyllaDB provided consistent sub-5ms latencies at the P99.99 percentile, even under high load
  • Freshworks runs ScyllaDB in a "bring your own account" (BYOA) setup, with the entire data plane residing within their own AWS VPCs

Business Impact

  • Freshworks was able to scale its critical data services to support its rapid growth, reaching 75,000 customers and $1 billion in revenue
  • The migration to ScyllaDB improved reliability, availability, and cost-efficiency, allowing Freshworks to focus on building innovative products
  • Freshworks is now exploring new AI-powered use cases that leverage ScyllaDB's high-performance and scalable data platform

Use Case Examples

  1. Conversation Store and Unified Customer Portal: Migrated from Cassandra to ScyllaDB, achieving 10x faster migration speeds and consistent sub-5ms latencies.
  2. MySQL Data Migration: Moved large text and blob data from MySQL to ScyllaDB, reducing the load on the MySQL system and improving scalability.
  3. DynamoDB Migration: Migrated the "Activities" microservice from DynamoDB to ScyllaDB, eliminating the need to split data across multiple items and improving performance.

Your Digital Journey deserves a great story.

Build one with us.

Cookies Icon

These cookies are used to collect information about how you interact with this website and allow us to remember you. We use this information to improve and customize your browsing experience, as well as for analytics.

If you decline, your information won’t be tracked when you visit this website. A single cookie will be used in your browser to remember your preference.