What is Azure Autoscaling? Azure Autoscaling lets you set up automated processes that scale your virtual machines (VMs). You do this by creating an Azure VM scale set, which defines how VMs are increased and decreased. After you create rules that define acceptable performance, the process performs actions that adjust the capacity according to your … Continued
How Much Does Azure Cost Per Month? Microsoft Azure is a cloud provider offering a diverse range of services, including storage, networking, compute, and analytics. Azure services can be consumed in the Azure public cloud, on-premises, and in hybrid implementations. The table below shows the minimal price of core Azure services, and how much you … Continued
How Does AWS Price its Services? AWS (Amazon Web Services) is the world’s leading cloud provider, offering 175 services across infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS). All Amazon services have on-demand pricing, which means you pay for your actual use of the service. In addition, … Continued
How is AWS EMR Priced? Amazon Elastic MapReduce (EMR) is a tool designed for big data processing and analysis services. EMR is an Amazon Web Services (AWS) offering, but it is based on Apache Hadoop, which is a programming framework built for handling processing tasks of big data sets across distributed computing environments. Amazon EMR … Continued
How is AWS ECS Priced? Amazon Elastic Container Service (ECS) lets developers run containers at scale on Amazon Elastic Compute Cloud (EC2) or Amazon Fargate. ECS is a container orchestration service that manages clusters of containers, including aspects like container lifecycle, high availability, storage and networking. There is no additional cost for using ECS, beyond … Continued
How is AWS EC2 Priced? Amazon Elastic Compute Cloud (Amazon EC2) provides cloud-based compute resources, designed especially for scalability. The service comes with a user-friendly interface that provides complete control over cloud resources, which are provisioned using EC2 instances. An EC2 instance acts as a virtual server hosted in the Amazon Web Services (AWS) cloud. … Continued
What is AWS EC2 Pricing Calculator? For many organizations running on cloud infrastructure, compute instances like those provided by Amazon Elastic Compute Cloud (EC2) are a significant part of cloud spending. Calculating the cost of compute instances, and estimating future costs, is a primary concern. The large number of compute instance types, and variable EC2 … Continued
What is AWS Auto Scaling? AWS Auto Scaling is an Amazon service that lets you configure automatic scaling of AWS resources. It increases computing power or storage resources available for applications when loads increase, and reduces it when no longer needed. The AWS Auto Scaling Console provides a single user interface to use the auto … Continued
What is AWS Auto Scaling?
AWS Auto Scaling is an Amazon service that lets you configure automatic scaling of AWS resources. It increases computing power or storage resources available for applications when loads increase, and reduces it when no longer needed.
The AWS Auto Scaling Console provides a single user interface to use the auto scaling capabilities of various AWS services. AWS Auto Scaling can be used to scale Amazon Elastic Compute Cloud (EC2), EC2 Spot Fleet requests, Elastic Container Service (ECS), DynamoDB, and Amazon Aurora.
AWS Auto Scaling enables you to configure and manage scalability using scaling strategies—define how to optimize resource usage—preferring availability, cost, or a balance of the two. It is also possible to create custom scaling strategies.
You can also leverage scaling plans—these are policies that adjust resources using dynamic or predictive scaling.
- Autoscaling Services on AWS Cloud Platform
- Using Scaling Plans in AWS Auto Scaling
- AWS Autoscaling with Spot.io
Let’s briefly review how AWS Auto Scaling can help you manage scalability for common AWS services.
EC2 Instance Auto Scaling
Helps you maintain the number of EC2 instances your application needs to handle incoming traffic requests.
You can create EC2 auto-scaling groups, a collection of EC2 instances. Set a minimum scaling value so that the group is never smaller than the specified size (if an instance fails, it is replaced). Set a maximum number of EC2 instances and the group will not exceed the specified size.
- Manually add or remove EC2 instances from auto scaling groups (this is called manual scaling)
- Change minimum or maximum capacity of a group on a predefined schedule
- Set scaling plans that dynamically scale groups up and down (learn more about scaling plans below)
Amazon EC2 Spot Fleet Requests
A spot instance is an Amazon EC2 instance provided at a discount of up to 90%, because Amazon currently has spare capacity of this instance type in a specific availability zone. Spot instances can be interrupted with two minutes’ notice.
A Spot Fleet is a grouping of EC2 spot instances, based on custom criteria. Spot Fleets are created by spot fleet requests, which specify how much capacity is needed, how much of it should be made up of on-demand instances, which types of spot instances are required, and a maximum price.
There are two types of spot fleet requests:
- Request—a one-time request for capacity, but if there are not enough spot instances that meet your criteria, you will get less capacity.
- Maintain—this requires Spot Fleet to maintain a desired capacity over time.
AWS Auto Scaling can automatically adjust the capacity of a Spot Fleet, based on demand. It supports the following scaling policies:
- Target tracking scaling—adjusts capacity of the spot fleet based on a load metric, such as CPU utilization. Adds or removes instances to ensure the load metric is maintained at the desired level.
- Step scaling—adds or removes instances in steps, performing a scaling adjustment when a load metric reaches a certain threshold.
- Scheduled scaling—adjusts the number of instances at a predefined date and time.
This can be triggered by CloudWatch metrics available for ECS containers, like CPU and memory usage. AWS Auto Scaling automatically increases or decreases capacity of ECS container tasks. To handle a large volume of incoming requests, use CloudWatch metrics to add more tasks, or remove tasks when loads decrease.
ECS auto scaling can also use scaling plans like step scaling and scheduled scaling (see scaling plans).
RDS auto scaling provides automated storage scaling for MySQL, PostgreSQL, MariaDB, SQL Server, and Oracle databases. RDS monitors database storage utilization, and when current usage is close to the provisioned size, it scales up storage capacity available to the database instance.
Scaling events are performed with no downtime, without affecting current database operations or interfering with current transactions.
In DynamoDB database workloads, it is challenging to estimate required read and write capacity. Applications may require a high throughput for only a short time. DynamoDB Auto Scaling dynamically adjusts capacity based on actual inbound traffic patterns.
When workload throughput decreases, Auto Scaling automatically decreases the number of capacity units, avoiding payment for unneeded capacity.
DynamoDB Auto Scaling works by creating scaling policies for the table or secondary index. In the scaling policy, you can specify whether to extend read and/or write capacity, maximum and minimum provisioned capacity units, for the table or the index.
Using Scaling Plans in AWS Auto Scaling
Scaling plans are a key component of AWS Auto Scaling. It provides a set of instructions for scaling resources up and down. If you use AWS CloudFormation or add tags to your AWS resources, you can set up a different scaling plan for each group of resources.
AWS Auto Scaling analyzes the behavior of each resource and provides recommendations for customized scaling strategies. After a scaling plan is created, Auto Scaling executes it by combining dynamic scaling and predictive scaling methods:
- Dynamic scaling adapts capacity to actual loads to optimize resource utilization
- Predictive scaling creates a forecast of future loads and performs scaling actions to meet expected load
Source: Amazon Web Services
Continue Existing Instance Levels
Configure Auto Scaling to maintain a specified number of instances indefinitely. Amazon EC2 Auto Scaling periodically scans instances to check their health. When an error is detected, the instance is terminated and a standby instance is started. This ensures the required number of instances is running.
You can schedule scaling to occur automatically on specific dates and times. This feature is especially useful in situations where you can accurately forecast demand. Instead of relying on predictive scaling, you manually determine how much capacity to allocate at a given time. This is useful when there are unusual, known spikes in demand, for example before a holiday sale.
Scale According to Demand
AWS Auto Scaling can scale resources according to actual application loads. Ensure you select a load metric that is representative of how your resources respond to loads—typically CPU or memory utilization are good metrics. When loads shift, Auto Scaling will increase or decrease resources to ensure the load metric stays at the same level.
AWS Autoscaling with Spot.io Elastigroup
Elastigroup provides AI-driven prediction of spot instance interruptions, and automated workload rebalancing with an optimal blend of spot, reserved and on-demand instances. It lets you leverage spot instances to reduce costs in AWS, even for production and mission-critical workloads, with low management overhead.
Key features of Elastigroup include:
- Predictive rebalancing—identifies spot instance interruptions up to an hour in advance, allowing for graceful draining and workload placement on new instances, whether spot, reserved or on-demand.
- Advanced auto scaling—simplifies the process of defining scaling policies, identifying peak times, automatically scaling to ensure the right capacity in advance.
- Optimized cost and performance—keeps your cluster running at the best possible performance while using the optimal mix of on-demand, spot and reserved instances.
- Enterprise-grade SLAs—constantly monitors and predicts spot instance behavior, capacity trends, pricing, and interruption rates. Acts in advance to add capacity whenever there is a risk of interruption.
- Intelligent utilization of AWS Savings Plans and RIs—ensures that whenever there are unused reserved capacity resources, these will be used before spinning up new spot instances, driving maximum cost-efficiency.
- Visibility—lets you visualize cluster activity and costs, with live views of potential and actual costs, resource utilization, and running instances. You can set budgets per cluster and receive notification alerts about budget deviations.
- Application aware—matches scaling behavior to the type of workload, can add or remove servers from load balancers, use health checks to monitor health, and provide excess capacity for stateful applications without risking data integrity.