Assessment
Types of costs
- Compute
- Costs associated with running virtual machines, containers, or serverless functions. This includes costs for instances, auto-scaling, and load balancing.
- Storage
- Storing data on the cloud, including costs for object storage, block storage, and file storage.
- Data transfer
- These are costs associated with transferring data in and out of the cloud, including costs for data transfer between services, regions, and Internet gateways.
- Database
- Costs associated with running databases on the cloud, including costs for relational, NoSQL, and in-memory databases.
- Network
- Networking on the cloud, including costs for virtual private clouds (VPCs), load balancers, and direct connect.
- Security
- Costs associated with securing the cloud infrastructure, including costs for identity and access management (IAM), security groups, and security audit.
- Monitoring
- These are costs associated with monitoring and logging cloud infrastructure, including costs for CloudWatch, CloudTrail, and CloudFormation.
- Backup and recovery
- Backing up and recovering data on the cloud, including costs for snapshots, backup storage, and disaster recovery.
- Developer and IT
- These are costs associated with developing, deploying, and managing applications on the cloud, including costs for developer tools, IT operations, and DevOps.
- **Licensing costs**
- These are costs associated with running software on the cloud, including costs for operating systems, middleware, and application software.
AWS Cost Tools
These calculators can give you a rough estimate of the cost,
- AWS Simple Monthly Calculator
- Allows you to estimate the costs of AWS services based on usage, including compute, storage, and data transfer.
- AWS Pricing Calculator (many AWS services)
- Allows you to estimate the cost of running different AWS services based on usage, including EC2 instances, RDS databases, and S3 storage.
- AWS Cost Explorer
- tool that allows you to view, analyze, and manage your AWS costs and usage over time.
- AWS Budgets
- Allows you to set custom budgets for your AWS costs and receive alerts when you are approaching or exceeding your budgeted amount.
- AWS TCO Calculator
- Helps you compare the costs of running your workloads on-premises versus in the AWS cloud.
- AWS Savings Plan Calculator
- Helps you compare the costs of using Savings Plans versus On-Demand pricing for EC2 and Fargate.
- AWS Total Cost of Ownership (TCO) Calculator for Windows Server
- Helps you estimate the costs of running Windows Server on AWS compared to on-premises.
- AWS Data Transfer Calculator
- Helps you estimate the cost of data transfer between AWS services and regions.
- AWS Cost and Usage Report (CUR) Calculator
- Helps you estimate the cost of using the AWS Cost and Usage Report service.
- AWS Compute Optimizer
- A service that analyzes your resource usage and recommends cost-effective AWS resources for your workloads.
AWS Pricing calculator tool includes a number of individual AWS services, for example:
- AWS Elastic Beanstalk Cost Calculator: Allows you to estimate the costs of running your application on AWS Elastic Beanstalk, including compute, storage, and data transfer costs.
- AWS App Runner Cost Calculator: Helps you estimate the costs of using AWS App Runner to build, test, and deploy containerized applications.
- AWS CloudFormation Cost Estimator: Allows you to estimate the costs of using AWS CloudFormation to provision and manage your infrastructure.
- AWS CloudFront Cost Calculator: Helps you estimate the costs of using AWS CloudFront for content delivery.
- AWS CodeBuild Cost Calculator: Allows you to estimate the costs of using AWS CodeBuild to build, test, and deploy your applications.
Azure Cost Tools
- Microsoft Azure Total Cost of Ownership (TCO) Calculator to reflect all costs.
- Azure Pricing Calculator: Allows users to estimate the cost of using various Azure products and services.
- Azure Cost Management: A set of tools and services that help users optimize their spending on Azure.
- Azure Billing Reports: Provides detailed information about a user's past and current Azure charges.
- Azure Cost Analysis: A tool that allows users to analyze and visualize their Azure spending.
- Azure Reservations: Allows users to purchase reserved instances for specific products and services.
- Azure Hybrid Benefit: Allows users to apply existing on-premises Windows Server and SQL Server licenses to reduce the cost of running those workloads on Azure.
- Azure Dev/Test Pricing: Special pricing options available for Azure resources used for development and testing.
- Azure CSP (Cloud Solution Provider) Pricing: Special pricing options available for Azure partners and resellers.
- Azure Spot VMs: A lower-cost option for running non-critical workloads that can be terminated if the resources are needed for higher-priority workloads.
- Azure Credit: Allows users to apply credits to their Azure account to reduce the cost of usage.
GCP Price Tools
- Google Cloud Pricing Calculator: Allows users to estimate the cost of using various Google Cloud products and services.
- Google Cloud Cost Management: A set of tools and services that help users optimize their spending on Google Cloud.
- Google Cloud Billing Reports: Provides detailed information about a user's past and current Google Cloud charges.
- Google Cloud Cost Explorer: A tool that allows users to analyze and visualize their Google Cloud spending.
- Google Cloud Reservations: Allows users to purchase committed use discounts for specific products and services.
- Google Cloud Committed Use Discounts: Discounts that are applied automatically when a user commits to using a specific amount of a product or service for a period of time.
- Google Cloud Sustained Use Discounts: Discounts that are applied automatically when a user consistently uses a certain amount of a product or service.
- Google Cloud Custom Machine Types: Allows users to create custom virtual machine configurations to optimize performance and cost.
- Google Cloud Preemptible VMs: A lower-cost option for running non-critical workloads that can be terminated if the resources are needed for higher-priority workloads.
- Google Cloud Custom Pricing for Partners: Special pricing options available for Google Cloud partners and resellers.
Amazon EC2 cost breakdown by type of cost
Utilization
Instance
Storage
Data backup
Data transfer
Instance scale (# of instances)
Load Balancing
Hourly instance pattern = (hits per hour on website) / (number of instances)
- Amazon EC2 instances that run each hour then take the average.
- number of hits per day and
- average number of instances for your calculations.
Daily profile = SUM(Hourly instance pattern) / 24 https://docs.aws.amazon.com/whitepapers/latest/how-aws-pricing-works/amazon-ec2-cost-breakdown.html
AWS Well Architected Cost Optimization strategies
AWS cost and budgeting best practices (source: official AWS docs):
Practice Cloud Financial Management
- Establish a cost optimization function
- Establish a partnership between finance and technology
- Use cloud workload budgets and forecasts
- Cost awareness in your organizational processes
- Report and notify on cost optimization
- Monitor cost proactively
- Keep up-to-date with new service releases
- Create a cost-aware culture
- Quantify business value from cost optimization
Awareness of usage and spending
- Governance
- Develop policies based on your organization requirements
- Meet with team members
- Define workloads, services, resources
- Define users by function
- Define actions by users/resources
- Document policies
- Implement goals and targets
- Expected Usage levels
- Defined costs, golas and targets
- Implement an account structure
- Implement groups and roles
- Implement cost controls
- Track project lifecycle
- Develop policies based on your organization requirements
- Monitor
- Configure detailed information sources
- create a AWS Cost and Usage Report (CUR)
- configure hourly granularity in Cost Explorer
- AWS Glue, Athena and Quicksight may help
- Identify cost attribution categories
- Org categories
- Functional categories
- Establish organization metrics
- Configure billing and cost management tools
- Create a Cost Optimization group
- Configure AWS Budget
- Configure AWS Cost Explorer
- AWS Cost Explorer, AWS Budgets, and Amazon Athena with Amazon QuickSight
- Add organization info to cost and usage
- Define a tagging scheme
- Tag resources and Cost Categories
- Automate tagging
- Monitor
- Allocate costs based on workload metrics
- Configure detailed information sources
- Decommission Resources
- Track resources over their lifetime
- Tagging and output monitoring
- Implement a decommissioning process
- Decommission resources
- Decommission resources automatically
- Auto Scaling, Cloudwatch termination, other workload code
- Track resources over their lifetime
Cost Effective Resources
- Evaluate cost when selecting services
- Identify organization requirements for cost
- AWS Total Cost of Ownership (TCO) Calculator
- Analyze all components of the workload
- List the workload components
- Prioritize component list
- Perform the analysis
- AWS Cost Explorer and the AWS Cost and Usage Report, AWS Pricing Calculator
- Perform a thorough analysis of each component
- Select software with cost-effective licensing, analyze otpions
- Select components of this workload to optimize cost in line with organization priorities
- Perform cost analysis for different usage over time
- Define predicted usage pattern
- Perform cost analysis at predicted usage
- AWS Total Cost of Ownership (TCO) Calculator
- Select the correct resource type, size, and number
- Perform cost modeling
- Select resource type, size, and number based on data
- Select resource type, size, and number automatically based on metrics
- Select the best pricing model
- Perform pricing model analysis
- Implement Regions based on cost
- Select third-party agreements with cost-efficient terms
- Implement pricing models for all components of this workload
- Perform pricing model analysis at the master account level
- Plan for data transfer
- Perform data transfer modeling
- Select components to optimize data transfer cost
- Implement services to reduce data transfer costs
- Identify organization requirements for cost
Manage demand and supply resources
- Perform an analysis on the workload demand
- Implement a buffer or throttle to manage demand
- Supply resources dynamically
Optimize over time
- Develop a workload review process
- Review and analyze this workload regularly
source: AWS Well-Architected: Cost