Freshworks logo

Freshworks Scales to One Million Requests per Minute Using Amazon RDS for MySQL

2022

Software-as-a-service company Freshworks was growing rapidly, beyond the capacity that it had at the time, and had to purchase more capacity to keep up with growth. Because Freshworks started out with a small team, it wanted a simple solution that wouldn’t require much heavy lifting. And as Freshworks expanded to new regions, it required a solution with a large global footprint. The company decided to migrate from its previous platform-as-a-service provider to Amazon Web Services (AWS) and began its migration in 2013. One of its main reasons for migrating was to begin using Amazon Relational Database Service (Amazon RDS) for MySQL, which makes it easy to set up, operate, and scale MySQL deployments in the cloud. Since migrating, Freshworks has continued to grow from a startup to an enterprise that serves more than 56,000 customers and uses Amazon RDS for MySQL to achieve the high availability and scalability that it needs to keep expanding.

Freshworks team photo
kr_quotemark

Using AWS, we have been able to reduce the complexity of managing a multitenant architecture.”

Kiran Darisi
Co-founder, Freshworks

Migrating to AWS to Keep Up with Rapid Growth

Founded in 2010, California-based Freshworks had its initial public offering in 2021 and now provides more than 56,000 customers around the globe with software for sales, marketing, customer service, human resources, and more. From day one, Freshworks wanted to focus on building software that empowers businesses to serve its customers and employees—not on managing infrastructure. “Our founding team consisted of application developers,” says Kiran Darisi, cofounder of Freshworks. “We are architects, and we write code; we don’t want to deal with infrastructure. We wanted a solution that was predictable and reliable.”

Freshworks was interested in using MySQL for its relational database management system, but provisioning MySQL databases was not available as a managed service using its preexisting cloud solution. The company adopted a third-party cloud application management solution that ran on AWS, and in 2013, it decided to migrate to Amazon RDS for MySQL to achieve higher availability and massive scaling.

Achieving Massive Scaling Using Amazon RDS for MySQL

After Freshworks was confident that Amazon RDS for MySQL was meeting its scaling and availability needs, the company migrated to AWS. Freshworks now uses Amazon RDS for MySQL for 80 percent of its data storage needs. Freshworks also uses several other data storage services on AWS. For example, to store help desk ticket attachments for Freshdesk, Freshworks’s customer support software product, the company uses Amazon Simple Storage Service (Amazon S3)—an object storage service offering industry-leading scalability, data availability, security, and performance. “We kept our architecture simple so that anybody new who joins us can be up and running in the first week,” says Darisi.

By migrating to AWS, Freshworks has been able to scale massively without the complexity of managing infrastructure. Using Amazon RDS for MySQL, Freshworks can handle 500,000 web requests per minute for Freshdesk, and for all its software products combined, it can handle around one million requests per minute. On its database side, which uses horizontal
scaling, Freshworks performs around four million queries per second for Freshdesk across 200 database shards. The company also processes a few billion Freshdesk tickets per year. After migrating to Amazon RDS for MySQL, Freshworks began increasing its web request throughput every year. In 2020, the company received 1.69 billion requests per week, compared with 359 million requests per week in 2016. Even for its large customers, for which the number of web requests skyrockets during peak times, Freshworks can provision multiple read replicas and distribute the API request load in less than 30 minutes—regardless of size or region.

To achieve high availability and virtually seamless failover, Freshworks uses Amazon RDS Multi-AZ deployments—which provide enhanced availability and durability for Amazon RDS database instances. For example, using Amazon RDS for MySQL, Freshworks can automatically switch to a new Availability Zone if needed, and its workload takes less than 10 seconds to detect a point of failure. Freshworks can use point-in-time recovery to recover backup data from a specified time, simplifying disaster recovery. Freshworks can also use this feature for performance benchmarking. In addition, the company uses AWS Cross-Region Read Replicas to save backups—except where compliance requirements do not permit data to be stored outside of a country’s boundaries.

Because of its long history using AWS and Amazon RDS for MySQL, Freshworks has provided customer feedback during the development of new features and improvements added to Amazon RDS for MySQL, including Amazon RDS Performance Insights, a database performance tuning and monitoring feature that can be used to quickly assess the load on a database and determine when and where to take action. Freshworks has also seamlessly entered new geographic areas, such as India and Australia, since the company started using AWS. “AWS has grown alongside us,” says Darisi. “From day zero, we have been a global startup, and as AWS kept adding new Regions, we have been able to expand into them. That has helped us a lot in terms of revenue growth.” As Freshworks continues to expand its customer base, it can easily integrate new teams, which the company has done over the course of 11 acquisitions. Freshworks’s teams are now more productive because employees no longer have to spend as much time on infrastructure maintenance and security. Instead, the teams can spend more time on platform development and product research and development. Finally, Freshworks uses a number of other purpose-built databases on AWS—for example, it stores 300 tables with terabytes of data in Amazon DynamoDB, a fast, flexible NoSQL database service—so it always has the right tool for the right job.

Continuing to Fine-Tune Its Architecture

By using AWS for its infrastructure needs, Freshworks achieves the scalability and availability it needs for virtually limitless growth. Next, the company plans to improve its use of SQL profiling and to use Amazon RDS for MySQL as its single source of truth for all its microservices to remove unnecessary application code and achieve simpler scaling.

“Using AWS, we have been able to reduce the complexity of managing a multitenant architecture,” says Darisi. “We only have to focus on our business and fine-tuning the queries.”


About Freshworks

Freshworks aims to make business software that people love to use. Its purpose-built software for IT, customer support, sales, and marketing teams is affordable and fast to onboard yet powerful enough to deliver critical business outcomes for Freshworks's 56,000+ customers.

Benefits of AWS

  • Achieves massive scaling and high availability
  • Handles around one million web requests per minute
  • Performs around four million queries per second for Freshdesk on its database site
  • Increased throughput every year, handling 1.69 billion requests per week in 2020
  • Simplified disaster recovery
  • Achieves virtually seamless failover using Amazon RDS Multi-AZ deployments
  • Provisions multiple read replicas and distributes the API request load in less than 30 minutes
  • Improved productivity by off-loading infrastructure management

AWS Services Used

Amazon Relational Database Service (Amazon RDS) for MySQL

Amazon Relational Database Service (Amazon RDS) for MySQL makes it easy to set up, operate, and scale MySQL databases in the cloud.

Learn more »

Amazon RDS Multi-AZ

Highly available, durable relational databases deployed across up to three Availability Zones (AZs)

Learn more »

Amazon RDS Performance Insights

Amazon RDS Performance Insights is a database performance tuning and monitoring feature that helps you quickly assess the load on your database, and determine when and where to take action. 

Learn more »

Amazon S3

Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance.

Learn more »


Get Started

Organizations of all sizes across all industries are transforming their businesses and delivering on their missions every day using AWS. Contact our experts and start your own AWS journey today.