Cost Optimization consists of
Paying lowest cost possible, while achieving objectives
- Transparently attribute expenditures to users
- Use managed services to reduce cost of ownership
- Trade capital expense for operating expense
- Benefit from economies of scale
- Stop spending money on data center operations
Cost optimization in the cloud is composed of 4 areas
- Matched supply and demand
- Cost effective resources
- Expenditure awareness
- Optimizing over time
Best Practices - Matched supply and demand
- Don’t over provision / under provision - instead, autoscale with demand
- In server-less context, use services such as Lambda that only execute (or respond) when a request (demand) comes in
- CloudWatch can help you track your demand
Best Practices — Cost effective resources
- Use the correct instance type for your need (smaller can be more expensive if it runs longer)
Best Practices - Expenditure awareness
- Be aware of each team’s AWS account expenditures
- Use cost allocation tags to track this, billing alerts, and consolidate billing
Best Practices - Optimizing over time
- You should keep changes made to AWS and constantly re-evaluate your existing architecture
- You can do this by subscribing to the AWS blog
- Use services such as Trusted Advisor
Key AWS Services
- Matched supply and demand - Autoscaling
- Cost effective resources - EC2 (reserved instances), AWS Trusted Advisor
- Expenditure awareness - CloudWatch Alarms, SNS
- Optimizing over time - AWS Blog, AWS Trusted Advisor
Questions: Matched supply and demand
- How do you make sure your capacity matches, but does not substantially exceed what you need?
- How are you optimizing your usage of AWS services?
Questions - Cost effective resources
- Have you selected the appropriate resource types to meet your cost targets?
- Have you selected the appropriate pricing model to meet your cost targets?
- Are there managed Services (higher-level services than ECS, EBC, S3) that you can use to improve your ROI?
Questions: Expenditure awareness
- What access controls and procedures do you have in place to govern AWS costs?
- How are you monitoring usage and spending?
- How do you decommission resources that you no longer need, or stop resources that are temporarily not needed?
- How do you consider data transfer charges when designing your architecture?
Questions: Optimizing over time