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.
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.
db.t3.micro
AWS
1
0.018
$12.96
$25.92
db.t3.medium
AWS
4
0.072
$51.84
$103.68
GP_Gen5_2
Azure
10
0.176
$126.72
$253.44
db-f1-micro
GCP
0.6
0.0105
$7.56
$15.12
db-n1-standard-2
GCP
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.
cache.m6g.xlarge
AWS
12.93
0.297
$213.84
$427.68
cache.r4.xlarge
AWS
25.05
0.455
$327.60
$655.20
P1
Azure
6
0.554
$398.88
$797.76
P3
Azure
26
2.218
$1,596.96
$3,193.92
Standard
GCP
10
0.54
$388.80
$777.60
Standard
GCP
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