The Shift in Cloud Scalability

eNlight Cloud’s Vertical Autoscaling is bringing about a Great Shift in cloud scalability!

 

If you google search the term ‘cloud’ you shall get fewer number of links to natural clouds in your search results. Technology evolves from the necessity of finding better solutions to problems, and the shift from traditional IT to Cloud has been the best example. Cloud computing today has become the de-facto choice to run business applications. In 2017 74% of Tech CFO’s said – cloud computing will have the most measurable impact on their business. By the end of 2018, spending on IT-as-a- Service for data centres, software and services will grow to $547B, a whopping 51% as of $361B in 2016. Enterprise cloud spending is growing at a 16% compound annual growth (CAGR) run rate between 2016 and 2026. Gartner forecasts worldwide cloud services market to grow to $411B in 2020 – a thumping 58% growth from $260B in 2017.

These statistics either compel you to learn about more cloud technology or at least for the matter leave a staggering impression. But behind this sugar-coated reality about cloud computing is a twisted situation – wherein cloud adopters have issues with application deployment, choosing the right cloud provider, finding the right solution for their business requirements and the most important — underrating or overestimating their IT budget. CxOs tend to choose cloud services from providers having market monopoly which ends up into spending more and toppling the budgets

Cloud technology is based upon the need to provide a scalable, reliable and available platform for hosting business applications which resolves the traditional IT issues with scalability of servers and not disburse unnecessary amount of money on stagnant IT infrastructure. In 2017, 82% of companies that adopted cloud technology reported sizable saving in their IT expenses.(E) Even though the savings are real, the complexities associated with managing application and its deployment are not spared. This is one of the major reasons why there is resistance for cloud adoption. IT companies fail to change or find it difficult to change from their traditional business model to a cloud first model. Emerging companies and start-ups adopt a cloud first strategy, but that compels them to develop and deploy their application according to the conventions and services provided by their cloud services provider.

One such major convention is ‘Scalability’. With traditional IT, scaling the application meant buying another expensive server and deploying application on it, same approach is carried by the cloud providers. For the established cloud community – as they know – scalability means ‘Auto Scaling’ or ‘Auto Scale’ or ‘Autoscaling Groups’. Though these are different terms, they implement a same strategy to scaling that is ‘Horizontal Scaling’. Just as buying a physical server and deploying an application on it, Horizontal Scaling means – spinning up identical virtual instances containing the application. The basis of this scaling methodology is increasing the number of nodes that can serve requests while maintaining the sense of availability. This method requires an additional agent that distributes the load evenly on the nodes. For a web application having two-tier architecture (web and database), when there is spike in network traffic, the web tier can be configured to scale Horizontally while maintaining database connections with the same database tier. The entire application would be fronted by a Load Balancer that will be responsible for distributing the load among web instances.

Here, the nature of a web application is to address server network requests while they can be centralized or distributed and the flow of these requests can be managed by a load balancer. On the other hand for workloads like, multimedia application, database, enterprise software, etc. that have in-memory computations, which involve fewer network requests and do not implement distributed work load processing, demand a different method to scale. In this scenario the application needs to be hosted with large amount of pre-allocated resources. This requires over-sizing the virtual instance so that the application does not fall short of resources. Thus ‘Horizontal Scaling’ method is best suited for web applications only, and is of no use for applications falling out of that category.

The very essence for an application to horizontally scale is to have a distributed work load processing over a network. This convention compels companies to develop their application to have a distributed architecture and implement horizontal scaling approach at all levels from front-end ajax calls to database connectivity. Well, having a highly distributed application architecture is a good thing, but with respect to hosting the application on cloud, this same approach compels the developer to adhere the scaling standards implemented by the cloud service provider which ultimately leads to what is known as Cloud Lock-in.

A severe problem to this is – “What in the case, when you already have an established application and wish to move to cloud?” – Well if not for horizontal scaling then one ends up spending enormous amount of money with the cloud service provider, which leads to decreased profits or failure of migrating to cloud. And for those ambitious CxOs, it means going through repeated development cycles for re-designing and redeveloping the application to suit the cloud conventions.

A car requires wheels to move, but if you think of replacing the wheel you are mocked by the general though — One should not reinvent the wheel! That has not restricted eNlight Cloud from bringing in the innovative and disruptive scaling technology – ‘Vertical Autoscaling’.

Horizontal Scaling works by creating similar virtual instances and re-distributing the load.

Vertical Scaling works by increasing the resources of a virtual instance in real time without service disruption.

That seems to be simple, but it isn’t. For a virtual instance having a min-max resource capping, at any point when there is increase in the load inside the virtual instance eNlight Cloud’s intelligent orchestrator adds resources to the virtual instance in real time to satisfy the resource demand, and removes them when not required by the virtual instance. The min-max resource capping is required for guaranteeing minimum and limiting maximum resources for a virtual instance. While the eNlight Cloud’s orchestrator adds resources to the virtual instance, the operating system immediately identifies the addition in resources and starts consuming them. When the load inside the virtual instance decreases, the orchestrator removes resources from the virtual instance without affecting the application data, in-memory pages or on-going processor cycle.

Following demonstration shows the Vertical Autoscaling in action. The resources of the VM are increasing and decreasing in real-time:

In case of deploying a web application and scaling it with Vertical Autoscaling, the resources of the web tier instance will be increased in response to spike in network traffic and on the other hand, in response to increased in-memory transactions for database, the database tier instance will also be scaled up. The following graph shows results from Apache benchmarking tool “ab”:

In case of media applications, database, enterprise software, etc. that fall out of web application category, one can seamlessly scale up and scale down with Vertical Autoscaling. As resources are added to the virtual instance, the application starts consuming them immediately. Here, the operating system inside the virtual instance plays an essential role to provide the increased resources to the application. In the similar manner, when the application is consuming less resources, the added resources are removed from the virtual instance and it scales down.

For an application to vertically scale, it does not require any modifications to code or application architecture. Any application can run out of the box in a virtual instance and it can scale vertically without any service disruption. In other words – If your application can run on a physical computer, it shall run on eNlight Cloud out of the box!

The complexities with application development (introduced due to horizontal scaling) are completely eradicated and developer can focus on optimized application development and have the freedom of choice.

As the virtual instance has min-max capping, the user is also freed from the problem of correctly sizing the virtual instance. Under-sizing i.e. deploying application in a virtual instance with few resources, leads to application performance issues and might also lead to service disruption. On the other hand, over-provisioning or over-sizing i.e. deploying application in a virtual instance with more resources, leads to increased costs incurred by spending unnecessary amount of money on unused resources.

Different applications demand different computational requirements. Some application have processor-intensive work loads and some applications have memory-intensive work loads. While these applications cannot be provisioned in similar types of virtual instances, they need specialized execution environment which satisfies their resource demands. With Vertical Autoscaling, the virtual instance can either scale up vCPUs or RAM individually in response to the work load demand of the application.

With Vertical Autoscaling combined with eNlight Cloud’s Pay-Per-Consume model, a user can save an additional 70% on their Cloud IT expenses.

With flexible performance configuration, increased throughput, unmatched performance and huge cost saving, Vertical Autoscaling is the best match for all kinds of applications.

Technology is meant to ease off operations and functioning and while horizontal scaling provides on-demand scalability, it also introduces immense complexity. Even when there is room for improvement in the technology, cloud monopoly restricts the change and the way cloud adopters perceive the cloud computing technology. eNlight Cloud’s Vertical Autoscaling introduces a new dimension in the cloud computing realm. It opens doors to Multi-dimensional Scaling where virtual instance not only scales vertically but also horizontally at the same time. This lays a foundation for hosting not only the conventional web applications but also traditional applications which faced resistance to migrate to cloud. Vertical Autoscaling provides cloud adopters a fast-lane to implement cloud first strategy.

eNlight Cloud’s Vertical Autoscaling is bringing about a Great Shift in cloud scalability!

Satwik Kolhe

Satwik Kolhe

Sr. Research Engineer at ESDS Software Solutions Pvt. Ltd.
Satwik Kolhe is a technology enthusiast, and works on opensource and cloud technologies. His focial point of interest is in developing cloud enabled services. He has a noteworthy contribution in eNlight Cloud and eNlight 360.
Satwik Kolhe