
My name is Valerii Mankovskyi, and I am a DevOps engineer. Drawing from my experience optimizing cloud storage costs, especially in AWS, I have compiled practical strategies to help you save over 75% of your budget. Below is my list of savings tips:
Reserved Instances
Potential Savings: Up to 72%
Purchasing Reserved Instances with upfront or partial upfront payments provides significant discounts for one to three years of long-term commitments. Although planning for a year can be challenging for some organizations, it offers maximum savings of up to 72%.
Savings Plans Instead of On-Demand
Potential Savings: Up to 72%
AWS offers three types of Savings Plans:
• Compute Savings Plan: Flexible use of EC2, Fargate, and Lambda at reduced rates with a commitment to use a specified amount of resources over 1 or 3 years.
• EC2 Instance Savings Plan: Focused exclusively on EC2 instances, providing discounts for specific instance families regardless of region.
• Machine Learning Savings Plan: Discounts for SageMaker usage with predefined resource commitments.
Savings Plans offer cost reductions for EC2 and other services with terms of 1 or 3 years and options for full, partial or no upfront payments.
S3 Storage Classes
Potential Savings: 40% to 95%
AWS S3 Intelligent-Tiering automates data management across these access tiers:
• Frequent access ($0.023/GB).
• Infrequent access (~40% cheaper).
• Archive Access: (~70% cheaper)
• Deep Archive Access: (~ 95% cheaper).
Intelligent-Tiering automatically shifts objects between tiers, reducing storage costs by up to 95% for archival data.
AWS Compute Optimizer
Potential Savings: Substantial in most cases
AWS Compute Optimizer helps prioritize and evaluate AWS resource optimization. It provides detailed insights on EC2 instances, Auto Scaling groups, EBS Volumes, Lambda functions, ECS Fargate services and RDS databases. For example, it identifies overprovisioned or underutilized resources to reduce costs.
AWS Fargate for EKS Pods
Potential Savings: Significant for underutilized nodes
If your EKS nodes are often underutilized, consider AWS Fargate. Instead of paying for an entire EC2 instance, you only pay for the CPU and memory used by your pods. Combine this with Kubernetes Horizontal Pod Autoscaler (HPA) to automatically scale pods based on resource usage.
Manage Workloads Across Regions
Potential Savings: High
To optimize costs across regions, consider:
• Cost Allocation Tags: Classify expenses by application, environment, team or project.
• AWS Budgets: Set spending limits and receive alerts for overages.
• Notifications: Configure alerts for budget thresholds.
• Remediation: Implement automated or manual cost-correction mechanisms.
• Region-Specific Pricing: Account for variations in pricing and data transfer costs.
• AWS Cost Explorer: Analyze and visualize spending trends to identify high-cost areas.
Graviton (ARM) Instances
Potential Savings: Up to 30%
Based on ARM architecture, AWS Graviton processors are energy-efficient and suited for tasks like high-performance computing, batch processing and machine learning inference. Graviton’s benefits include reduced costs, improved scalability and enhanced performance.
Spot Instances Instead of On-Demand
Potential Savings: Up to 30%
Spot Instances allow access to unused AWS resources at discounted rates. While costs vary based on demand, setting a maximum bid ensures predictable spending. However, Spot Instances can be terminated if demand spikes.
Interface and Gateway Endpoints
Potential Savings: Varies by workload
Interface Endpoints (powered by AWS PrivateLink) enable private access to AWS services without using an Internet Gateway/Nat Gateway/Public IP. This reduces data transfer costs when accessing services like S3, SQS and DynamoDB.
Optimize Docker Image Sizes
Potential Savings: Varies
Smaller Docker images reduce ECR storage costs, EBS usage and container startup times. Key practices include:
• Using lightweight base images (e.g., alpine, slim or distroless).
• Removing unnecessary data and packages.
• Using multi-stage builds.
• Configuring .dockerignore to exclude irrelevant files.
• Grouping instructions with && to reduce layers.
• Placing frequently changed layers at the end of the Dockerfile.
Load Balancers to Minimize IP Costs
Potential Savings: Varies
AWS now charges $0.005/hour for each public IPv4 address. Load Balancers reduce these costs by consolidating multiple services under one IP address, optimizing traffic distribution and centrally handling SSL/TLS.
Fine-Tune Database Settings
Potential Savings: Significant for RDS-heavy workloads
Optimize RDS settings to save costs:
• Use instance classes like R5 or X1 for database workloads.
• Choose General Purpose SSD (gp2/gp3) over Provisioned IOPS SSD (io1/io2).
• Enable RDS Auto Scaling to adjust storage size dynamically.
• For workloads with variable demand, consider Aurora Serverless.
Update to Newer Instance Generations
Potential Savings: Small
Switch to newer AWS instance types for better performance and cost efficiency. For example, m6g.large (ARM-based) costs $0.077/hour compared to m5.large ($0.096/hour) and m4.large ($0.10/hour).
Leverage RDS Proxy
Potential Savings: Small
RDS Proxy reduces database load by reusing existing connections and improving failover during peak traffic periods. It helps optimize database performance and reduce resource consumption, indirectly saving costs.
Storage Policies in CloudWatch
Potential Savings: Potentially high
Define retention periods for CloudWatch Logs to prevent unnecessary storage costs. Avoid indefinite data retention unless necessary.
AWS Config for Targeted Monitoring
Potential Savings: Varies
AWS Config tracks changes to AWS resources. By configuring it to monitor specific events, you can manage your environment efficiently while avoiding unnecessary expenses.
S3 and ECR Lifecycle Policies
Potential Savings: Varies
Use S3 Lifecycle policies to automate object transitions to lower-cost storage tiers or deletion. For ECR, set policies to remove outdated Docker images.
Switch EBS to gp3 Storage Type
Potential Savings: 20%
Switching from gp2 to gp3 storage reduces costs while offering better performance. For instance, gp3 costs $0.08/GB/month compared to gp2 at $0.10/GB/month.
Transition from IPv4 to IPv6
Potential Savings: Varies
AWS charges $0.005/hour for public IPv4 addresses. Switching to IPv6 reduces these expenses and enhances network scalability.
20. Collaborate with AWS Partners Potential Savings: ~5% of contract value AWS Partner Network (APN) members offer discounts, credit programs and custom pricing agreements, helping you optimize costs while accessing professional expertise.
Conclusion
Cost optimization is a continuous process involving monitoring and adjusting infrastructure. While no universal solution exists, these strategies can help you reduce costs effectively and maximize the value of your AWS resources.