Autoscaling in a modern world…. Part 1
- by Steve Loethen
It has been a while since I have had time to sit down and blog. I need to make sure I take the time. It helps me to focus on technology and not let the administrivia keep me from doing the things I love. I have been focusing on the cloud for the last couple of years. Specifically the PaaS platform from Microsoft called Azure. Time to dig in.. I wanted to explore Autoscaling. Autoscaling is not native part of Azure. The platform has the needed connection points. You can write code that looks at the health and performance of your application components and react to needed scaling changes. But that means you have to write all the code. Luckily, an add on to the Enterprise Library provides a lot of code that gets you a long way to being able to autoscale without having to start from scratch. The tool set is primarily composed of a Autoscaler object that you need to host. This object, when hosted and configured, looks at the performance criteria you specify and adjusts your application based on your needs. Sounds perfect. I started with the a set of HOL’s that gave me a good basis to understand the mechanics. I worked through labs 1 and 2 just to get the feel, but let’s start our saga at the end of lab3. Lab3 end results in a web application, hosted in Azure and a console app running on premise. The web app has a few buttons on it. One set adds messages to a queue, another removes them. A second set of buttons drives processor utilization to 100%. If you want to guess, a safe bet is that the Autoscaler is configured to react to a queue that has filled up or high cpu usage. We will continue our saga in the next post…