Automatic Vertical Scaling

Jelastic is the only cloud platform which can automatically scale any application, both vertically and horizontally, making hosting of your applications truly flexible.

Automatic vertical scaling is made possible by Jelastic's ability to change the amount of resources (RAM and CPU), provided to a server. This feature guarantees you never overpay for unused resources and saves your time because there is no need for manual adjustments or architectural changes. You simply decide the maximum limit you are ready to consume and Jelastic automatically defines the optimal amount of resources required for your app, tracking the incoming load in real time.



The vertical scaling feature is applicable for any type of instance in environment (i.e. application server, database, load balancer, Elastic VPS, cache instance and build node).

As soon as an application’s load grows, the platform simply makes additional resources available to it. When the load goes down again, the resources get reduced by the platform automatically. Changing the amount of allocated resources typically takes only 1 or 2 seconds and does not have any negative impact on your app.

Jelastic measures resources in special units called cloudlets, providing you with superior granularity while scaling. A cloudlet is roughly equivalent to 128 MB RAM and 200Mhz CPU core.



There are two types of cloudlets available: reserved and dynamic.

  • The Reserved ones are used to define the amount of resources you expect your application will certainly consume and you pay for them irrespective of actual usage. However, they are charged with lower price compared with dynamic ones.

  • Dynamic cloudlets defines the amount of resources your application can access, based on necessity. You pay for them only in the case of real consumption.

Automatic vertical scaling is performed within the confines of the stated dynamic cloudlets number. You are able to choose your scalability limits with the appropriate settings - and thus effectively put caps on the budget you are ready to spend, preventing unexpected or high bills.

Automatic-Vertical-and-Horizontal-Scaling.png


You can combine the usage of both cloudlet types in different ways, following the most suitable for you
pricing model.

A newly created environment receives a certain amount of cloudlets. Resource consumption depends on the type and quantity of your software stacks. Each stack has the default number of allocated cloudlets after it is added to the environment, according to the optimal resource amount required for it to correctly work:

Node NameReservedScaling Limit
Tomcat, Jetty16
TomEE48
GlassFish616
Apache, NGINX14
NGINX-Balancer14
Nginx-Ruby46
Apache-Ruby48
Apache-Python18
NodeJS48
MySQL, MariaDB16
PostgreSQL, MongoDB18
CouchDB14
Memcached14
VPS18
Maven116

If you would like to change these values and scale your environment, the maximum number of available resources (cloudlets) can be increased/decreased manually through the Environment topology wizard. For that, use the cloudlet sliders in the Vertical Scaling section of its central pane.

All the changes are applied immediately after they are saved, without the necessity to reload the virtual machine.

In order to be able to predict the approximate amount of resources your application will require and state the suitable scaling limits according to it, you can use the automatically gathered statistics. It includes information about the consumption level during the last week for each node in your environment and displays it in a convenient graphic way.

In the case your application becomes highly popular and a single server’s capacity is not enough, feel free to scale it horizontally by means of increasing the number of nodes manually or configure a set of triggers for automatic horizontal scaling of your application server.