Virtuozzo Application Platform 2.4

This document is preliminary and subject to change.

In this document, you will find all of the new features, enhancements and visible changes included in the PaaS 2.4 release:

For detailed information on using any of the platform’s features, please refer to the users' documentation.

Features

Environment Transferring Automatic Horizontal Scaling Load Alerts
Node.js Hosting
Marketplace Apps Expanding

Environment Transferring

Within the 2.4 PaaS release, we present one more outstanding and often requested feature - environment transferring. Now, you can move any environment you own to another PaaS account . As a result, a new environment’s owner will receive it “as is”, i.e. with all custom configurations and applications deployed.
This feature can be very useful if, for example, you need to provide your customer with a preconfigured and production-ready application, or just move all of your projects to a new account. Such an operation is rather simple and works in the following way:

  • the first user should initiate the transfer: click Settings button next to the desired environment, navigate to the Change owner section and enter e-mail of a required new owner (second user)
  • when transfer form is submitted, the second user will receive an email request for transferring
  • after request confirmation, the environment transfers and appears at the dashboard of a new owner. Simultaneously, it disappears from the old owner’s dashboard and becomes unshared from all the users that had access to it

Environment transferring is available only for billing users by default. Navigate to the appropriate documentation to find out more details.
More info

Back to the list of Features

Automatic Horizontal Scaling

Starting with the current PaaS version (2.4), we provide a new feature of automatic horizontal scaling. As a result, you can configure automatic addition/removal of application server nodes, depending on the resource usage of your application.
You can set how many nodes and under what conditions they should be added or removed with a help of tunable triggers. Navigate to the Settings > Monitoring > Auto Horizontal Scaling section of a particular environment.
Here, you can configure two types of triggers (for adding and removing nodes) depending on the CPU or RAM usage. A configured trigger will be applied to the environment’s compute node. The percentage bar is used for defining the levels of cloudlets consumption, which activate the triggers. You also need to define the following parameters in Add and Remove Node panels:

  • For at least: the period of time the resource usage should be below/above the stated percentage before trigger execution
  • Scale to: the maximum amount of nodes that can be removed/added in the environment
  • nodes by: how many nodes should be removed/added at once when trigger is executed

The graph near the percentage bar shows the statistics on the resource consumption level of your environment. It contains information on the application’s performance during the last week and can be easily disaggregated by selecting the required period of time from the drop-down list above it.
You can also receive email notifications for horizontal scaling events. This option is enabled by default (you can disable it). You will receive a corresponding notification each time when any of your triggers is executed. It contains the information on the current cloudlet’s consumption level and number of nodes added/removed. In addition, this information can also be seen in the Settings > Monitoring > Logs section.
Detailed information on automatic horizontal scaling can be found in Automatic Horizontal Scaling document.

More info

Back to the list of Features

Load Alerts

To monitor your application’s load and the amount of resources it requires, you can configure a set of automatic notification triggers. They are executed if the usage of a particular resource type is above/below the stated value (%) during an appropriate time period. As a result, user will get an email notification about your application’s load change.
Previously we used an automatic alert system to notify that your environment was running out of resources. Within current release this notification system has been disabled. At the same time all the previous configurations are applied to the new system by means of triggers.

The notification triggers can be configured in the Settings > Monitoring > Load Alerts section of the required environment. In the opened tab, select Add button to set up a new alert. Here you should define the values in the following fields:

  • Name -name of the notification trigger
  • Node Type - type of the environment’s node (you can apply trigger to any existing node)
  • Whenever - type of resources that will be monitored by trigger: Cloudlets (Memory, CPU), Memory, CPU, Storage (disk space amount), and Inodes
  • Is - condition for trigger invocation/execution based on if the resource consumption should be above/below the stated percentage
  • For at least - time period before trigger execution during which it remains invoked due to the stated condition

You can set any number of triggers you require. Note that if the environment is shared with other users, then they will also receive the configured alert notifications. The information on triggers execution history can also be seen in the Settings > Monitoring > Logs section. Detailed information on setting load notification triggers can be found in the Load Alerts document.

More info

Back to the list of Features

Node.js Hosting

Since we’ve presented the Cartridges packaging format support in PaaS 2.2 release, we continue to improve this functionality and extend the list of stack templates.
Current PaaS version also includes Node.js application hosting support. Note that it will be available only if your hosting provider enables it by means of the appropriate cartridge adding. Default Node.js cartridge provides Node.js 0.10 version with a corresponding application server. Applications can be deployed from tar, tar.gz, tar.bz2, zip packages or directly from the GIT/SVN repository across multiple Node.js nodes. In-built NPM package manager is used for Node.js modules installation and automatic code dependencies resolving with the help of NPM registry.
Also the support of supervisor is included. It can be used for managing application processes and automatic project’s on fly redeploy in case some changes have been made in its code.

More info

Back to the list of Features

Marketplace Apps Expanding

Marketplace is one of the platform’s distinguishing features, allowing you to deploy and install previously packaged applications in just a few clicks, including automatic creation of the appropriate environment, with all required nodes and configurations.
Current PaaS version includes a significant extension of Marketplace content. Together with our partner Softaculous, we’ve prepared for you almost 100 new packaged applications, ready for automatical installation.
The list of available applications, divided into the appropriate categories, can be seen at our new Marketplace site page or via your dashboard (by clicking the Marketplace button in the top toolbar).

More info

Back to the list of Features

Improvements

Ability to Change FTP-addon Password
Java Client Library: Usage Samples
Billing History Button Visibility
Auto-Refill Behavior
New Branding and Mobile App Improvements
Default Cloudlets Limits Update
Software Stack Versions

Ability to Change FTP-Addon Password

With the 2.4 release, you can change the password of FTP-addon installed at your environment. Using a custom password (instead of one which was automatically generated and sent to you via email) while FTP-addon installation or password resetting, highly improves your application’s security.
Your FTP password can be changed via SSH. Generate an SSH key and add it to your account. After that, access the container with the installed FTP-addon via SSH.
Execute the following command inside the container: sudo /usr/bin/passwd jelastic-ftp
Next, just enter and confirm your new password. Now you can use it for accessing your environment via FTP protocol.

More info

Back to the list of Improvements

Java Client Library: Usage Samples

We’ve prepared a number of samples on using the platorm Java Client Library. With their help, you can automate various actions pertaining to your application lifecycle management, for example: creating an environment, changing its status, deleting, restarting nodes, deploying applications, etc.
The complete list of samples and instructions on Platform Client Library usage can be found at our API documentation, in the Java Sample tab at the top panel.

More info

Back to the list of Improvements

Billing History Button Visibility

The environments' panel in the dashboard displays various information about existing environments: name, status, deployed applications, current resources usage, etc. While hovering over the particular environment, you can see an additional Billing history button which appears in the Usage column.

After clicking it, the tab with detailed information on the charges applied for this environment resource usage is shown. You can specify the desired start/end dates and the time period interval for billing data viewing.

Now this Billing history button is permanently displayed with no need to hover over environment in the list. Such a small but important UI improvement will facilitate billing data access, especially for new users.

Back to the list of Improvements

Auto-Refill Behavior

While using platform resources, you can set automatic refilling of the balance not to perform this manually every time when it is required. This can be enabled by using “Refill my account automatically if my balance falls below {credit}" option while one of the manual replenishments.

Within current release, the behavior of auto-refill process has been changed. So now, when you enable the abovementioned option, the immediate automatic funding is not performed as it can cause double refillment - automatic and the one you have already initiated manually.

The platform billing system checks your balance at the beginning of every hour (just after applying charges for resource usage) and performs replenishment, only in case there were no orders created (by you or auto-refilling system) within the period of time, stated by hoster. In addition, all the payments performed on behalf of auto-refill system are denoted with a special comment in the payment order.

More info

Back to the list of Improvements

New Branding and Mobile App Improvements

Recently we’ve launched a new corporate web-site with a complete redesign of our logo and other materials. Our intent is to emphasise our new enterprize style, as well as simplifying your perception and comprehension of all of the benefits you receive, while working with such a unique PaaS.

Restyling has also affected our IOS Mobile App as an integral part of PaaS. In addition to a new design, the current application version includes several UX improvements and the ability to create a new account.

For now, just after opening the app, you’ll see a field for entering your email and two buttons: Login and Signup. By clicking on Login, you’ll be redirected to the sign in form, with a list of hosting providers the entered email is registered at. Choosing the Signup button will lead you to the signup form, with drop-down list of available hosting providers. Just enter your password, confirm it in the pop-up frame, and click Signup.

Back to the list of Improvements

Default Cloudlet Limits Update

Within the current platform release, the default cloudlet limits for all the nodes have been changed. This is reflected on the position of Reserved and Scaling Limit cloudlets sliders just after adding a node to the environment.
We’ve investigated the optimal resource amount required for correct work of each node, and, as a result, provided the following default values:


Node Name
Expert Wizard ModeBasic Wizard Mode
ReservedScaling LimitReservedScaling Limit
Tomcat, Jetty1622
TomEE4844
GlassFish61666
Apache, NGINX1422
NGINX-Balancer1414
Nginx-Ruby4646
Apache-Ruby4848
Apache-Python1818
MySQL, MariaDB1622
PostgreSQL, MongoDB1822
CouchDB1422
Memcached1422
VPS1818
Maven116116

Back to the list of Improvements

Software Stack Versions

The component templates are remained the same as in the previous release:

StackPaaS 2.5
Tomcat 66.0.39
Tomcat 77.0.53
TomEE1.6.0
Jetty 66.1.26
GlassFish 33.1.2.2
Java 61.6.0_45
Java 71.7.0_51
Java 81.8.0_132
MariaDB5.5.36/10.0.10
MongoDB2.6.0
MySQL5.6.17
PostgreSQL 88.4.21
PostgreSQL 99.3.4
CouchDB1.5.0
NGINX1.5.12
Maven3.2.1
Centos 66.4
Memcached1.4.15
Apache2.2.15-29
NGINX PHP1.5.12
NGINX Ruby1.5.12
PHP 5.35.3.28
PHP 5.45.4.26
PHP 5.55.5.10
Ruby 1.9.21.9.2-p320
Ruby 1.9.31.9.3-p545
Ruby 2.0.02.0.0-p451
Ruby 2.1.12.1.1
Python 2.72.7.6
Python 3.33.3.5
Python 3.43.4.0

Back to the list of Improvements

Bug Fixes

In the tables below, you can see the list of bug fixes in PaaS 2.4:

#Description
JE-16686Some packages at Marketplace return “Application not found” error
JE-16486Unable to connect via SSH Gateway if public SSH key contains whitespace at the end
JE-16452User’s SSH key, generated with more than 2k bits, is being truncated when stored to the database
JE-16331Absence of stop/start actions in Jetty 8/9 cartridges' logs
JE-16251GetList method for CentOS 6 node returns NullPointerException
JE-16250Enabled debug mode while accessing cartridge container via SSH
JE-16205While IPTABLES redirecting from 80 to 8080 for Neo4J cartridge with enabled firewall, all the packages from resolver are dropped
JE-16106GetEngineList method doesn’t work with ‘all’ parameter
JE-16083Wrong error message while trying to edit/unlink user, that left the collaboration earlier
JE-16076While connecting via SSH gateway, entering a wrong number in menu leads to the quitting from container
JE-16020Incorrect ownership of /var/www/webroot directory for NGINX-Ruby node
JE-16011GetTemplates method doesn’t work with ‘all’ parameter
JE-15981Unable to open configuration manager after switching to the Java 8 version for legacy containers
JE-15544“No context” error after Jetty8 context double renaming
JE-15234GetProject method should be unavailable after substitutional deploy via DeployApp method
JE-15209After file renaming an old name is shown in pop-up save confirmation window
JE-15199After stopping and cloning an environment with Jetty cartridge node it becomes running again
JE-14761Deployment failure for Maven node if auto update interval is less than period of time deployment process lasts
JE-13435Upload status in config manager is not changed after notification about file size excess
JE-12736Wrong behavior while creating a file with the name longer than 256 characters

Back to the top