Saturday, 20 August 2016

Introduction to Autoscaling in AWS

Author: Lokesh Jawane  

Autoscaling

Auto Scaling helps you maintain application availability and allows you to scale your Amazon EC2 capacity up or down automatically according to conditions you define. You can use Auto Scaling to ensure that you are running your desired number of Amazon EC2 instances. We can define autoscaling policy base on three type of threshold.
1. CPU Utilization
2. Network I/O
3. Disk I/O

CPU utilisation is the most popularly used parameter to judge the load on infra.

Autoscaling Configuration Level

Launch configuration
Where we define the configuration to launch instance during scaling with marketplace AMI or Custom AMI.

Autoscaling Group
Specify the VPC, subnet, Size of autoscale infra, Scaling policy with the thresholds(called alerts and alert escalations), Notification etc

Notification

Amazon provides capability to send email alerts about scaling activities. We can specifies the email address in scaling group. There is a limitation to specify only one email. There is provision to integrate all AWS services with SNS and send a notification for all types of alerts with multiple email addresses.
For specific EC2 instance alerts notification, just subscribe SNS & define the policy for Notification & Type.

Why & When?

AutoScaling infrastructure can reduce the failure/downtime of the application. For autoscaling in AWS, we need to setup the Elastic Load Balancer which routes the incoming requests.

Before implementing Autoscaling, we should optimize the App, DB & Server Instance. This helps to save the cost spending over the infrastructure. To evaluate which components in the architecture pose a bottleneck and which need to be autoscaled, based on which parameters, we can run load tests and identify the components to scale.

Recommended Architecture
Following is the recommended architecture to build an autoscalable AWS infra for an N tier architecture.



To know more about AWS Autoscaling and case studies, write to me at: Lokesh.Jawane@Crevise.com

No comments:

Post a Comment

Amazon EKS - Kubernetes on AWS

By Komal Devgaonkar Amazon Elastic Container Service for Kubernetes (Amazon EKS), which is highly available and scalable AWS service....