Let us imagine, you are a software engineer at one of the famous home services companies in Bangalore. Since you are experienced, you are assigned to write an application for replacing an old application that does not meet the requirements of the online business. You and your team worked long hours and built an application which is excellent in functionality, scalability, resiliency, security as well as compliance. Instead of hosting in the old platforms, you want as per the recent trend to move to cloud-based platforms.
Similar to so many companies of today, your home maintenance company in Bangalore also want to make a shift from the old physical hardware solutions to the cloud-based service. Mainly, this is for technical gain as well as revenue generation opportunities. So, you are searching for a cloud service provider who can meet basic needs such as resiliency, scalability, and security.
You find that the list of service providers is large. In fact, many are fairly equipped to meet the needs by using various processes and tools. But there is a catch. With regards to scalability, the cloud providers differ by a long distance from one another. Now, does this aspect confuse you? So roll up your sleeves because in this article no jargon has been used to describe the new term known as auto-scaling.
It can be best described as the way of allocating resources to the application for meeting the requirements of the company. In other words, your application in the cloud has to perform as per the expectations. In fact, there are three types of scaling.
In this type, you get the permission to either add or remove servers or application to the cloud platform. You can either expand or shrink the infrastructure. However, considering the expenses, it can be more, as you will have to ascertain that regardless of expansion or shrinkage, the application works best. And, kindly note, it is impossible to add or remove at your own free will. It will take time.
If you want to keep the costs down, then go for vertical scaling. It also means the same similar to horizontal scaling. It literally means addition or removal of memory or processors. Because of the presence of APIs it is easy to add or remove memory and processors. But there is a limitation. You can extend only as per the size of the server.
In this type, the application can be hosted in one particular location. Preferably a physical hardware or private cloud. But you can take the help of additional servers in another cloud platform to extend in case of more requirements. A complex approach, this type is, as the application infrastructure will be based in various geographies and the application does also have to support the same type of configuration.
Before choosing the type, ensure that you consider the cost as well complexity before going in for the benefits.
Are you confused about horizontal and vertical scaling? Let us explain by an example. Just imagine an apartment. It consists of 2200 rooms, and you plan a wedding for 1000 visitors. So, the apartment can not only fulfill the expectations of 1000 visitors but can also accommodate 1200 more. In either case, your apartment can easily fulfill 1200 more visitors. This is called as vertical scaling. Suppose, if the visitors come to 3000 numbers then it is impossible to accommodate 2000 more members. This is the disadvantage of vertical scaling.
Shall we move over to horizontal scaling? Imagine the same situation. The apartment can handle 2200 rooms and so 2200 visitors. But if 3000 visitors come, then there is an option to accommodate more. The existing buildings have to be renovated to build new rooms or in the extra spaces, new buildings have to be constructed. Now, think about the duration? You do not have an Alladin’s magic lamp to complete the other apartments in a jiffy. So, that calls for more time and the most important factor is an expense. So, this is horizontal scaling.
Let us imagine, you are an IIT-ian and have opened a new online home services company in Hyderabad. You have put together a 500 strong team of handyman professionals who provide services such as plumbing, electrical, and refrigerator repair in Hyderabad. Also, you have tied up with reputed laundry service providers to give quality cloth washing services. Being smart, you have put together only a small team of ten persons for your office. Since you are a start-up, many of the applications are in the cloud and you have preferred the vertical way of hosting. This works well for your business because of reduced costs. You have also chosen a cloud server that can expand in capability and resources. So, the next step? Nothing but success in the business.
Hope that the above examples have given you the best GYAN about the types of scaling in cloud technology. Have we missed a valuable point? You can put a comment and we will respond accordingly.