Summary: Generally, you should expect to pay up to $1,000 / month in infrastructure costs for volumes of up to 100 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 $300/month.
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.
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).
Installations can be configured to use a certain percentage of spot instances (0 - 100%).
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.
Here are our recommended settings for request volumes of up to 100 million requests/month.
For AWS, add $72 / mo to run the EKS cluster.
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.
You can save on Postgres costs by paying for 1 - 3 years upfront. AWS, Azure, and GCP all offer this.
Redis is used as a cache and worker queue. A single Redis instance is needed. Pricing is typically determined based on cost and memory.
You can find more about Redis pricing below.
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.