Elasticity

  • Allows you to match the supply of resources—which cost money—to demand.
  • Matching needs to utilization is critical for cost optimization.
  • Demand includes
    • external usage – number of customers visit website
    • internal usage – application team using development and test environments.
  • Two types
    • Time-based elasticity – turning off resources when they are not being used
    • Volume-based elasticity  – matching scale to the intensity of demand,

Automating Time-Based Elasticity By

  • The AWS Instance Scheduler can create automatic start and stop schedules for EC2 instance, using AWS CloudFormation template
  • Terminate instances programmatically using Amazon EC2 APIs
  • AWS Lambda functions can also shut down instances when, not being used.
  • AWS Data Pipeline, web service to process and move data between AWS services
  • Amazon CloudWatch, a monitoring service for AWS resources. It collects and tracks metrics and log files, set alarms, and automatically react to changes in AWS resources

Automating Volume-Based Elasticity By

  • Amazon ECS – It can adjust its desired count up or down in response to CloudWatch alarms.
  • Amazon EC2 Spot Fleets – A Spot Fleet can either launch instances (scale out) or terminate instances (scale in), within the chosen range, in response to one or more scaling policies.
  • Amazon EMR clusters – Programmatically scale out and scale in core and task nodes in a cluster based on specified rules as per scaling policy.
  • Amazon DynamoDB – Dynamically adjust provisioned throughput capacity in response to actual traffic patterns.

Scalability

  • is the ability to quickly and easily increase or decrease the resources
  • It affects resources for
    • compute
    • storage
  • Auto Scaling is enabled by Amazon CloudWatch at no extra cost.
  • Components
    • Groups – logical groups containing collection of EC2 instances with similar characteristics for scaling and management purpose.
    • Launch Configuration – template used by auto scaling group to launch EC2 instances. can specify
      • the AMI
      • instances type
      • key pair
      • security groups
    • Scaling Plans – tells Auto Scaling when and how to scale.
  • Scaling Types
    • Manual scaling – specify only the changes in maximum, minimum, or desired capacity of your auto scaling groups.
    • Auto-scaling maintains the instances with updated capacity.
  • Scaling based on
    • Schedule or time based
    • demand
  • Types of Scaling polices:-
  • Target tracking scaling:- Based on the target value for a specific metric.
  • Step scaling:- Based on a set of scaling adjustments that vary based on size of alarm breach.
  • Simple scaling:- Based on a single scaling adjustment.

Auto Scaling Limits

Default Limits

  • Launch configurations per Region: 200
  • Auto Scaling groups per Region: 200

Auto Scaling Group Limits

  • Scaling policies per Auto Scaling group: 50
  • Scheduled actions per Auto Scaling group: 125
  • Lifecycle hooks per Auto Scaling group: 50
  • SNS topics per Auto Scaling group: 10
  • Classic Load Balancers per Auto Scaling group: 50
  • Target groups per Auto Scaling group: 50

Scaling Policy Limits

  • Step adjustments per scaling policy: 20

Auto Scaling Lifecycle

Menu