The AWS Pricing Calculator is an online tool provided by Amazon Web Services (AWS) that helps estimate the cost of using various AWS services. Whether you’re just starting a small project or planning a large-scale deployment, this tool gives you the ability to calculate monthly costs for a range of services, from simple EC2 instances to complex architectures using multiple AWS services.
While it's incredibly useful, the AWS Pricing Calculator has a few limitations:
Link Management: Every time you create or update an estimate, a unique link is generated. If you're working on multiple versions of the same project (like adding a production environment after initially estimating only non-production costs), you'll quickly end up with multiple links. Keeping track of these can become cumbersome.
Changing Prices: AWS service prices are not static. As AWS updates their pricing, estimates might change when you revisit a link. This can lead to confusion if you want to compare the old cost with the new prices.
Link Expiration: AWS pricing calculator links are active for up to three years. After that, you lose access to the data unless you’ve saved a copy in another format (CSV, PDF, or JSON).
AWS Pricing Calculator History Tracker-Prototype Solution
The AWS Pricing Calculator History Tracker (APCHT) is a solution I’ve prototyped to solve the problem of managing and tracking multiple pricing calculator links for different scenarios. This tool will help you stay organized by keeping all those links, CSVs, and PDFs in one place so that you don’t have to worry about losing track of any estimate, even as you work on different projects or adjust your pricing estimates over time.
This is still a prototype, but the idea is to provide a simple, efficient way to store and access past estimates, track changes, and even compare how service prices have evolved since the estimate was originally made. I'm sharing this concept as a way to help others who might be facing the same challenges.
Features of AWS Pricing Calculator History Tracker
User Management
Users will be able to sign up and manage their accounts securely using Amazon Cognito User Pools. Once logged in, you can access your personalized dashboard, where you can view and manage all the AWS Pricing Calculator links you've tracked, along with the associated information.
Track Links with Project and Version Information
Keep a detailed record of your AWS Pricing Calculator links organized by project. You can add descriptive information for each link, including version details (e.g., initial estimate, added production environment, etc.), making it easier to track different pricing scenarios over time.
Upload and Download Files
For each pricing estimate, you’ll have the ability to upload and download PDF, CSV, or JSON files. This ensures you maintain a snapshot of the original pricing data even if AWS service prices change. You can reference these files later for comparison or documentation purposes, preserving the historical cost estimates for your projects.
Current Prototype Build
The AWS Pricing Calculator History Tracker prototype has been built with the following architecture:
Webpage Hosted on S3 with Static Web Hosting Enabled
The front-end of the application is hosted on an S3 bucket with static website hosting enabled. This allows for a cost-effective and scalable way to serve the application’s HTML, CSS, JavaScript, and other static assets directly from S3.
CloudFront Distribution
To improve the performance and security of the web application, we are using Amazon CloudFront as a content delivery network (CDN). CloudFront distributes the content globally, reducing latency for users and ensuring fast load times by caching assets closer to the user's location. The origin for the CloudFront distribution is the S3 bucket where the static website is hosted.
User Management with Amazon Cognito User Pool
User authentication and management are handled through Amazon Cognito User Pools. Users can sign up, log in, and manage their accounts securely. The user pool also enables features such as multi-factor authentication (MFA), account recovery, and password management, ensuring robust security for user information. Once logged in, users can access their personalized dashboard to track and manage AWS Pricing Calculator links.
DynamoDB as a Data Store
All data related to AWS Pricing Calculator links, project versions, and associated files (CSV, PDF, JSON) are stored in an Amazon DynamoDB table. This NoSQL database provides fast, scalable, and reliable storage. Each user can store project-related data, including:
- AWS Pricing Calculator links
- Descriptions and versioning information
- References to uploaded files (PDF, CSV, JSON)
DynamoDB ensures fast read/write operations and can scale automatically to handle increasing amounts of data.
This architecture provides a fully serverless solution with high performance, scalability, and security, making it a solid foundation for the prototype as it continues to evolve.
This would be our landing page -
Click Login.
Sign in if already a user or sing up.
Let me sign up first.
Verification code will be sent to your email id. Verify your email id with the code and confirm.
That's it, you are in.
Please bear with me as I continue to improve the tool. In the meantime, I’d love to hear your thoughts! Feel free to provide feedback, collaborate, and share it with others.
I’ll also provide a GitHub repository with the code once it’s ready, so if you're interested in experimenting with it or contributing to the project, stay tuned!
Top comments (0)