New Relic: Usage stats inflated due to containerization


#1

I’m interested in usage stats from other folks who use New Relic with Aptible. I’ve been told by New Relic that they charge by ‘bare metal hosts’, not VMs or containers, so if we had multiple containers on one host, we would only be charged for 1 host.
The thing is, of course, we don’t manage the underlying ‘hosts’ on Aptible, so the only thing New Relic has to go on is the number of containers, which it seems to treat as hosts. It calculates what it calls “monthly equivalent hosts” by taking the total hours of connected hosts and dividing by 750. Given that each deploy (within 1 of our 3 environments) creates 3 new containers that New Relic detects as new, additional hosts, the resulting usage is a number is much higher than I feel is justifiable (it’s 7 now).
Does anyone have a similar issue? If so, how have you gone about resolving it with New Relic? We enjoying having the insight it provides, but it won’t be affordable if we cannot somehow demonstrate that their usage statistics are not, when it comes to Aptible, a justifiable basis for billing.
Thanks,
Jessica


#2

Hi Jessica,

Since you mentioned “monthly equivalent hosts”, I believe it sounds like you’re currently being billed by New Relic via host-based pricing. Given that you don’t manage the underlying hosts, and Enclave doesn’t even enumerate the details of said hosts, I believe the way to achieve accurate New Relic billing is to switch to Compute Unit (CU) based pricing. From the New Relic pricing docs:

For New Relic APM, CU-based pricing is the best choice if you run a lot of dynamic computing environments in the cloud.

Host-based pricing is ideal for customers with mainly static environments, consisting of hosts managed by the customer in their own data center.

https://docs.newrelic.com/docs/accounts/accounts/subscription-pricing/compute-unit-cu-pricing-vs-host-based-pricing-apm-infrastructure

Their definition is : A CU (compute unit) = (CPU Cores + GB RAM) x hours used

On Aptible, each container has a fixed CPU allocation: every 1GB of RAM is allocated 0.25 CPU cores. Therefore, 4GB RAM = 1 CPU, and 16GB RAM = 4 CPU, etc. Because of this, you can calculate CU’s based on your Enclave RAM footprint. You can simplify the math a bit as follows:

 CU = (    CPU Cores     + GB RAM ) x 750 hours
 CU = ( (GB RAM x 0.25)  + GB RAM ) x 750 hours
 CU = (        GB RAM x 1.25      ) x 750 hours
 CU = GB RAM x 937.5

Checking the math for a 4GB RAM, 1 CPU container:

 (   1 CPU +  4 GB RAM ) x 750 = 3,750 CU
 4 GB RAM x 937.5 = 3,750 CU

To determine the total monthly CU you need to purchase to cover your Enclave resources, use the number of GB listed for Application containers on the Billing page of your Dashboard. For example, 88.5 GB would be 88.5 x 937.5 = 82,968.75 CU.


#3

Thanks, this is a great help!