Scalability in Cloud Software Architectures

TechNews Writer
Pronouns
(He/Him)
Mon Apr 18, 2022

Scalability in cloud technology can be defined as the ability of the technical resources to handle the growing needs or growing load on the server. Scalability is one of the hottest topics in tech today because it requires a huge amount of financial, technical, and human resources to handle a large-scale cloud architecture. Understanding scalability is an important factor because, for any software-based business, scalable architecture is the biggest challenge to growth. Here are key insights and a basic introduction to what scalability is :

Any software-based cloud application is mostly made up of two major components:

  1. The hardware 

  2. The software 

When we talk about scalability software scalability is often ignored because it is easier to write efficient scalable code today than to handle a large-scale massive hardware design. Also, most of the engineers who are in the software industry are capable of writing efficient and scalable codes. Hardware scalability can be achieved in two forms :

  1. Vertical Scalability: When a single machine or server is given more resources like RAM, Processing Speed, and Storage spaces to handle the growing load, it is known as Vertical Scalability.

  2. Horizontal Scalability: When a replica of an existing machine or server is created and the growing load is split into these replicas, then this type of scalability is referred to as horizontal scalability.

Vertical Scalability and Horizontal Scalability have their own use cases and each strategy is adopted as per a few key criteria which are primarily :

- The load which needs to be handled: Horizontal Scalability can handle more load than vertical scalability even if the machine chosen for horizontal scalability is individually less powerful than a single machine for vertical scalability.

- Budget available: Often Horizontal Scaling is more expensive than vertical scaling.

- Need of the hour:  Horizontal scalability is preferred in a production environment when a software application is ready for business.

- Elasticity - Elasticity is scaling a system when demands grow ( like no. of requests on amazon.com on holiday season)  and then reducing the resources when demand is reduced.

- Implementation - Often implementing horizontal scalability is much more complex than vertical scalability. This is so because there are multiple servers involved in horizontal scaling so communication between those servers and preventing data loss while data transfers are crucial and often get complicated with growing resources.

Choosing the right type of scalability at the right time is one of the most crucial decisions which a company must make to achieve higher throughput with minimum losses. The most powerful system is not always the answer and often many factors go into choosing the right software architecture so that they are completely scalable. 

Source : https://medium.com/@saksham.gulati28/scaaaaaaaaaalaaaability-ad2d4d8cd3a3

 

 

Appears in
2022 - Spring - Issue 11
Tags
Channel