In this era where time is more valuable than money and with the advent of easy internet access, people will not tolerate delay, especially when using an application. Our servers should be capable of handling all the requests that are received from the users. The requests the servers can handle are limited to the hardware resources on which the system is running. When the limit is reached, there is a need for more hardware resources to handle further requests. At this point, we want our application to be capable enough to handle the new requests for which we have to scale our system.
Scalability describes a system’s elasticity. While we often use it to refer to a system’s ability to grow, it is not exclusive to this definition. We can scale down, scale up, and scale-out accordingly. When we are running an application or a web service on a server, the success of the application depends mainly on how well it manages when there is a huge amount of traffic inflow suddenly. One such instance where the application failed due to such huge incoming traffic was during one of the first largest sales on ECommerce where the companies could not even guess the amount of inbound traffic and sales, the "Big Billion Sales" of Flipkart due to which Flipkart lost a lot of its loyal customers. This is one of the biggest reasons why an application should be capable enough to handle such an enormous amount of requests.
Scaling is not just with respect to the network connectivity or amount traffic inflow. As the complexity of the application grows, as the data stored increases, the system must be capable enough to handle the inflow of growing data and the added complicatedness.
A system is said to be scalable if it does not need to be redesigned to maintain effective performance during or after a significant increase in workload. "Workload" means concurrent users, storage capacity, maximum number of transactions processed, or anything else that pushes the system beyond its original capacity.
Scalability is not a basic requirement of the program. This is because non-scalable software can run well in a limited amount of space.
However, this reflects the capabilities of the software to grow or change according to the needs of the user.
Software that can be extended beyond basic functionality should be configured with scalability in mind, especially if the business model depends on its growth.
So, what happens when software isn’t scalable?
In the beginning, the weakness is hard to spot. The workload is light in the early stages of an app. With relatively few simultaneous users there isn’t much demand on the architecture.
When the workload increases, problems arise. The more data stored or simultaneous users the software collects, the more strain is put on the software’s architecture.
Limitations that didn’t seem important in the beginning become a barrier to productivity. Patches may alleviate some of the early issues, but patches add complexity.
Complexity makes diagnosing problems on an on-going basis more tedious (translation: pricier and less effective). As the workload rises past the software’s ability to scale, performance drops. Users experience slow loading times because the server takes too long to respond to requests. Other potential issues include decreased availability or even lost data.
All of this discourages future use. Employees will find workarounds for unreliable software in order to get their own jobs done which puts the company at risk for a data breach or worse. When the software is customer-facing, unreliability increases the potential for churn.
Google found that 61% of users won’t give an app a second chance if they had a bad first experience. 40% go straight to a competitor’s product instead.
Scalability issues aren’t just a rookie mistake made by small companies, either. Even Disney ran into trouble with the original launch of their Applause app, which was meant to give viewers an extra way to interact with favorite Disney shows. The app couldn’t handle the flood of simultaneous streaming video users. Frustrated fans left negative reviews until the app had a single star in the Google Play store. Disney officials had to take the app down to repair the damage, and the negative publicity was so intense it never went back online.
Understanding about scalability is just not enough, we need to know what are types of scalability and how scalability works as well.
Let us know more about it in the further blogs. Subscribe to know when we post a new blog
Interested in knowing how to scale your application? Please do reach out to us here.
Comments