Skip to main content

Costs

Infrastructure resource overview for Aos AWS

Below is a brief description of each service in the context of Aos Cloud:

  1. Relational Database Service (RDS): This is used for Aurora Postgres, a relational database. It's where we store structured data for our application.

  2. EC2-Instances: These are the virtual servers in Amazon's Elastic Compute Cloud (EC2) for running applications. They are part of our compute resources.

  3. Managed Service for Prometheus: This is a monitoring service that we use to collect and store metrics from our microservices and infrastructure.

  4. VPC: Amazon Virtual Private Cloud (VPC) lets us provision a logically isolated section of the AWS Cloud where we launch AWS resources in a virtual network that we define.

  5. DocumentDB (with MongoDB compatibility): This is our chosen NoSQL database for storing, querying, and processing large amounts of data in our applications.

  6. ElastiCache: This is a web service that makes it easy to deploy and run Memcached or Redis protocol-compliant server nodes in the cloud.

  7. EC2-Other: This represents other costs associated with EC2, such as EBS volumes and data transfer costs.

  8. CloudWatch: This is a monitoring and observability service. We use it to collect data and gain insights into our applications, infrastructure, and services to optimize them and keep them healthy.

  9. Elastic Container Service for Kubernetes (EKS): This is our chosen managed service for running Kubernetes. We use it to automate deploying, scaling, and managing our containerized applications.

  10. Backup: This is the cost associated with backing up our data and systems on AWS for disaster recovery purposes.

  11. Secrets Manager: This is a secrets management service that we use to protect access to our applications, services, and IT resources.

  12. Managed Grafana: This provides a scalable and fully managed version of Grafana – a popular, open-source analytics platform.

  13. CloudFront: This is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally.

  14. WAF: AWS WAF is a web application firewall that helps us protect our web applications from common web exploits.

  15. S3: Amazon S3 (Simple Storage Service) is an object storage service that we use to store and retrieve any amount of data at any time.

  16. Key Management Service (KMS): This is a managed service that makes it easy for us to create and manage cryptographic keys and control their use across a wide range of AWS services and in our applications.

  17. Route 53: This is a scalable and highly available domain name system (DNS). We use it for domain registration, DNS routing, and health checking of resources within our applications.

  18. EC2 Container Registry (ECR): This is a fully-managed Docker container registry that makes it easy for developers to store, manage, and deploy Docker container images.

  19. Elastic File System (EFS): This is a scalable file storage for use with Amazon EC2 instances. It allows us to create a file system, mount the file system on an EC2 instance, and then read and write data from and to our file system.

  20. Lambda: This is a serverless compute service that lets us run our code without provisioning or managing servers.

  21. DynamoDB: This is a key-value and document database that delivers single-digit millisecond performance at any scale.

  22. SNS: Amazon Simple Notification Service (SNS) is a fully managed messaging service for both application-to-application and application-to-person communication.

The purpose of these services in Aos Cloud is to provide a scalable, reliable, and secure environment for running your applications. Each service plays a role in ensuring the smooth operation of the applications, from data storage to compute resources, networking, security, and more.

Expenses by resource type

Cost Report June 2024!

The following table shows the average monthly cost for each AWS service used in the Aos Aws cloud solution. The costs have been calculated by summing up the respective monthly costs and dividing by the number of months.

AWS ServiceAverage Monthly Cost ($)
Relational Database Service2,279.03
EC2-Instances1,327.34
Managed Service for Prometheus334.39
VPC158.31
DocumentDB (with MongoDB compatibility)186.97
ElastiCache105.47
EC2-Other105.39
CloudWatch131.55
Elastic Container Service for Kubernetes73.20
Backup11.50
Secrets Manager9.76
Managed Grafana9.17
CloudFront8.13
WAF7.67
S35.79
Key Management Service5.70
Route 533.52
EC2 Container Registry (ECR)0.39
Elastic File System0.10
Lambda0.006
DynamoDB0.0002
SNS0.0001
Total Costs4,926.79

Please note that these are average costs and actual monthly costs may vary based on usage, additional services, and other factors. Also, the costs for the Elastic File System, Lambda, DynamoDB, and SNS are negligible compared to other services.

These costs have been calculated based on the data provided for the period from December 2023 to May 2024. As usage and requirements change, these costs may vary.

AWS Cost estimations per units

Certainly, the use of auto-scaling capabilities in Aos Cloud may help manage and potentially reduce costs by dynamically adjusting resources based on demand. The costs provided above are average minimum costs for supporting around 100 users and less than 50,000 units.

When scaling to support more users and units, the cost will vary depending on the specific resources that need to be scaled. However, we can estimate a linear scaling for the EC2-Instances cost based on the unit increase.

For example, if an additional m5.xlarge EC2 instance is needed for every extra 50,000 units, and assuming the average monthly cost for EC2-Instances is $1,327.34 (as per the table above), we can calculate the additional cost for supporting more units as follows:

Extra UnitsAdditional EC2-Instances Cost ($)
50,0001,327.34
100,0002,654.68
150,0003,982.02
200,0005,309.36

Please note that these are rough estimates and actual costs may vary based on a variety of factors such as the specific configuration of instances, the region, reserved instances, spot instances, savings plans, and other AWS pricing models.

Additionally, the cost for other services may also increase as the number of users and units grow. These services may include RDS, DocumentDB, ElastiCache, CloudWatch, and others that are used by your application. Therefore, it's important to monitor usage and costs regularly to manage resources and expenses effectively.

Finally, it's also important to note that as the scale increases, efficiencies might be found that reduce the linear growth in cost. For instance, larger instances may offer better price/performance ratio, reserved instances can provide significant discounts for longer-term commitments, and certain AWS services have tiered pricing where the cost per unit decreases as usage increases. It would be beneficial to conduct a thorough cost optimization review as the scale of operations increases.

References

  1. AWS Pricing
  2. Amazon EC2 Pricing
  3. Amazon RDS Pricing
  4. Amazon S3 Pricing
  5. Amazon EKS Pricing
  6. Amazon CloudWatch Pricing
  7. AWS Lambda Pricing
  8. Amazon DynamoDB Pricing
  9. Amazon DocumentDB Pricing
  10. Amazon ElastiCache Pricing

Secondary references

These links provide detailed pricing information for various AWS services. It's essential to review these details to understand the costs associated with each service and to help plan for scaling and cost management.