Hosting Deployment options on AWS
We have prepared few ready to use options which can later be changed as per your requirements. These requirements are based on your business scale and can be upgraded as per your choice.
Option 1 : Single Instance Deployment
All services mentioned in Commerceup architecture are installed in one single EC2 instance
This is standard and classic way of hosting any application on single EC2, Recommended for staging or mild traffic production use only.
Option 2 : Independent services instance deployment
You can use multiple instances to host your frontend, APIs layer, database, elastic search on different instances
This is used for medium to high production use by choosing different types of EC2 instances. May incur low cost but not full proof.
Option 3 : Managed services deployment
This is AWS preferred way to use AWS managed services which auto heal and auto start. This gives a great way for backup. Every service in given architecture runs on separate managed services by AWS
Recommended for high traffic and production use only. This may incur higher cost but is more reliable and secure. Gives you more flexibility over fallback, alarms, restarts and backup etc.
Merchants can choose any of the above hosting at the time of setup according to business requirement and budget. These setups can be changed or upgraded as business grows.
Estimated Usage Cost according to AWS are listed below
Below are few examples with use cases to calculate estimated pricing. These pricing are just estimate and can vary for different AWS region and services or resources used.
API Gateway : This service is used to serve APIs and track, pricing goes as below : https://aws.amazon.com/api-gateway/pricing/
S3 Storage : This service is used to save images, files and other assets in different buckets. https://aws.amazon.com/s3/pricing/
Cloudfront : This service is used for distribution globally from its edge locations. https://aws.amazon.com/cloudfront/pricing/
EKS : Managed Kubernetes is used. https://aws.amazon.com/eks/pricing/
Elastic Load Balancing : https://aws.amazon.com/elasticloadbalancing/pricing/
Elastic Cache : https://aws.amazon.com/elasticache/pricing
OpenSearch Service : used for elastic search https://aws.amazon.com/opensearch-service/pricing/
AWS Lambda Serverless pricing : https://aws.amazon.com/lambda/pricing/
You may also be entitled to get a free tier for 12 months of AWS. You can claim for 10000 USD credits if you enable the startup activation program with AWS.
Common Pricing (applicable as a pay-as-you-go model):
API Gateway
$3.85 per million
$38.5
S3 Usage
$0.025 per GB
$5 for 200 GB
Cloudfront
To India: $0.109 per GB To South America, South Africa, Kenya, and the Middle East: $0.110 per GB Europe, Israel, United States, Mexico, and Canada: $0.085 per GB
~$100 for 10 million api requests store
Data Transfer
Can vary from $0.17 to $0.23 per GB for different regions.
~$200 for 1 TB data transfer
Lambda
$0.0000206667 for every GB-second $0.25 per 1M requests
~$10
Elastic Kuernetes
1 Cluster for ~$75
$75
Deployment Examples with estimated pricing
We have create 3 options which can be used as a reference.
Description: Under this option, all the software components will run on a single instance. This is standard and classic way of hosting any application on single EC2, Recommended for staging and test environments
No. of Instances: 1
No. of Load Balancers: 1
No. of EKS Cluster: 1
HA: No
Backup: Manual / Can be automated using scripts
Architecture: Monolithic for DB services & Microservices for Application
Services on Instance #1
● Elastic and Kibana ● ElasticSearch (without Cluster / Replica) ● MongoDB unmanaged (without Cluster / Replica) ● Redis unmanaged (Without Cluster / Replica) ● Jenkins - Build and Deploy Pipeline
Estimated fixed cost will be for EC2 and rest will run as common pricing model as mentioned above. EC2 can be chosen as per preference but for production can be used a large machine and for staging can be a t2 medium or t3a.large.
Estimated Pricing : ~$100-200 per month excluding usage of common pricing
Example : Estimated fixed cost for 20 million API requests traffic usage per month with Managed services deployment
Fixed Cost
EC2
(t3a.large 0.05$ per hour for 5 instance $0.065 per On Demand Linux r6g.large Instance Hour for 3 instance for database or can also use MongoDB atlas for managed services. $0.0986 per On Demand Linux t3a.xlarge Instance Hour for 3 instance.
$500
EKS
1 Cluster
$75
Elastic Load Balancing
$100
Elastic Cache
$0.155 per Gen Purpose m6g.large node hour running Redis.
$340
OpenSearch Service
$0.149 per m5.large.search instance hour (or partial hour) - APS3 $0.154 per GB-month of general purpose provisioned storage
$550
Others
$50
Estimated Total of fixed cost apart from usage
~$1500
PS : Please note these examples are based on best practices and experiences of merchants using Commerceup tech stack, Pricing may differ for every merchant on basis of their AWS accounts services used in different availability zones, please consult Commerceup expert for estimated pricing in detail.
Last updated