How Autoscaling Works
Here is an example of autoscaling in action. Say you have a
service that handles payments of cell phone bills. People
being the procrastinators they are, the cellphone company
fields the bulk of its payment traffic the last three days of
every month. If the company has an on-premises applica-
tion, it could port that app to the cloud without making any
code changes, and still get the benefits of autoscaling at the
platform.
The platform provider’s autoscaling function watches the
number of requests coming into the website, and when the
traffic gets to a certain level, determined by the cell phone
company, the platform will automatically provision more
copies of that front-end system to handle the load.
The app itself has no clue this is happening; it is just con-
suming the resources. The platform provider’s router routes
the traffic and balances the load across all those servers.
When the load starts dropping off, the platform autoscales
back down again. It sees the inbound traffic is sliding off,
and the app uses only the services it needs based on the
new set of demands.
The challenge with equipping your platform with an auto-
scaling function is that you can get false positives. When
traffic comes in, the system reacts. But what if the traffic is
being generated by somebody launching a DNS attack?
Your platform will spin up resources to handle inbound traf-
fic even when it is traffic you do not want to see.
The Benefits of Elastic Apps
Elastic applications can be configured to react to certain
kinds of traffic, and authorize the right level of resources at
the right time.
The challenge is, elastic applications are hard to build. They
are growing in popularity, but most companies are still at
the stage where they can act more effectively by imple-
menting autoscaling functions at the infrastructure level.
Another option is to pursue a hybrid approach – to have the
autoscaling of apps and the infrastructure working in con-
cert with each other. Companies could start by autoscaling
their platforms, master that, start building elastic applica-
tions and eventually get to the point where all new apps are
being built with autoscaling in mind.
Communication Is Key
What kinds of pitfalls can you face when you set up an auto-
scaling function in your platform? For one, you can get into
a situation where you are overengineering. If you provision
for large amounts of resources, you have to be realistic
about whether you are going to get the payback you are
looking for. Everybody wants to do autoscaling, but they
often want roast beef when they are on a bologna budget.
It has to make sense for the business.
This underlies the importance of having the infrastructure
team, the application teams and the business units working
closely with each other. If there is a turf war, you will have
problems. Lack of communication creates situations where
the infrastructure group configures the platform, the other
groups want something different and nothing gets done.
Creating an elastic app does a better job of capturing such
information. The app itself knows what is real. It can deter-
mine whether the traffic is being generated by real users
and whether it is important to the business. Define Autoscaling Rules
For example, consider a scenario in a bond trading environ-
ment. The autoscaling platform would not know if a firm has
a high number of bond trade settlements coming in behind
the scenes. There might be some indication around the size
of the volume, but the infrastructure is not going to be able
to determine whether it is reacting to legitimate trades. Basically, you need to define your autoscaling rules based
on application demands. As an infrastructure lead for your
company, you will need to have detailed conversations with
app teams to understand their elasticity needs. Here are a
few key questions to ask:
50 | THE DOPPLER |
SPRING 2019
Everyone wants a platform to be flexible. But how do you
determine how and when to scale up and scale down?