Back to Blog

Ryan Strehlke

Auto Scaling at the Speed of Software

Last month, I discussed the complexities around the decision between either scaling up or scaling out, and how it is a difficult choice to make at any level of the IT stack. Now, I’ll be focusing on how VMTurbo is capable of auto scaling at the virtual level, making those tough decisions for you, all at the speed of software!

Making scaling choices at the physical hardware level is difficult enough, however it becomes even more complex when applying the same analysis to dynamic, virtual applications. Without understanding the demand of every application in the infrastructure, it is truly impossible to effectively and safely auto scale, let alone in real-time. Since VMTurbo matches the supply of the infrastructure with the real-time demand of the supported applications, it is capable of providing specific decisions around vertical and horizontal scaling at the application server level.

VMTurbo drives the environment to an equilibrium by abstracting virtual resources and pricing them as a function of utilization. By treating your environment as a virtual marketplace, applications can budget and shop for whichever resources they demand in real-time, allowing you to scale without giving up on control.

Driving Horizontal and Vertical Scaling Decisions

For example, VMTurbo automatically anaylizes key application level metrics, such as heap and thread utilization, transaction count, and response time, to drive intelligent decisions and ensure that specific quality of service targets are met. So, VMTurbo will proactively suggest to increase heap or thread capacity if workload demand is such that avoidable risk exists in the environment.

Auto Scaling - utilization changes

Likewise, VMTurbo is capable of making horizontal scaling decisions to either provision or decommission application server instances to appropriately match the supply of virtual resources with the demand of the hosted applications. Instead of setting alarm thresholds to tell us “Hey, we have a problem!” VMTurbo will provide, and automatically execute application level actions, and keep even your most elastic, unpredictable workloads performing at all times.

Let’s apply VMTurbo’s methodology to a real-life example. Recently, I engaged with a prospect who is responsible for managing hundreds of websites for their end users. Even though the traffic to these sites is often predictable, there are occasional anomalies that are truly impossible to foresee, and more importantly, manage in real-time. For example, if one of their customers runs a marketing campaign, their websites’ traffic could easily increase tenfold, and create resource utilization spikes much greater than historical averages. You could imagine how frustrated the customer would be if their websites were slow to respond, or unreachable altogether, during a successful marketing initiative. What might that mean to the business if customers couldn’t rely on their service provider to guarantee performance and quality of service?

This prospect knew that they needed to be prepared for any situation to retain current, and continue to onboard, new customers. We showed how they could easily plug into a number of different application servers: WebSphere, WebLogic, and SQL Server, to name a few, and gain a direct hook into the applications themselves to better manage anomalous demand spikes in real-time.

Controlling the SQL Memory Monster

SQL Server in particular is often a critically important, yet awfully difficult workload to manage, especially with regards to memory consumption. By design, SQL Server has its own native memory management tool that is designed to keep data cached in memory to help increase query performance. Unfortunately, this results in headaches for many system admins, as it’s difficult to figure out how much memory is actually being consumed when leveraging a typical alerting/monitoring tool. So, to prevent your SQL Servers from coming to a grinding halt, and in turn, affecting every application that reads or writes to them, VMTurbo can look into the SQL application servers themselves to truly understand resource utilization, and drive accurate decisions.

Auto Scaling - sql memory utilization

By understanding how much allocated memory is actually in use, in conjunction with the other critical metrics, VMTurbo can recommend actions like increasing DB memory or connection capacity.

Auto Scaling - to do

Therefore, VMTurbo assures application performance by auto scaling and reconfiguring application servers and databases efficiently in real-time, and introduces the comfort that only software control can provide. Sure, there are SQL tools that help perform root cause analysis of memory bottlenecks, but now you’re just using another monitoring tool. Let software control your environment at the speed of software, and end the application scaling headaches today!