Automatic Vertical Scaling

Jelastic is the only Cloud PaaS 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 dynamically change the amount of allocated to server resources (RAM and CPU) according to its current demands, with no manual intervention required. This feature guarantees you never overpay for unused resources and saves your time due to eliminating the necessity of handling the load-related 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.

How It Works

So, the key idea of automatic scaling is fairly simple - as soon as an application’s load grows, Jelastic simply makes additional resources available to it; and when the load goes down again, the resources get reduced by the platform automatically.

Herewith, changing the amount of allocated resources typically takes only 1 or 2 seconds and does not have any negative impact on your app - this can be clearly seen within the next video:

Tip: The vertical scaling feature is applicable for any type of instance in environment (i.e. application server, database, load balancer, Docker container, Elastic VPS, cache instance and build node).
As you could observe within the video above, Jelastic measures resources in special units called cloudlets, which provide you with a superior granularity while scaling. A cloudlet is roughly equivalent to 128 MiB RAM and 400Mhz 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, in such a way, 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.

Adjusting Resource Limits

  • A newly created environment receives a certain amount of cloudlets. Resource consumption depends on the type and quantity of your software stacks. Upon being added added to the environment, each stack receives the default number of allocated cloudlets according to the optimal resource amount, required for its proper workability.
    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.

    Tip: 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.
    And 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.