Cost saving opportunities
Under utilized resources
Shutdown dev/ test on non working hours can present 70% saving – AWS scheduler
Most of the savings are around compute and storage. Examples:
- When max mem/CPU < 20% and average < 5% then it is a potential zombie.
- Consider move parts of S3 to Glacier and Reduced Redundancy storage
- EBS (has cost even when ec2 instance is down) – look for non allocated
- Snapshots, AMIs
- Non used elastic IPs
- Cloudfront – consider cheaper regions when low latency is not needed
- Lambda – schedule jobs when resources are cheaper
Resize resources to actual need
- Move from old types to new types – (M3 -> M4, T1 -> T2)
- Track oversized servers with low CPU/mem utilization. Best practice is 40%-50% CPM.
- New Elastic volumes
- Change the Instance Type within the Same Instance Family
- Change between EC2-VPC and EC2-Classic
- Switch Availability Zones within the same Region
Spot instances can save 40-80%
Check out Spotinst … claims for 100% availability
Reserved instances can provide 30-45% saving
Various RIs exists, and they keep on evolving. 12% fee applies when you sell your RIs on the AWS market
Various payment options
- Consider paying upfront or partial upfront
- Argue for discount with AWS account
- Consolidated billing when you have several accounts
- Ensure all resource are properly tagged (owner, env type, product name, etc)
Do you have traffic between regions? (DR? S3?) while ingress traffic cost is mostly neglect able, the egress can be significant
Consider alternative connectivity solutions to the cloud service provider besides the public internet.
Cloud application technologies
Consider replacing single-instance commercial off-the-shelf (COTS) applications with the software as a service (SaaS) equivalent.
Refactor high-value applications for cloud-native operation to fully capture cloud’s efficiencies
Deploy Microservices to Containers
DR. Have a good design?
See solutions like cloudEndure etc
Review support model - ITIL
- AWS business support – Basic is free while Developer, Business and Enterprise is relative costly (see pricing)
- Using any outsource company? 24/7
- Security aspects? Capacity management?