Industry executives and experts share their predictions for 2018. Read them in this 10th annual VMblog.com series exclusive.
Contributed by Patrick Lin, VP Product & Partnerships at SignalFx
The Rise of Application-Aware Autoscaling
A decade ago we saw enterprise adoption of virtualization
accelerate dramatically, and with it came a number of use cases that stemmed
from this new form of infrastructure. The advent of containers and
microservices is the next wave, and like the previous wave, it opens up new
possibilities for how infrastructure can be used. One of the newest use cases
that we have seen arise is application-aware autoscaling.
The idea of application-aware autoscaling itself is not new;
why wouldn't you want the infrastructure that supports your applications to
automatically grow or shrink in line with actual demand? In practice, the
results have rarely matched the marketing rhetoric that we've seen around
application awareness. Utility computing and its various incarnations at the
turn of the century never amounted to much, and innovations driven by
infrastructure vendors tend to be application-aware in name only, instead
making use of the utilization levels of the basic infrastructure food groups
(CPU, memory, disk, network) as proxies for determining when an application
needs additional resources.
In 2018, we will finally see some real progress on this
front. Just as virtualization provided enough of an abstraction layer for
automated load balancing to happen with arbitrary workloads, the rise of
containers and orchestrators provides the prerequisite for autoscaling to
happen with arbitrary services. In addition, the monitoring and evaluation of
application and service metrics can now happen in real-time in a distributed
and sophisticated manner that companies can trust to drive the scaling up or
down of the supporting infrastructure:
- The definition of real-time will vary by
service, but a monitoring platform that can ingest and process metrics
with a predictably low latency (a few seconds, tops) at production scale
is what you should be looking for.
- Applications trending towards or built on top
of a microservices architecture have dependencies that need to be
understood for automated actions to be taken. The monitoring platform you
use to track performance and utilization metrics needs to account for the
full stack.
- Most importantly, the system you use to make
scaling decisions must be sophisticated enough to create aggregate,
composite or derived metrics out of raw data, and evaluate those metrics
against dynamic thresholds that take into account the characteristics of
the data, e.g. if there is seasonality in it, or if a ‘settling down'
period is needed. A monitoring platform that uses the raw metrics that you
gather, evaluated against fixed thresholds, is too simplistic to be
trusted to make changes in your infrastructure.
Much like virtualization enabled a myriad of use cases over
the past couple of decades, you will continue to see containers and orchestrators
build on this transformation and provide valuable use cases for enterprises.
This will continue to employ automated work streams for developers to help them
focus on greenfield development opportunities, providing a better end user
customer experience and the ability to handle the vast amount of data being
pumped into enterprises. The onus will be on the enterprise to make sense of
this data, and continue to monitor these technologies in real time as they
start to roll them into production, making sure they have a pulse on their
business as they migrate toward more dynamic environments.
##
About the Author
Patrick
leads Product and Partnerships at SignalFx. Previously, he held senior
leadership positions in Product Management at Jive Software and VMware.