Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AWS Scale out , Scale Up

In AWS, we come across scaling up (Adding more storage i.e from t1.small to t2.medium or t2.large) and scaling out is adding up of instances (adding EC2 instances or other). How are these related to Horizontal scaling and vertical scaling. Also, what is preferred to be used more in Recovery and Backups, Volume management more often while the condition is to minimize the cost of the infrastructure maintenance.

like image 705
D3VLPR Avatar asked Feb 03 '17 23:02

D3VLPR


People also ask

What is the difference between scale up and scale out in AWS?

To scale out your OpenSearch Service domain, add additional nodes (such as data nodes, master nodes, or UltraWarm nodes) to your cluster. To resize or scale up your domain, increase your Amazon Elastic Block Store (Amazon EBS) volume size or add more memory and vCPUs with bigger node types.

What is scaling up and scaling down AWS?

Scaling up is when you change the instance types within your Auto Scaling Group to a higher type (for example: changing an instance from a m4. large to a m4. xlarge), scaling down is to do the reverse.

What is scale up in AWS?

You create a scaling policy to automatically increase the size of the group based on a specified increase in demand. For more information, see Dynamic scaling for Amazon EC2 Auto Scaling. You set up scaling by schedule to increase the size of the group at a specific time.

What is the difference between scaling up and scaling out?

While scaling out involves adding more discrete units to a system in order to add capacity, scaling up involves building existing units by integrating resources into them.


1 Answers

Scaling up is when you change the instance types within your Auto Scaling Group to a higher type (for example: changing an instance from a m4.large to a m4.xlarge), scaling down is to do the reverse.

Scaling out is when you add more instances to your Auto Scaling Group and scaling in is when you reduce the number of instances in your Auto Scaling Group.

When you scale out, you distribute your load and risk which in turn provides a more resilient solution, here is an example:

Let's say you have an ASG with 4x m4.xlarge instances. If one fails that means you lost 25% of your processing capability, it doesn't matter that these are sizeable instances with a good amount of CPU and Ram, the fact is by having bigger instance types but less of them you increase the impact of a failure.

However if you had say 8x m4.large instead, your total compute is the same as 4x m4.xlarge however if 1 instance dies then you only lose 12.5% of your resources.

Typically its better to use more smaller instances than less larger ones, so you will see that its more common to "scale-out" to meet demand than it is to "scale-up".

One last consideration is, in order to scale-up/scale-down you have to restart the instance, so there is a service impact when you scale-up/scale-down. There is no such impact when you scale-in/scale-out however.

I hope this helps!

like image 115
Xavier Hutchinson Avatar answered Oct 08 '22 18:10

Xavier Hutchinson