Автоматическое масштабирование

Jelastic является единственной облачной платформой, которая может автоматически масштабировать любое приложение. Это возможно благодаря способности Jelastic изменять количество ресурсов (оперативной памяти и процессорной мощности), предоставляемых серверу.

Когда нагрузка на приложение растет, платформа просто выделяет ему дополнительные ресурсы и сокращает их автоматически при необходимости.
Jelastic измеряет ресурсы в клаудлетах. Клаудлет - это примерный эквивалент 128Мб оперативной памяти и 200МГц процессорной мощности.
Новосозданному окружению выделяется определенное количество клаудлетов. Потребление ресурсов зависит от типа и количества используемых программных стеков.
При необходимости максимальное количество доступных клаудлетов можно увеличить вручную через Топологию окружения.

При запуске приложения дополнительные незадействованные клаудлеты автоматически прибавляются или сокращаются по мере роста/падения нагрузки на него.
В настройках Вы можете выбрать пределы масштабируемости и таким образом выставить ограничения бюджета, который Вы готовы потратить.
Примечание: Вертикальное масштабирование доступно для любой ноды в окружении.

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.