I will explain in this article how to scale up and down infrastructure on IBM SmartCloud Enterprise using IBM SmartCloud Application Services (currently in pilot) and specifically the IBM SmartCloud Application Workload Service. This capability is also available on the IBM PureApplication System.
This solution proposed to use the Tivoli monitoring capabilities to trigger the creation of a new server instance on IBM SmartCloud Enterprise using its Command-Line APIs.
This was just a proof of concept and still requires some extra implementation to make it robust and viable.
Now it is time to use the out-of-the-box capability provided by IBM SmartCloud Application Workload Service (part of IBM SmartCloud Application Services) or the IBM PureApplication System; they both provide this capability. IBM SmartCloud Application Workload Service uses the public IBM SmartCloud Enterprise environment; the IBM PureApplication System allows you to use a private cloud.
On both services, you have the possibility to create a new Virtual Application Pattern or reuse an existing one. Virutal Application Patterns are pattern designed by IBM with their know-how and best practices.
But let’s focus now on the IBM SmartCloud Application Workload Service – it’s important to note, however, that the concept explained below is also available on the IBM PureApplication System.
When you use Virutal Application Patterns provided by the IBM SmartCloud Application Workload Service to deploy your application, you can benefit from auto-resiliency and the embedded scaling policy — thus your application will auto-scale, up and down, depending on the policy you defined.
If you have a pick-load the IBM SmartCloud Application Workload Service will automatically add extra application servers to the environment in response to this pick-load. After coming back to normal, the IBM SmartCloud Application Workload Service will automatically down-size your application by removing the extra application servers.
How does it work? It’s so easy that you won’t even believe it!
Use the ‘virtual application pattern’ defining a Web Application to deploy your solution.
The scaling policy offers multiple rules, meaning you can specify based on which kind of event your application must scale. The policies are ‘Static’, ‘CPU Based,’ ‘Response Time Based,’ or ‘Web to DB.’
For example, if you use ‘Response Time Based,’ you can specify the lower and upper limits in milliseconds where the IBM SmartCloud Application Workload Service has to scale down and up; the minimum and maximum number of application servers that your environment must contain.
Once the policy set, you can deploy your pattern and if a pick-load occurs which fulfills the policy, automatically the IBM SmartCloud Application Workload Service will generate an extra application server.
Didn’t I say it is very easy? With ‘Scaling Policy,’ you use what you need when you need it!
Other policies are available such as ‘Routing,’ ‘JVM,’ and ‘Log’ policies.
Conclusion: You can quickly use this functionality by deploying the SmartCloud Application Service from the IBM SmartCloud Enterprise platform.