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
Introduced a ZDM proxy to enable dual writes to both Cassandra and ScyllaDB
Used a custom CDC migrator to migrate historical data from Cassandra to ScyllaDB
Validated the data migration and addressed any gaps
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
Used Kafka Connect and CDC to capture incremental changes from MySQL to ScyllaDB
Performed a bulk historical data migration using Spark jobs
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
Enabled DynamoDB Streams to capture incremental changes
Used a custom Lambda function to read DynamoDB Stream events and push them to Kafka
Leveraged ScyllaDB's Kafka connector to ingest the data from Kafka into ScyllaDB
Performed a bulk historical data migration using Spark jobs
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
Conversation Store and Unified Customer Portal: Migrated from Cassandra to ScyllaDB, achieving 10x faster migration speeds and consistent sub-5ms latencies.
MySQL Data Migration: Moved large text and blob data from MySQL to ScyllaDB, reducing the load on the MySQL system and improving scalability.
DynamoDB Migration: Migrated the "Activities" microservice from DynamoDB to ScyllaDB, eliminating the need to split data across multiple items and improving performance.
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.