Customer Stories / Financial Services / United States

Reducing Costs by 90% and Improving Scalability Using Amazon DynamoDB with Venmo
Learn how Venmo in the financial services industry modernized its architecture with a purpose-built scaling solution using Amazon DynamoDB.
90% reduction
in infrastructure costs
3.6 TB - and growing
data scalability
Overview
Having grown to more than 90 million active accounts since its public launch in 2012, peer-to-peer payments provider Venmo wanted to modernize its architecture to meet scaling and performance needs. Venmo’s legacy data storage solution had heavy licensing and management costs. The company chose to use Amazon Web Services (AWS) to modernize its infrastructure because the use of AWS presented an opportunity for a scalable, purpose-built solution. Venmo migrated a critical database to Amazon DynamoDB, a serverless, NoSQL, fully managed database with single-digit millisecond performance at any scale. Thus, Venmo maintained its performance, improved infrastructure, increased scalability, and reduced costs by 90 percent.

Opportunity | Using Amazon DynamoDB to Modernize Data Storage Architecture for Venmo
Venmo began as a peer-to-peer money-sending solution and has since evolved into a financial service platform that offers a mobile application, credit and debit card products, and business solutions for small businesses and large retailers. It is a leading peer-to-peer payments provider in the United States and processes more than 1 billion dollars per day.
Every payment interaction creates a story, written into Venmo’s data stores, which generates a message that can be shared with friends. Shared stories, which can be managed based on the user’s preferences, appear on the application’s home page. Users see the feed of shared stories when they open the app, making it a highly visible, high-traffic feature for Venmo. The company needs the data querying for this endpoint to be in single-digit milliseconds. That’s no small task for a database that needs to scale to 5.6 billion feed stories and 3.6 TB of data—and growing.
Venmo faced infrastructure and scaling challenges in addition to costly licensing fees and maintenance operations for its legacy solution. The data store that Venmo used for feed stories was shared with other elements of the business, such as funding instruments and customer service notes, totaling 39 other data collection streams in the shared cluster. Poor performance in one data collection stream could impact the others, so Venmo sought a purpose-built solution for storing the feed data.
To modernize its infrastructure to meet scaling, cost, and performance needs, Venmo chose to migrate its feed database to Amazon DynamoDB. In addition to cost and infrastructure benefits, the solution encrypts data at rest, which was necessary for Venmo as a business in the financial services industry.
Venmo already used AWS to run portions of its infrastructure and had been moving toward AWS managed services before implementing this solution. Being comfortable using AWS infrastructure made for a smoother transition from MongoDB to Amazon DynamoDB. “AWS has been very supportive with its understanding of the technologies and what it means to apply them in production settings,” says Chris Ostler, principal engineer at Venmo.

To have an infrastructure solution such as Amazon DynamoDB that can natively scale under the hood without us having to manage that scaling was a big draw.”
Chris Ostler
Principal Engineer, Venmo
Solution | Reducing Infrastructure Maintenance Costs by 90 Percent Using Amazon DynamoDB
Venmo needed to design a strategy for implementing Amazon DynamoDB that could achieve the performance it wanted without disruption to customers. The company analyzed the ways that it queried data to identify patterns and modeled the data in Amazon DynamoDB to support those query patterns. “We knew the growth trajectory of our data,” says Ostler. “To have an infrastructure solution such as Amazon DynamoDB that can natively scale under the hood without us having to manage that scaling was a big draw.”
The migration to Amazon DynamoDB happened in four steps. First, Venmo backfilled the existing 3.6 TB of data for feed stories into Amazon DynamoDB, translating old data into the new optimized schema. It then used dual writes, where the company wrote data to both its legacy solution and Amazon DynamoDB, to discover any data sync issues and use its backfill script to close any gaps. The next step was ramping reads, which meant a small percentage of users were directed to a feed using Amazon DynamoDB instead of the legacy solution. This percentage was then gradually ramped up to 100 percent running on Amazon DynamoDB. Finally, Venmo deprecated its legacy solution once everything was running smoothly on Amazon DynamoDB.
By migrating in this step-by-step way, Venmo achieved near-zero downtime during migration. Venmo has also reduced infrastructure costs by 90 percent using Amazon DynamoDB, and the solution meets Venmo’s data query performance needs and scaling requirements.
Overall, it’s a big change from Venmo’s previous architecture, which required manually tuning up infrastructure and patching instances. “Because Amazon DynamoDB is a managed service, that maintenance overhead is taken away, and our engineers can focus on solving actual business problems,” says Thejana De Zoysa, director of engineering and head of payments, identity, and data platforms at Venmo.
Outcome | Continuing to Modernize Architecture on Amazon DynamoDB
Although this was Venmo’s first use case for using Amazon DynamoDB, the company now uses Amazon DynamoDB throughout its infrastructure to support critical workloads. Venmo is also using more AWS managed services after the adoption of Amazon DynamoDB for other critical business processes, fully modernizing its infrastructure. “Using Amazon DynamoDB, we were able to address the pressing concerns we had with this use case,” says Ostler. “Our familiarization with the service makes it much easier to see that it’s a great fit for other use cases.”
The principles Venmo has learned from modernizing its architecture can be applied iteratively in the future across the company. Venmo has identified additional areas where Amazon DynamoDB will be useful, including several core architecture projects that are slated for the next 18 months. “Amazon DynamoDB is less expensive to maintain than our legacy infrastructure, meets our data volume and scaling requirements, and provides the necessary data encryption at rest right off the bat,” says De Zoysa.
About Venmo
Venmo launched to the public in 2012 and has since grown into the largest peer-to-peer payments provider in the United States, serving 90 million active users per year and processing more than 1 billion dollars per day.
AWS Services Used
Amazon DynamoDB
Amazon DynamoDB is a serverless, NoSQL database service that allows you to develop modern applications at any scale.
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.