Admiral’s Promise to 1600+ Publishers: Unmatched Availability and Unparalleled Low Latency

Discover YugabyteDB Managed With the 7-in-7 Customer Series
Premika Srinivasan

Admiral provides a leading Visitor Relationship Management (VRM) platform that is used by over 1600 publishers worldwide, including names like CNBC, CBS Interactive, and Bored Panda. They are a key partner for publishers navigating the online landscape, helping them improve audience engagement, streamline subscriptions, and optimize revenue streams.

Admiral’s VRM platform simplifies registrations while maintaining GDPR and CCPA privacy and compliance standards. They also provide a toolkit for publishers to tackle challenges such as adblock recovery and digital subscription management. Admiral’s goal is to provide a conducive environment for publishers, paving the way for sustainable growth in an evolving digital landscape.

A small subset of Admiral customers posted on their website
A small subset of Admiral customers

As mentioned above, the VRM platform must provide a number of data-centric services that help users do the following:

  • Adblock revenue recovery: Offer industry-leading review per impressions with insightful analytics.
  • Privacy and Consent management: Safeguard user privacy and ensure comprehensive GDPR and CCPA compliance using Admiral’s Consent Management Platform.
  • Regwalls and Email Acquisition: Bolster email signups and first-party data collection through registration walls, targeted segments, and strategic offers.
  • Social Subscriptions: Expand subscribers’ digital footprint by increasing the number of followers across various social platforms and enhancing site traffic and engagement.

Technical Requirements for Admiral’s VRM Platform

Admiral’s global architecture prioritizes performance and resilience. Their previous MongoDB solution was neither flexible nor scalable enough to handle their large, complex dataset. Evaluating CockroachDB resulted in significant hiccups in latency. They wanted a database that overcame all these challenges.

Admiral felt confident that with the right database, they could enhance real-time user engagement and identity and access management (IAM) services, among other benefits. They chose to deploy on YugabyteDB Managed

The following parameters and requirements guided Admiral’s decision:

  • Public Cloud Used: Multi-cloud strategy with YugabyteDB Managed deployed on Google Cloud.
  • Schema: Mix of both YCQL (Cassandra) and YSQL (PostgreSQL) APIs
  • Workload Characteristics: Read Heavy
  • Deployment: Admiral has two deployment sets for two key applications. Both are multi-region.
    • Identity and Access Management (IAM) —Consists of a 3-region sync cluster spanning the US with 5 read replica clusters across 5 regions (US, Europe, and Asia)
    • Time Series Events — Consists of 5 separate clusters across 3 continents (US, Europe, and Asia) with cluster configuration varying between 3×4 to 3×16.
  • Primary Database Requirements: Admiral had two equally important requirements: geo-distribution and high performance.
    • The database had to be geo-distributed across multi-continents, ensuring data was accessible with low latency across different public clouds.
    • The system had to ensure incredibly fast lookups with read speeds of less than 10ms and write speeds of less than 200ms. In terms of operational performance, in the largest region, the database needed to support approximately 2 billion events per month, manage up to 50,000 read requests per minute at peak times, and handle between 1 to 3 million pending users per hour.
  • Additional database requirements:
    • High availability
    • Horizontal scaling with operational simplicity
    • Encryption at rest and in-flight
    • High preference for open-source with contributions

Deploying a Highly Available Geo-Distributed App With Optimal Operational Performance

Based on those requirements, Admiral deployed their highly available geo-distributed application on YugabyteDB Managed, the fully managed database-as-a-service offering.

Below are the two use cases where Admiral implemented their geo-distributed app on YugabyteDB Managed.

Use case 1: Database backend for an identity and access management (IAM) service.

Admiral utilized YugabyteDB Managed to build an IAM service across publishers and subscribers to manage generic logins, accounts, metadata, sessions, etc. The IAM service operates on a global cluster within YugabyteDB Managed, with Read Replicas to enhance availability and performance. This service utilizes two essential APIs: YCQL and YSQL.

They migrated their existing subscriber and publisher accounts to this new service, which also supports 2-factor logins, social logins, and more. Larger publishers additionally benefit from using this service to securely roll out end-user features such as login and account management, as well as attach metadata to accounts.

IAM topology
Topology for Admiral’s Identity and Access Management Service

Topology:  The topology consists of one universe with synchronous replication across three regions (East, West, and Central US) and async read replicas (in Europe, Asia, US East, US West, and US Central). Those are not synchronized with the primary clusters but used to allow for fine-grained read access. 

Use case 2: YugabyteDB Managed powered regional targeting service.

Admiral stores time-series “events” from a user, where an “event” consists of a page view, pop-up, and other significant things that happen during a user’s visit to a customer’s site. This data is used for targeting various experiences. The “Events” service, managing this data, operates as separate clusters per region, exclusively utilizing the YCQL API.

For example, to display a specific pop-up once per day, the system checks whether the user has seen it recently. All events from a user’s visit are loaded and sent to a “targeting” service, which determines the appropriate content or experiences to show the user, ensuring each interaction is timely and relevant.

Topology: This topology consists of separate clusters in each region. The clusters reside in regions including US (East, West, Central), Europe, and Asia, with three nodes for each and up to 8 cores per node. 

Utilizing Synchronous Clusters

The architecture uses synchronous multi-region clusters for resilience and consistency. By distributing data synchronously across three regions, the system remains fully operational with minimal end-user impact even if a cloud region fails completely.

With this deployment strategy, Admiral replicates a minimum of three nodes across three different regions—each with a replication factor (RF) of three. If a regional failure occurs, the Yugabyte database cluster remains uninterrupted—automatically and continuously serving data requests from the surviving regions.

Implementing synchronous multi-region clusters also ensures consistency throughout the system. All write operations are synchronously replicated, leading to globally consistent transactions.

Distributed SQL databases: high availability + disaster recovery in 3 data centers
Distributed SQL databases: high availability + disaster recovery in 3 data centers

Optimizing Global Latency with Read Replicas

Admiral uses read replicas to optimize read latencies for its global applications. In a multi-regional deployment, having a global database with leaders in specific regions ensures low latency reads locally. However, applications in other regions might experience higher latencies due to cross-region reads from the leader.

Admiral mitigated this by implementing read replicas, boosting system availability and read efficiency. These replicas are observer nodes. They do not participate in RAFT consensus or elections and have distinct replication factors from the primary cluster. This strategy is particularly effective when a slight staleness in read data is acceptable for applications running in other regions since it enables reduced read latencies across various regions. The result is a more efficient and responsive global application. 

Admiral Read Replicas

High Availability

YugabyteDB’s built-in resilience helps Admiralmeet its high availability (HA) requirements. The Yugabyte database ensures HA by keeping an active replica poised to take over instantly should the current leader fail, ensuring uninterrupted service.

In Admiral’s configuration, the failure of a node, whether it’s a YB-TServer or a YB-Master, triggers an automatic response to maintain system operability. The YB-Master, while not critical in the normal I/O operations path, operates within a Raft group with peers situated on various nodes. These nodes house both active and standby masters. If an active master (YB-Master leader) fails, a rapid reelection process occurs among the peers. A new YB-Master leader is elected and activated within seconds of the failure.

Admiral High Availability

In Summary…

By utilizing YugabyteDB Managed as a critical component of their infrastructure, Admiral has set up a robust foundation for consistently offering visitor relationship management services to publishers. By prioritizing a dependable, geo-distributed database, Admiral amplifies its VRM platform, driving better user interactions and streamlined operations. The deliberate design and tactical rollout of this platform make it not only resilient against the current challenges in the digital publishing landscape, but they also lay out the groundwork for future innovation and remarkable growth.

Learn more about YugabyteDB Managed and the features used by Admiral through the following resources:

  1. Attending a Thursday demo to see geo-partitioning in action
  2. Signing up for a full-featured, free trial of YugabyteDB Managed to give geo-partitioning a try
  3. Visiting our Docs and Blog space to discover how you can build a global application with YugabyteDB
Premika Srinivasan

Related Posts

Explore Distributed SQL and YugabyteDB in Depth

Discover the future of data management.
Learn at Yugabyte University
Get Started
Browse Yugabyte Docs
Explore docs
PostgreSQL For Cloud Native World
Read for Free