In addition to the inbuilt automatic vertical scaling you have the access to, MilesWeb Cloud server also lets you automatically scale your projects horizontally, changing the number of web/application server nodes in your environment. Herewith, all of the newly added nodes are created at different hardware servers, ensuring enhanced reliability and high-availability.
Automatic horizontal scaling can be executed by means of tunable triggers, which will monitor the modifications in application’s load and increase or decrease the amount of nodes due to them. To understand how to automate the horizontal scaling operations for your application server and track their occurrence, refer to the instructions below:
Note : For the rest types of stacks (i.e. placed within non-application server layer - databases, load balancers, etc), you can define to get the suitable notifications upon their load changing and adjust the number of containers manually according to them.
MilesWeb Cloud's horizontal scaling lets you configure automatic changing of the web/application server nodes’ number according to the resources consumption of your application. You can set the minimum and maximum allowed amount of nodes, as well as the requirements for their addition or removal, by means of tunable triggers. Herewith, there are five types of monitoring triggers available, which are based on the usage of a particular resource type, namely:
You just need to state the percentage of the resource consumption limit (or, probably, a particular level of Mbps usage for Network trigger) and the time period the load should stay under/above it. After enabling, the trigger immediately starts to monitor the amount of resources your application utilizes.
When the usage level surpasses the stated limit, a trigger becomes invoked. Consequently, it will be executed if the amount of consumed resources will stay out of the specified limit for a defined period of time. In this case, the number of server nodes will go up or down.
So, to configure a trigger for the automatic horizontal scaling on MilesWeb Cloud, follow the next steps:
1. Click the Settings button for the preferred environment.
2. In the opened tab, navigate to the Monitoring > Auto Horizontal Scaling section.
3. Choose one of the tabs at the top pane with the resource type, that you want to be monitored.
Tip : Percentage for both CPU and Memory monitoring triggers’ execution is calculated based on the amount of the allocated cloudlets (a special MilesWeb Cloud resource unit, which represents 400 MHz CPU and 128 MB RAM simultaneously).
Turn ON the switcher in order to be able to tune the Add/Remove Nodes trigger's conditions.
Note : The trigger can be activated only once it is enabled with the Turned switcher and the conditions parameters are Applied.
4. You can see the right part of the section in the graph, which displays the statistics on the chosen resource consumption.
The information of application’s performance for the last week is stored and displayed. For in depth analysis, you can select the exact time period you are interested in by using the drop-down list above the graph. You can also enable/disable the statistics’ Auto refresh function here.
5. Hover over a specific point on the graph to find out the exact amount of resource consumption for the chosen time duration. This information can be used to establish appropriate conditions for the execution of the triggers.
6. Each trigger has got two options (that is, Add and Remove Nodes), which can be enabled with the corresponding check boxes just before the title.
Once activated, each of them can be configured in a similar way using the following options:
Whenever the load is more (less) than - the upper (lower) trigger limit in percentage (or Mbps for the network), based on which it will be invoked. The necessary magnitude can also be indicated with the help of the suitable sliders to the right.
Tip : The 100% value will automatically stop the Add Nodes trigger, while stating 0% will turn off the Remove Nodes one.
For at least a few minutes, a trigger must remain invoked before changing the nodes' count. It can be set up to one hour with a 5-minute step (ie 1, 5, 10, 15, etc.)
Scale up (down) to - the maximum (minimum) number of app server nodes, that can be stated within the application server layer because of the automatic horizontal scaling.
Scale by - the count of nodes to be added/removed at the time the trigger is executed.
7. As an addition, MilesWeb Cloud gives you the possibility to receive email notifications on horizontal scaling events. This option is enabled by default upon activating any of triggers; although, you can simply disable it using the corresponding Send Email Notifications switcher.
8. Lastly, you will need to apply the changes to save the settings for the trigger(s) (or, if necessary, undo changes with the same name button and return to the settings you used before).
To analyze the history of triggers' execution for a specific environment.
1. Navigate to the Monitoring > Events History section and select the Horizontal Scaling type within the corresponding drop-down list at the top pane.
2. Define the duration of time the history should be displayed for using the Period drop-down list.
You can also make use of the custom value and specify the essential dates manually.
3. You will see the list of trigger(s) executions, which occurred throughout the stated period, with the following details:
4. Click on a specific record to open the Details panel to the right, which provides some more information:
This way, you can configure a set of horizontal scaling triggers and track their executions so as to not to worry about your app performance.