On-Premise Costs

Summary: Generally, you should expect to pay up to $2,000 / month in infrastructure costs for volumes of up to 20 million requests/month.

This could increase or decrease depending on the cloud provider, request volumes (increases server and ingress/egress costs), redundancy and resiliency requirements (increases database costs), and size of data flowing through the system (increases blob storage, cache, and ingress/egress costs).

For low volumes (under 10 million requests/month) running on single region deployments with spot instances, costs can be as low as $900/month.

Overview

To run Paragon’s software on your own cloud, you’ll need at a minimum:

  • Kubernetes cluster

  • PostgreSQL database

  • Redis instance

  • SendGrid account

While we are constantly optimizing resources and finding ways to cut costs for cloud and on-premise, costs equal to or below $1,000/month are our current benchmark when adding or refactoring services for installations with request volumes of 0 - 100 million requests/month.

Costs can be affected by several factors including cloud provider, request volumes (increases server and ingress/egress costs), redundancy and resiliency requirements (increases database costs), and size of data flowing through the system (increases blob storage, cache, and ingress/egress costs).

We’ve been able to reduce several Managed On-Premise instances to under $500/month and provide cost optimization for our managed customers at no additional cost. If cloud spend is a concern, consider using our Managed On-Premise option.

Resources

Kubernetes

The Kubernetes cluster runs the microservices. Depending on the number of requests flowing through the system, more servers may need to be instantiated to meet the demand. Services typically autoscale based on horizontal pod autoscalers listening to CPU and memory.

Prices on compute instances can be found below:

Additionally, some of the clouds charge a base price per month for Kubernetes (e.g. AWS EKS charges $72 / mo).

Spot Instances

Kubernetes pricing can be optimized by using spot instances, which can cut costs by as much as 90%. AWS, Azure, and GCP all offer spot instances, which you can learn more about here.

Installations can be configured to use a certain percentage of spot instances (0 - 100%).

Reserved Pricing

You can save on compute costs by reserving server instances and paying for so many months or years up front. AWS, Azure and GCP all offer this.

Pricing Chart

Here are our recommended settings for request volumes of up to 100 million requests/month.

CloudInstanceInstances$ / Hour$ / Hour (Spot)$ / Month$ / Month (Spot)

AWS*

t3a.small

16

0.0188

0.0056

$216.58

$64.51

Azure

B1s

32

0.0104

$239.62

$0.00

Azure

D2as v5

8

0.086

0.0086

$495.36

$49.54

GCP

e2-small

16

0.016751

0.016751

$192.97

$57.89

For AWS, add $72 / mo to run the EKS cluster.

Postgres

Postgres is the primary datastore used for saving data in Paragon. A single server is needed, and several databases are provisioned within it. The costs are generally determined by CPU and memory.

InstanceCloudvCPUMemory (GB)$ / Hour$ / Month$ / Month (Multi-AZ)

db.t3.micro

AWS

2

1

0.018

$12.96

$25.92

db.t3.medium

AWS

2

4

0.072

$51.84

$103.68

GP_Gen5_2

Azure

2

10

0.176

$126.72

$253.44

db-f1-micro

GCP

null

0.6

0.0105

$7.56

$15.12

db-n1-standard-2

GCP

2

0.0826

$59.47

$118.94

GCP also charges for storage and networking. Learn more here.

Reserved Pricing

You can save on Postgres costs by paying for 1 - 3 years upfront. AWS, Azure, and GCP all offer this.

Redis

Redis is used as a cache and worker queue. A single Redis instance is needed. Pricing is typically determined based on cost and memory.

InstanceCloudvCPUMemory (GB)$ / Hour$ / Month$ / Month (Multi-AZ)

cache.m6g.xlarge

AWS

4

12.93

0.297

$213.84

$427.68

cache.r4.xlarge

AWS

4

25.05

0.455

$327.60

$655.20

P1

Azure

0

6

0.554

$398.88

$797.76

P3

Azure

null

26

2.218

$1,596.96

$3,193.92

Standard

GCP

0

10

0.54

$388.80

$777.60

Standard

GCP

null

25

1.15

$828.00

$1,656.00

You can find more about Redis pricing below.

SendGrid

SendGrid is used to send emails including:

  • invite team member

  • reset password

  • failed workflow notifications

Assuming you’re sending less than 100 emails a day, you can get by on the free tier. On the Essentials tier, you can send as much as 1,500 / day and pay $19.95 / mo.

Last updated