Scaling methods in AWS

Tram Ho

1. Scaling

  • Scaling is defined as the ability of an IT resource to handle demands when rising or falling. This is one of the most popular and beneficial features of cloud computing, as businesses can increase or decrease to meet demand based on each time period, according to project phases and more. again. By deploying cloud scalability, you allow your resources to grow as traffic increases or your organization’s size expands and vice versa.

  • Scalability gives the idea of ​​a system in which every application or infrastructure part can be extended to handle increased loads. Systems often apply scalability to the following four components:
    • Disk I / O
    • Memory
    • Network I / O
    • CPU
  • There are several main ways to scale in the cloud:
    • Vertical Scaling
    • Horizontal Scaling
    • Diagonal Scaling

2. Vertical scaling

  • Vertical scaling is what most people think of when it comes to scaling. This is a traditional type of scaling that doesn’t really require any application modification.
  • Imagine an application running on a virtual server and suppose, it can handle 1,000 visitors per hour. If your blog becomes popular and starts getting 1500 visitors per hour, then their experience at the site will decrease. Virtual servers will not have enough resources to handle perfectly. At that time, the problem is that you need to expand the server size: increase the size of the server by adding CPU, additional memory, disk space, …
  • Vertical scaling is achieved by adding additional resources in the form of a CPU or memory to an existing machine. That way, the machine can serve more customers or perform computing tasks faster so you can go from the middle server (medium server) to the big server (large server) or even to the server. extra large server, and in doing so, you can cope with the ever-growing number of users.

  • The bigger the virtual server or the bigger the instance, the more users there are but it generally has some really important limitations.
    • When there is only one instance or a single virtual server hosting the application, it also means that the risk increases significantly.
    • Another problem is that there are limits to how big an instance can be. You can keep adding CPUs and additional memory, but at some point they will hit the limit. The larger the scale, the more you will charge for each additional unit of power. In the case of a physical server, you need to turn off the server power and make changes to that server hardware. If it’s a virtual server, you can usually change resources but it still requires a reboot. This disrupts the user experience.

3. Horizontal scaling

  • Horizontal scaling is a completely different architecture. With horizontal scaling, we don’t increase the size of the instance, but instead add additional instances.
  • A platform, rather than a large instance, can use 1, 3, 6 or even hundreds of smaller instances. Horizont scaling is achieved by adding additional machines to the resource pool that each provides the same service. Horizont scaling is not limited to the size of the virtual scale and it can actually scale to near infinite levels but it requires support from the application to effectively expand.

  • The disadvantages of Vertical scaling are almost overcome when using Horizont scaling:
    • Scatter risk on many small components instead of on a single block
    • It is possible to perform Scaling regularly without being shut down because you only add additional resources, not change existing resources, so your nature is not disrupting your current service delivery.
    • Cheaper: Using 10 servers that are one-tenth the size of a single large server, those 10 servers are cheaper than the largest one.
  • Horizont scaling requires a more complex configuration than Vertical scaling, but it is much more efficient if you can use it.

4. Diagonal Scaling

  • This is the method for combining the two scaling methods above. Diagonal scaling provides flexibility for workloads that require additional resources during a specific time.
  • When combining both vertical and horizontal, you only need to expand within your current server until you reach the desired capacity. You can then clone that server as demand increases, allowing you to handle lots of requests and traffic simultaneously.

Share the news now

Source : Viblo