Automatic Elasticity Whitepaper (2018)
Types of Elasticity**
- Time-based elasticity
- Turning off resources when they are not being used
- Volume-based elasticity
- Matching scale to the intensity of demand, whether that’s compute cores, storage sizes, or throughput
Monitoring AWS Service Usage and Costs**
- Cost Optimization Monitor
- Detailed billing reports
- Break down by period, account, resource, or custom resource tags
- Cost Explorer
- View data up to the last 13 months
- Get recommendations on what Reserved Instances to purchase
- See trends that can help you understand your costs
Tagging Resources
- Tagging resources helps get better visibility and control over cloud IT costs down
Automating Elasticity
Automating Time-Based Elasticity
- AWS Instance Scheduler
- Start and stop schedules for your EC2 instances
- Deployed using an AWS CloudFormation template
- Specify the required parameter during the deployment
- Recurring AWS Lambda function will automatically start and stop appropriately tagged EC2 instances
- Amazon EC2 API tools
- Instances can be terminated programmatically using EC2 APIs
- Use
StopInstances
and TerminateInstances
- AWS Lambda
- Serverless functions can be used to shutdown instances that are not being used
- Trigger Lambda by Amazon CloudWatch Events
- AWS Data Pipeline
- Run AWS CLI commands on a set schedule
- Amazon CloudWatch
- Collect and track metrics and log files, set alarms and automatically react to changes in your AWS resources
Automatic Volume-Based Elasticity
Auto-Scaling can be used for::
- Amazon EC2 Auto Scaling - allows to scale EC2 instances
- Amazon Elastic Container Service
- Amazon EC2 Spot Fleets
- Amazon EMR clusters
- Amazon AppStream 2.0 stacks and fleets
- Amazon DynamoDB