AWS Storage Blog

How Aura improves database performance using Amazon S3 Express One Zone for caching

Aura created a whole new kind of connected photo frame by making it social. Powered by an invite-only group of friends and family using the Aura app, Aura frames create a space at home to share, collect, and appreciate photos. Users can easily add photos and videos using the app, and enjoy their Wi-Fi connected frame’s premium design and free, unlimited cloud storage.

To ensure the best performance for its customers at peak traffic times, like holidays, Aura managed to reduce daily peak database IOPS usage and peak database CPU usage by 20% and 25%, respectively, using the Amazon S3 Express One Zone storage class. Amazon S3 Express One Zone is a high-performance, single-Availability Zone storage class purpose-built to deliver consistent single-digit millisecond data access for your most frequently accessed data and latency-sensitive applications.

In this blog, we look at how Aura took advantage of S3 Express One Zone’s consistent low latency storage to decrease peak load on its core Amazon Relational Database Service (Amazon RDS) cluster. First, we look at the challenge Aura faced supporting the holiday rush, where single day traffic can reach 20x the usual number of signups and 9x the usual number of photo uploads. Then, we discuss how Aura used S3 Express One Zone to reduce peak database load, ensuring users have a fast and smooth setup and image upload process for their new frames.

Opportunity

With millions of Aura WiFi-connected frames online, and even more photos and videos displayed on a daily basis, it is crucial to manage all of the related data quickly and efficiently. As Aura continues to grow rapidly, and add more frames, photos, and videos every day, the demands on database performance can make scaling vertically challenging. In an effort to reduce demands on its primary database, Aura started to seek ways to increase the efficiency of access to their core Amazon RDS cluster.

Application Load Balancer distributes the request to one of the Amazon EC2 instances to retrieve information from the database then reply

Aura frame devices communicate regularly with the Aura platform to process changes to the device configuration or receive the latest images by friends and family. Devices check for updates at start up and periodically, requesting information from an Application Load Balancer that distributes the request to one of the Amazon EC2 instances to retrieve information from the database then reply. During busy holiday peaks, Aura can see 20x the normal device sign ups, and corresponding spikes in database IOPS and CPU.

While Aura continued using RDS to leverage its speed, manageability, and scalability for their data, it found that the need for frequent read after write operations caused issues with using read replicas. Aura identified tens of gigabytes across thousands of infrequently changed records where the data was expected to be read frequently using simple queries. This data could be cached to decrease demand on the database. However, this data was more than what could be efficiently added to Aura’s existing caching infrastructure. The existing cache was designed for small frequently changed records and would require re-engineering to support thousands of larger records. Therefore, Aura was looking for a new caching solution for this data.

Overview of solution

As AWS announced S3 Express One Zone at re:Invent 2023, Aura was getting ready for a very busy holiday season and noticed that it seemed to be a perfect fit for their caching needs. With S3 Express One Zone offering up to 10x faster data access and up to 50% lower request costs than S3 Standard, it was a great option for Aura to use for data caching.

By writing the infrequently changed data to S3 Express One Zone, Aura was able to offload subsequent retrievals to the cached copy while maintaining comparable performance as reads from the RDS database

The consistent and familiar S3 APIs allowed the Aura team to integrate with S3 Express One Zone quickly in preparation for the holiday season. By writing the infrequently changed data to S3 Express One Zone, Aura was able to offload subsequent retrievals to the cached copy while maintaining comparable performance as reads from the RDS database. This allowed Aura to maintain a seamless customer experience without having to scale their primary database vertically.

Outcome

Aura was able to use S3 Express One Zone to improve the performance and efficiency of its platform. By caching infrequently changed data in S3 Express One Zone, Aura reduced daily peak database IOPS usage by 20% and peak database CPU usage by 25%, enabling the platform to better handle holiday usage peaks while improving daily database performance. The low latency of S3 Express One Zone along with low request costs was a perfect fit for Aura’s needs, helping the company to scale to support millions of connected photo frames and many more photos and videos. By improving their database performance, Aura’s end-users are able to smoothly set up their new device and upload pictures to share with family and friends.

Conclusion

In this post, we looked at how Aura Frames successfully leveraged S3 Express One Zone to cache infrequently updated data to reduce load on their primary Amazon RDS database. By reducing IOPS and CPU usage on their primary database, Aura was able to meet the demands of their growing user base, without sacrificing performance, while maintaining their database strategy.

With Over 13,000 5-star reviews, Aura is loved by their users for their customer centric design. Aura continues to grow and add more users and more WiFi-connected frames, and they continue to look for new technology solutions to maintain its focus on the best experience users have come to expect. Aura’s successful adoption of S3 Express One Zone demonstrates how AWS can help customers optimize their infrastructure and deliver exceptional user experiences.

If you would like to learn more about S3 Express One Zone, visit the S3 User Guide. If you have any questions or comments, feel free to leave them in the comments section.

Joshua Banton

Joshua Banton

Joshua Banton is the Lead Infrastructure Engineer at Aura Frames where he has worked for over 5 years. He has been designing, building, and maintaining scalable and reliable infrastructure for tech companies for over 15 years.

Kellie Cottingame

Kellie Cottingame

Kellie Cottingame is a Senior Solutions Architect at Amazon Web Services. In his 5+ years of experience working with AWS he has had to opportunity work for the Amazon AppStream 2.0 service team, AWS Partner Organization, and AWS Professional Services. He is passionate about helping businesses leverage AWS to achieve their business goals.