In this article, we will talk about horizontal and vertical scaling. So we’re going, beginning with vertical scaling.
Vertical Scaling
This is also a little bit of the more aged type of scaling for applications. So first, we’ll see how this solves our latest cloud architecture. And then, we’re going to learn horizontal scaling, which is the type of scaling we likely want to concentrate on in most cases.
For those studying for AWS Certification, we will go through 3 essential questions to ask yourself to help you on the exam.
Now, you might be aware of vertical scaling if you have already worked in an IT area before.
Vertical scaling holds your current infrastructure, though it adds computing capacity. Your current collection of code does not require to modify — you only need to execute the exact code on computers with more reasonable specs. By scaling up, you improve the power of a single computer and boost its throughput. Vertical scaling permits data to live on a single node, and scaling spreads the load through CPU and RAM resources for your servers.
Vertical scaling implies adding more resources to a single node and extra CPU, RAM, and DISK to manage an increasing workload. Essentially, vertical scaling offers you the capability to improve your existing hardware or software capacity. Still, it’s crucial to keep in mind that you can expand it to the limits of your server. Therefore, vertical scaling also guides increasing the number of computers in a data center by increasing additional resources to single nodes — but without increasing extra CPUs, memory, or hard drives to let more additional power and allow the particular node to take an expanded workload.
Now, that’s not to comment that vertical scaling never has a place; no matter how difficult you attempt, that t2.micro will be a terrible production database. So at some point, you’ll likely need to scale vertically. But what I like you to be concentrating on is not vertical scaling but horizontal scaling.
Horizontal Scaling
Horizontal scaling merely adds more additional instances of computers without first enforcing modifications to existing specifications. By scaling out, you share the processing capacity and load balancing across numerous servers.
Horizontal scaling suggests adding more additional computers to the resource pool rather than just adding resources by scaling vertically. Scaling horizontally is identical to scaling by adding more computers to a collection or resources — but rather than adding more capacity, CPUs, or RAM, you scale back to existing infrastructure. Horizontal scaling permits you to scale your data with better resources than adding resources employing vertical scaling.
Let’s three questions to keep in mind. Those questions will help you to understand the Scaling process on AWS.
The first question that we’re consistently asking ourselves is what we scale? Are we scaling an EC2 instance or database? How do we create new instances properly?
Where is that template coming from? How do we determine when to scale what we must bring online?
Once we’ve responded to what we are scaling, we have to define where to scale? For example, wherein the VPC? How many availability zones are we using? Which load balancer are those resources will be attached to? Also, what and where by themselves don’t help us too much. For example, suppose we’ve determined that we want to scale one specific EC2 instance, which requires particular availability zones and networks. In that case, we must have some data, a trigger, and an alarm to notify us. When do we require that architecture?
We have to be capable of examining our resources and state, “When does it make sense to create more? “When does it make sense to scale down?”
In the AWS world and preparing for that AWS certification, most of the time, CloudWatch, those CloudWatch alarms inform us when something must happen, whenever you notice a question regarding scaling, whether it’s an EC2, database instance, also even some of those Lambda functions or serverless resources.
Horizontal Scaling vs Vertical Scaling in AWS
What AWS services should you learn to scale horizontally?
You can check the items below and start to learn, giving you a better idea of how to create a solution where you can quickly scale your application:
2 – Auto Scaling Group
3 – Load Balance (Application, Network, or Classic)
4 – Target Group
5 – API Gateway
6 – EKS (Using multiples workloads)