Online Dating App Migrates to AWS Cloud to Support Rapid Growth and Control Costs
Challenge
Waves was struggling to address escalating infrastructure costs and performance issues as its user base grew.
Solution
ClearScale migrated user data to AWS from Google Cloud and implemented Amazon Neptune to address latency issues.
Benefits
Waves can now deliver a reliable and seamless user experience for its fast-growing user base at a much lower cost overall.
AWS Services
Amazon S3, Amazon Neptune, Amazon Cognito, Amazon Pinpoint, AWS AppSync
Executive Summary
Waves, a Y Combinator startup, is a mobile dating app that enables people to express themselves fully in romantic relationships. It’s differentiated from other mobile dating platforms by allowing users to specify their preferences upfront so that they only match with those who are comfortable with the same desires and activities. Preferences are never out in the open, and users do not have to worry about getting embarrassed when it comes time for an intimate encounter.
Waves addresses several shortcomings in the modern dating app experience. By giving users the option to specify their needs around taboo topics, Waves empowers people who would otherwise feel isolated or afraid when it comes to sexual compatibility. Waves is breaking down communication barriers and helping many people find their perfect match.
The Challenge
The Waves app experienced several challenges as a result of its rapid rise in popularity. First, infrastructure expenses were escalating quickly on Google Cloud. Per-user costs were growing faster than anticipated with no apparent plateau in sight. Users were also beginning to experience latency issues and lengthy execution times for basic functionality. Additionally, Waves did not have a reliable automatic backup and restore solution in place.
Waves was outgrowing its existing architecture, especially with respect to storing and querying data. Hosting user profiles, preserving messages, and facilitating a smooth user experience were becoming more difficult with Google Cloud Platform and related services, including Cloud Firestore, Google Storage, and Firebase Authentication. Leadership needed an answer to meet demand effectively before its target market went elsewhere.
The leadership team decided to engage ClearScale due to its sophisticated AWS data migration service and extended history with complex cloud projects. Since 2011, ClearScale has helped hundreds of clients take advantage of the cloud through application development, cloud systems integrations, and managed services. Waves’ needs were well within the expertise of ClearScale’s engineers, developers, and architects.
The ClearScale Solution
Although Waves did not need application development services for this project, ClearScale’s experience with web and mobile application developments helped significantly. Given Waves' fast-growing user base and technical needs, ClearScale recommended the company move its core infrastructure and workloads to the AWS platform. Because Waves already had active users, every step of the migration needed to be handled with extreme caution.
First, ClearScale migrated current Waves users and their data from Google Cloud to AWS. All user data was segmented into two categories: static data (e.g., user profile photos) and user information (e.g., user preferences). ClearScale brought static data over from Google Storage to Amazon S3 via a transient EMR and the DistCp command. Before uploading to S3, data was downloaded in EMR HDFS. User profile data stored in Google Firestore was migrated to Amazon Neptune, a graph database service that allows developers to create and run applications that rely on connected datasets.
Amazon Neptune was especially relevant to Waves for multiple reasons. As one of Amazon’s managed services, it allows IT teams to offload burdensome database management tasks, such as hardware provisioning, software patching, configuration, and backups. Waves developers could focus less on administrative needs and more on app development. Amazon Neptune was also critical to solving Waves’ latency issues. The graph model for data storage was well suited for a dating app that had to execute a lot of queries constantly. Queries, such as searching for suggested profiles based on user preferences, are conducted natively, making Neptune the best choice as a data storage platform. Additionally, AWS Neptune comes with the Neptune Streams feature, which makes it possible for the app to respond to scenarios that may arise in the future based on changes in user profiles. Neptune Streams maintains a log of user actions that developers can reference for future code deployments.
Recognizing that most users access Waves via a personal mobile device, it was also necessary for ClearScale to implement a simple solution to enable push notifications and secure usage. ClearScale experts decided it was best for Waves to migrate to AWS Cognito, a service for managing user sign-ups, sign-ins, and access controls. Doing so required integration with AWS Pinpoint, a service through which businesses can deliver customer-focused engagement experiences. Finally, to send database queries from private user mobile applications, ClearScale set Waves up with AWS AppSync and GraphQL. These two decisions simplified the work of interacting with the server part of the application dramatically.
Architecture Diagram
The Benefits
Before tapping ClearScale, Waves leaders knew they needed a future-proof mobile application capable of supporting a large and active user base. By transitioning over to AWS, Waves can cost-effectively grow its user base while managing heavy workloads with ease. A post-migration evaluation revealed that Waves’ processing time for searching suggested profiles is now less than 0.4 seconds for 100 random users of several thousand total active users on the platform. That’s even for cases when users have several hundred matches to their profile.
Thanks to ClearScale’s AWS data migration expertise, the Waves app is now much more reliable and scalable. It no longer has latency issues, and cost per user is much lower than it was previously on Google Cloud. The platform’s IT team can also invest in application upgrades without having to worry about back-end database management. Today, Waves is ready to expand without limitations.