See all blog posts

AppMonet: Painting the Digital Landscape with Scylla

AppMonet, based in the heart of New York City, connects mobile app developers with the largest brand advertisers and agencies for higher revenue through video ads. With one unified SDK, AppMonet supports all major video brands while maximizing and diversifying apps’ advertising demand sources.

In addition, they use AI to automatically fit the content better to screen with a strong call to action (CTA) button that increases ad effectiveness. By offering unique brand demand and rich media formats, AppMonet has become a popular choice for hundreds of global applications.

How AppMonet Works

AppMonet enables publishers to use multiple ad bidding services on the backend with a single small software development kit (SDK). Almost all of the top 100 brand advertising demand sources work with AppMonet.

Beneath every ad served there is a process known as Real Time Bidding (RTB). This standard, maintained by the Internet Advertising Bureau (IAB), defines the different aspects of what sort of ads can be placed, such as their size and page placement, acceptable media formats, and how auctions are conducted. For in-app video ads, AppMonet specifically supports both Video Ad Serving Technology (VAST) and Video Player Ad-Serving Interface Definition (VPAID) pre-caching and playing of ads. This dramatically increases effective video fill rate and revenue.

The issue for mobile developers has been that each ad network supports their own methods to embed ads in mobile apps. AppMonet, through its unified container technology for video and display content, supports all of the Supply Side Platforms (SSPs): Smaato, AOL, Smart Adserver, InMobi, AerServ, LoopMe. PubNative, MobileFuse, Fyber, Xandr, OpenX, Rubicon, TappX, Mobfox, SpotX, RhythmOne, AdColony, and so on.

AppMonet’s SDK is efficient, both in terms of memory and bandwidth. For example, it watches your device’s memory usage to ensure optimal video playing. It also avoids using various hacks found elsewhere in the industry, such as a Javascript video-to-image converter, which can dramatically balloon bandwidth usage.

AppMonet’s Path to Scylla

AppMonet’s path to Scylla Cloud was a migration from their first implementation. Their infrastructure was originally developed in Erlang mnesia. Written by Ericsson for highly distributed telecom work, mnesia seemed like a good fit for their purposes. However, growth and success proved their back-end was not capable of scaling to meet their production demand. AppMonet needed an alternative that would let them scale by an order of magnitude, and fast.

They benchmarked a number of leading solutions: Redis, Aerospike, Cassandra and Scylla. While they had experience with Redis, they felt it had architectural limitations for their use case. Aerospike was popular in AdTech, but seemed proprietary. They knew of Cassandra, but while it was famous for fast writes, it didn’t seem a good fit for their read-heavy workload.

That’s when they read a blog post about AdGear’s use of Scylla, and learned about their Scylla Summit presentation. According to AppMonet co-founder Nick Jacob, “It was an inspiration. It seemed like a perfect fit.”

Their one-table schema was pretty simple. They use a compound primary key, but it was facile to model it across different databases.

“It was pretty clear, pretty quickly, that Scylla gave us the most flexibility, but also the best performance. For our use case it was pretty obvious that Scylla was the best option.”

How AppMonet Uses Scylla

AppMonet turned to Scylla Cloud to run their backend on their own AWS account. They need to support both real-time writes to the application, as well as batch bulk updates daily and weekly from Apache Spark. They also export data to Presto or Athena to perform critical analytics. To ensure their bulk updates or analytics do not impact production transactions they utilize Scylla’s unique workload prioritization feature.

Another advantage of Scylla Cloud was offloading database management. The Scylla Cloud team handles all of the administration, which AppMonet relies upon for handling incidents and isolating errors. Even if it was not the database but their own app code which required some tuning.

“From maintaining the database, we really don’t need to do anything,” Nick noted. “We use the advanced monitoring via the Grafana dashboard. It has been helpful to identify issues.”

AppMonet are deployed on a cluster of i3.4xlarge Amazon Web Services EC2 servers, managing 600 GB currently, with plenty of room to expand. Nick observed that with Scylla they continue to grow linearly without any dropoff in performance. Currently they are running around 20,000 queries per second — 52 billion requests a month — but the load was only at 18%. “We’re confident we can handle multiple times the workload.”

To serve customers with the right ads in the right location, the team at AppMonet perfected the bidding process. In order to make the bidding efficient, latency plays a crucial part. The time it takes to retrieve data from the user interests and match it to the advertisers define the efficiency of the ad. Low latency data retrieval makes sure data presented to the user is contextual to the information she is watching.

Most critically of all, Scylla delivers latencies matching AppMonet’s needs.

“Having it be in our AWS account we can do sub-millisecond average latencies on the reads.” Nick confirmed average latencies were 200 µseconds (microseconds). “It’s awesome.”

AppMonet’s Next Steps

AppMonet is a small company trying to grow quickly. With Scylla their future is secure. They wanted a database that handled multi-datacenter replication — a built-in feature of Scylla — to deploy to multiple global datacenters. Nick was bullish. “The product can grow with us.”

Your Next Steps

Now it’s your turn. Speaking of effective calls-to-action, here’s ours:

TRY SCYLLA CLOUD TODAY!