Production Best Practices

The following are best practices for setting up your production environments for both a custom augmentor and your custom bidding agent.

AWS Data Centers

Beeswax is currently located out of US-EAST-1, US-WEST-2, EU-WEST-1, and AP-NORTHEAST-1 AWS data centers. When deploying your augmentor or your bidding agent, you should ensure it's located in the same data center as your Beeswax bidder instance for optimal performance. Customers interested using AWS PrivateLink should additionally look up which AZ (Zone Name) in your AWS account refers to the below Zone IDs and choose to deploy in that AZ (Zone Name):
US-EAST-1:

  • use1-az6
  • use1-az2

US-WEST-2:

  • usw2-az2
  • usw2-az1

EU-WEST-1:

  • euw1-az3
  • euw1-az1

AP-NORTHEAST-1:

  • apne1-az4
  • apne1-az1

The Zone Name to Zone ID table for your account can be found at the bottom of https://console.aws.amazon.com/ec2/v2/home

By default Beeswax will deploy your custom bidder instance in US-EAST-1 with the option of also deploying an additional bidder instances in the other regions. If you have a Bidding Agent or Augmentor in multiple data centers you will need to have an instance of your augmentor and/or bidding agent in each region as well.

Production Set Up

In addition to ensuring your augmentor and bidding agent is located in the same AWS region and ideally the same AZ based on the mapping provided, we can provide the following high level guidance:

  1. Utilize Amazon's ALB in front of your augmentor or bidding agent for consistent performance and reliability.
  2. While the characteristics of your augmentr or bidding agent will ultimately determine the choice of instance, our recommendation is to pick a memory optimized instance such as r7i or r7g.
  3. Given that we have a strict 10ms timeout for your augmentor and bidding agent respectively, out recommendation is to perform any lookups within your machine's local cache. Calling out to a separate in-memory data-store like Redis can also typically be done within the 10ms timeout.
  4. The programming language you use to build your augmentor or bidding agent is up to you, the only requirement is that it meet the 10ms timeout.
  5. We recommend supporting HTTP/2 on your bidder. When using HTTP 1.1 , set your server to Keep Connections Open so that we don't try to reset connections at high rates.