Amazon Web Services Graviton instances and Fargate containers are 20% cheaper than x86 equivalents, presenting a substantial opportunity for cost optimization in cloud infrastructure.
Why This Policy Matters
Cost and Performance Benefits
Up to 20% cost reduction compared to equivalent x86 instances
Improved price-performance ratio
Native support for modern containerized workloads
Lower power consumption
Enhanced computational efficiency
Key Advantages of Graviton Instances
Built on AWS-designed ARM-based processors
Optimized for cloud-native and containerized applications
Support for multi-architecture container images
Reduced total cost of ownership (TCO)
Implementation Strategy
Infrastructure-as-Code Transformation Example (Terraform)
Before (x86 Configuration):
resource "aws_ecs_task_definition" "example" {
Family = "my-task"
Requires_compatibilities = ["EC2"]
Network_mode = "awsvpc"
cpu = 256
memory = 512
container_definitions = jsonencode([{
Name = "app"
image = "my-app:latest"
# x86-based image
}])
}
After (Graviton-Optimized Configuration):
resource "aws_ecs_task_definition" "example" {
Family = "my-task"
requires_compatibilities = ["EC2"]
Network_mode = "awsvpc"
cpu = 256
memory = 512
container_definitions = jsonencode([{
Name = "app"
image = "my-app:arm64" # Multi-arch or ARM-specific image
runtime_platform {
cpu_architecture = "ARM64"
}
}])
}
Manual Migration Steps
Verify application compatibility with ARM architecture
Create multi-architecture container images
Update task definitions to specify ARM64
Select Graviton-based instance types (e.g., m6g, c6g)
Test and validate performance
Best Practices
Use multi-architecture container images
Leverage CI/CD pipelines for consistent builds
Monitor performance during migration
Conduct thorough testing
Recommended Tools
Infracost: Automatically detect and suggest Graviton migrations
Docker BuildX for multi-arch image creation
AWS CodeBuild for ARM-compatible builds
Real-World Scenarios
Scenario 1: Web Application
Current Setup: m5.large x86 instances
Graviton Migration: m6g.large
Potential Savings: 18-22% infrastructure cost reduction
Scenario 2: Microservices
Current Setup: c5.xlarge for backend services
Graviton Migration: c6g.xlarge
Benefits: Lower cost, improved performance for compute-intensive workloads
Potential Limitations
Considerations Before Migration
Ensure software compatibility
Some specialized workloads might not benefit
Potential recompilation of dependencies
Legacy applications may require additional testing
Comparative Cost Analysis
Instance TypeOn-Demand Hourly RateAnnual Savings (per instance) m5.large$0.096N/Am6g.large$0.077Up to $166 per instance
Frequently Asked Questions (FAQs)
Are all applications compatible with Graviton?
Most modern applications work well, but legacy or binary-specific software might require adjustments.
How difficult is the migration process?
For containerized applications, migration is typically straightforward. Multi-arch images simplify the transition.
Can I use Infracost to help with this migration?
Yes, Infracost can help identify potential Graviton migration opportunities and estimate cost savings.
What if my application isn’t ARM-compatible?
Consider gradual migration, starting with less critical services or maintaining x86 instances for incompatible workloads.
How do I build multi-architecture images?
Use Docker BuildX, which supports building images for multiple architectures simultaneously.
Create Free Account
This policy is supported in Infracost and available in the free trial. Sign up today and scan your code using our entire library of FinOps policies.