Explanation
MySQL-compatible Amazon Aurora Serverless (Option C) is the correct solution for the following reasons:
Key Requirements Analysis:
- Sporadic usage patterns - Heavy usage at beginning of each month, moderate usage at start of each week, unpredictable usage during the week
- Cost-effective solution - Need to minimize costs during low usage periods
- No database modifications required - Must be compatible with existing MySQL database
- Moving from on-premises MySQL to AWS Cloud
Why Aurora Serverless is the Best Choice:
Automatic Scaling:
- Aurora Serverless automatically scales database capacity up and down based on actual usage
- Perfect for sporadic workloads where usage is unpredictable
- Scales to zero when not in use (cost savings)
Cost Optimization:
- Pay only for the database capacity you use
- No need to provision for peak capacity that sits idle most of the time
- Automatic pause during idle periods reduces costs significantly
MySQL Compatibility:
- Aurora Serverless is fully compatible with MySQL
- No database modifications required
- Uses the same MySQL protocol and APIs
Managed Service Benefits:
- AWS handles patching, backups, and maintenance
- High availability with multi-AZ deployments
- Automated failover
Why Other Options Are Not Optimal:
A. Amazon DynamoDB:
- NoSQL database, not compatible with MySQL
- Would require significant application/database modifications
- Not suitable for relational data without major changes
B. Amazon RDS for MySQL:
- Requires provisioning fixed capacity
- Not cost-effective for sporadic usage (pay for idle capacity)
- Manual scaling required
D. MySQL on EC2 with Auto Scaling:
- Complex to manage scaling for databases
- Auto Scaling groups work better for stateless applications
- Database replication and data consistency challenges with scaling
- Requires manual management of database software
Cost Comparison:
- Aurora Serverless: Pay per ACU (Aurora Capacity Unit) per second, scales to zero
- RDS MySQL: Pay for provisioned instance 24/7 regardless of usage
- EC2: Pay for EC2 instances + EBS storage + management overhead
Performance Considerations:
- Aurora Serverless provides fast scaling (typically within 5 seconds)
- Maintains connections during scaling operations
- Built-in read replicas for high availability
Conclusion: Aurora Serverless provides the perfect balance of MySQL compatibility, automatic scaling for sporadic workloads, and cost optimization by only charging for actual usage.