Virtuozzo Application Platform 4.9 / 4.9.2

This document is preliminary and subject to change.

In this document, you will find all of the new enhancements and visible changes included in the PaaS & CaaS 4.9 and 4.9.1-2 releases:

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

Improvements

Auto Horizontal Scaling for Docker (4.9) & All Certified Containers (4.9.1)
Delay for Multiple Containers Restart & Deploy
Horizontal Scaling Support for Storage Container
Limited Availability of Built-in SSL & Domain Binding Options
API Improvements
Software Stack Versions

Back to the top

Auto Horizontal Scaling for Docker (4.9) & All Certified Containers (4.9.1)

Since Docker containers allow to handle almost any service inside, commonly it’s rather hard to automatically predict which node type a particular instance belongs to (i.e. whether it’s application server, DB, cache or storage server, etc.). In such a way, it’s a user who defines a particular environment topology and decides which environment layer a container should be placed to.

Thus, in order to integrate the platform automatic horizontal scaling functionality support for Docker-based instances (previously available only for nodes in application server environment layer), the whole Auto Horizontal Scaling section was rebuilt. Now it allows to manually choose a particular node group, where automatic scaling should be applied. This can be done within the appropriate drop-down list in the top-left tools panel corner. Obviously, this list can be used only for Docker-based environments, as such selection has no point for the platform native containers, where compute node is always placed within the application server layer.

Beside that, some other amendments were implemented - now, upon switching to the* Auto Horizontal Scaling* section, you will see a table with all scaling triggers that have been applied to the environment. It provides information on the appropriate *Nodes* and layers names, with *Scaling in* (to remove nodes) and *Scaling out* (to add nodes) conditions you’ve specified. And the **Add**, **Edit**, **Remove** and **Refresh** buttons above this list allow to easily manage it.

Note: Each new Docker container, added to a layer upon the appropriate trigger execution (i.e. due to increased load), will be created from scratch (i.e. not being cloned from the existing one).

Starting with PaaS 4.9.1 release, automatic horizontal scaling can be applied to any environment layer, i.e. for all node types including the platform certified containers (previously, this was allowed for application server layer only).

Herewith, upon scaling out, new containers are created in the same way as during manual adjustment - i.e. for compute, load balancer and VPS environment layers each newly added instance will be cloned from the master one, and for the rest node types - created from scratch. More info

Delay for Multiple Containers Restart & Deploy

When scaling server out within environment, you automatically gain the advanced availability for your application or service, handled inside it. This is ensured with the sequential restart & deploy mechanism. It’s key point is to run the called process at nodes sequentially (i.e. one-by-one), so that when one container is undergoing the maintenance, the rest ones will remain accessible and operable. Such approach allows to perform various operations like container restart, application deployment (via both plain archive and VCS repo), Docker container update and changing cloudlets amount without the whole service downtime.

However, in some cases, your server instances may require some additional time to restore the full operability (for example, in order to sync sessions after restart). Thus, within the 4.9 PaaS version, this mechanism was supplemented with a special delay option, that allows to set a particular time frame between running consecutive operations at containers of a single layer. In such a way, the appropriate procedure on each next node will be initiated only when the stated delay has passed after the same operation completion at the previous instance. The default value of such delay is 30 seconds, but, if needed, it can be enlarged up to 5 minutes.

Horizontal Scaling Support for Storage Container

In confines of PaaS 4.9 release, the horizontal scaling feature availability was implemented for the Dedicated Storage Container node type. So from now, you are able to handle various development scenarios that require several separate storage nodes. This allows to run some specific applications and/or achieve data redundancy.

Storage containers number can be changed through the environment wizard central pane, just as for the rest of the platform nodes. Herewith, each Storage container, added during this operation, is created from scratch (so it won’t include any copied data from the already existing nodes). This ensures that you won’t pay for the unrequired disk space consumption and allows to compose the exact data structure you need. In case of opposite operation (i.e when decreasing the nodes number), the last created container will be removed from the layer. So before performing this, please ensure it does not contain any substantial data.

More info

Limited Availability of Built-In SSL & Domain Binding Options

Starting with the current platform upgrade, the Built-In SSL (for establishing secure connection to environment with no external domain) and Custom Domain options (for domain binding and swap functionality) will be provided only for billing users by default. So, you need to upgrade your account for being granted the corresponding permissions. Herewith, hosting service providers got the ability to control availability of this functionality on their own.

Note: This innovation does not refer to the Custom SSL availability.

API Improvements

Review & Update of Method Descriptions
“Get” Methods for Docker Volumes
GetStats Output Clarification

Review & Update of Method Descriptions

In order to improve platform API usage experience, within 4.9 PaaS release each API method was thoroughly rechecked for proper naming and presence of detailed description on what it actually performs.

Particularly, methods with “docker” string in denomination were renamed to use the “container” label instead. Also, all method overviews were rechecked and updated to fix minor inaccuracies and provide clear and comprehensive descriptions. Similarly, the detailed explanations were added for all of the comprised data objects.

More info

“Get” Methods for Docker Volumes

To ensure comfortable interaction with Docker containers via platform API, a pair of new dedicated API methods were added. To be more specific, they are aimed to retrieve information on mounted Docker volumes:

  • GetContainerVolumesById - returns the list of all Docker volumes for the specified container
  • GetContainerVolumesByGroup - outputs the same data for master (i.e. initially created) node of a particular environment layer

Integration of such methods allows to easily get specific volumes information, without the necessity to examine the overall environment response (i.e. data received with the GetEnvInfo call).

More info

GetStats Output Clarification

The platform GetSumStat and GetStats API methods are commonly used to retrieve statistics on average resources consumption by a particular environment during the specified period.

To make response on this methods' call easier for perception, a new cloudletsUsed parameter was added to their output. Herewith, it represent equivalent to the already used chanksUsed one (which will be still included to response for compatibility reasons), but can be easier identified by name.

Software Stack Versions

The component templates versions have been updated to their latest versions since the previous release:

StackPaaS 4.9/4.9.1-2
Tomcat 66.0.44
Tomcat 77.0.70
TomEE7.0.0
Jetty 66.1.26
GlassFish 33.1.2.2
Java 61.6.0_45
Java 71.7.0_79
Java 81.8.0_102
MariaDB5.5.51 / 10.1.16
MongoDB 2.62.6.11
MongoDB 3.03.2.1
MySQL5.6.32 / 5.7.14
PostgreSQL9.5.4
CouchDB1.6.1
nginx1.10.1
Maven3.3.9
Centos 77.2
Memcached1.4.24
Apache2.4.6-40
NGINX PHP1.10.1
NGINX Ruby1.10.1
PHP 5.35.3.29
PHP 5.45.4.45
PHP 5.55.5.38
PHP 5.65.6.25
PHP 77.0.10
Ruby 1.9.31.9.3-p551
Ruby 2.0.02.0.0-p643
Ruby 2.12.1.9
Ruby 2.22.2.5
Ruby 2.32.3.1
Python 2.72.7.12
Python 3.33.3.6
Python 3.43.4.5
Python 3.53.5.2
Node.js0.10.46 / 0.12.15
Node.js 44.26 / 4.3.0 / 4.5.0
Node.js 55.1.1 / 5.6.0
Node.js 66.5.0

Back to the list of Improvements

Bug Fixes

In the tables below, you can see the list of bug fixes in PaaS 4.9/4.9.1-2:

PaaS 4.9
#Description
JE-27119Incorrect display of autocompleted user/password fields for reinstalled FTP Users add-on
JE-27369Environments with identical aliases can’t be chosen as Traffic Distributor endpoints
JE-27866Inability to clear Search field within File manager and Import > JSON editor
JE-28132Unhandled error for file uploading via FTP if specified link does not contain proper FTP credentials
JE-28305Incorrect display of some elements within the Quotas and Pricing dashboard window
JE-28306Improper border color for the Phone combo-box within the account Upgrade frame
JE-28323During file uploading via Configuration Manager, the Processing… label appears before the same-named file override has been confirmed
JE-28378The main Memcached container service can be stopped by OOM killer if the allocated RAM amount is set <= 128 MiB
PaaS 4.9.1
#Description
JE-28924Incorrect Docker nodes linking, if the /etc/host file contains lines with 2 or more spaces
JE-29071Admin panel is inaccessible for the GlassFish 3 node with Java 6 engine enabled
JE-29114Unhandled error while adding endpoint to VPS with Public IP only
PaaS 4.9.2
#Description
JE-29414After cloning, the newly created environment may contain nodes that were previously removed from the source environment

Back to the top