Let me begin this article with an always reliable Wikipedia citation: Software-defined data center (SDDC) (also: virtual data center) is a vision for IT infrastructure that extends virtualization concepts such as abstraction, pooling, and automation to all of the data center’s resources and services to achieve IT as a service (ITaaS). In a software-defined data center, "all elements of the infrastructure — networking, storage, CPU and security – are virtualized and delivered as a service."
Sounds great in practice but as we covered in a previous article, the Software-Defined Data Center becomes just a buzzword without any control over it doesn’t it?
The Missing Link: Software-Defined Control
Think about that for a minute. We live in a world of Software-Defined X. Software-Defined Storage, Software-Defined Networking, Software-Defined insert technology here. What’s the missing link in all of this? Software-Defined Control. We are still relying on humans to control every aspect of a Software-Defined infrastructure rather than letting, uh, software do it.
If you’re familiar with anything VMTurbo, then you’re probably already aware that that’s exactly what we propose. By applying economic principles of supply and demand to the virtual environment, and treating the various entities within it as buyers and sellers of compute resources, VMTurbo is able to control the virtual infrastructure in a desired state.
The Desired State is a Constantly Moving Target
A Desired State is a dynamic equilibrium where workload demand is best satisfied by infrastructure supply. This equilibrium is a continuously fluctuating target where application performance is assured while the environment is utilized as efficiently as possible.
One way that I describe what this translates to is a place where the virtual environment can safely be eliminated from EVER being the cause of performance degradation. The underlying virtual infrastructure that supports the virtual machines, which support the applications that ultimately support the business are all continuously performing at the highest possible level.
How Do You Deal with Performance Degradation at the Application Level?
So while everything from an infrastructure perspective may be running optimally, a common question that can arise is what if a performance bottleneck occurs outside of this scope? Specifically, what happens if a performance hit occurs at the very level that is the reason data centers exist: the application level.
Enter VMTurbo’s Application Control Module.
Understand Application Demand to Control Infrastructure Supply
Recall the problem we discussed earlier that so many teams face while managing the Software-Defined Data Center: Assuring application performance while maximizing the utilization of the infrastructure. The more that we understand about demand the better we can control supply.
VMTurbo Control Modules extend from the hypervisor into each layer of the data center providing tighter control over the desired state. They help us better understand demand and give us more control over supply.
By understanding application demand we can drive tighter control decisions and specify sizing and placement of application tiers. This allows us to auto-scale application servers and databases to handle fluctuating transaction volume with better decisions of when, where and how big. Examples of this can include properly sizing JVM Heap to prevent heap exhaustion and reclaim memory as well as sizing thread pools to prevent thread waits and match CPU availability.
By making decisions in the context of application demand, we can make better infrastructure supply decisions to service that demand. VMTurbo’s uses its understanding of infrastructure supply – compute, storage and network – to control the application tier. This enables us to get actionable recommendations that assure application performance, rather than simply visibility into metrics and trends.