VMware has been leading the charge to enable the vision of the Software-Defined Datacenter (SDDC) to become a reality. Today, we will explore an important part of the SDDC—auto-scaling.
To start, we are going to paint a picture using our handy reference architecture, NanoTrader (now known as SpringTrader). As the name implies, this app is based on the Spring framework (actually vFabric in general) and does trading with real links to stock market data feeds.
In our scenario, NanoTrader is working well at normal trading volumes, but what happens on the days when a social media jaggernaut has a highly publicized IPO? In our example, a made up entity we shall call “Bookspace” is doing just that–and while stock volumes are soaring, so is the load to the NanoTrader app. Fortunately, NanoTrader was deployed using integration between vFabric Application Director 5.0 and vFabric Application Performance Manager 5.0 (APM). This integration enables a “closed-loop” application scale-out, that is automatic and does not depend on any human interaction.
How It Works
Our scenario starts when the NanoTrader application is actually first provisioned. During the modeling phase, the application architect was sure to embed management agents for code and platform-level monitoring. These agents work within APM, and allow it to instantly know when your application came online and place it under management. So, our application architect presses a button, deploys the app and Application Director is able to configure the agents with the appropriate monitoring parameters so that it shows up immediately and is managed from day one.
When the model shown above is deployed and running successfully, this application can now be imported into APM. In the following screenshot, we can see the overall health of the application in the APM user interface.
The ability to drill into the application and see where problems are occurring is valuable for application profiling, testing and debugging. In this example, we can see that the increased volume is causing strain on the application server tier, where the vFabric tc Server is being inundated by a spike in hits. The initial deployment only used one tc Server, and it is obvious to us that to continue to bear this level of load will affect end user Quality of Service (QoS) for the application. Knowing that this is a likely bottleneck for scaling the application, we can set up alerts that trigger an application scale out when the hits per component metric goes above a warning threshold. Within the VMware vFabric AppInsight component of APM, we set a trigger for the Hits Per Component Key Performance Indicator (KPI). When that threshold is breached, AppInsight will execute a scale out workflow as configured in the following screenshot.
After configuring and enabling the alert and its action, we can see that the resulting notification was raised and using a vCenter Orchestrator workflow, we leveraged vFabric Application Director’s API to trigger the scale out. Looking at the Application Director deployment page, we can see the in-progress modification to the deployment of an additional tc Server to split the load of hits across the two application servers. Every time the “hits per component” metric breaches its threshold KPI, APM will send an action request to Application Director for an automated scaling out the application without intervention!
|>>Download and Try vFabric Application Director and vFabric Application Performance Manager|