Virtuozzo Application Platform 5.7.2-5.7.5
This document is preliminary and subject to change.
In this document, you will find all of the new features, enhancements and visible changes included to the PaaS 5.7.2-5.7.5 releases.
GlusterFS Storage with Auto-Clustering (5.7.4)
Implemented new Shared Storage template with the Gluster software support and auto-clustering optionLearn more
Kubernetes Cluster
Added pre-packaged Kubernetes Cluster solution to platform Marketplace for automated installation within the platformLearn more
LiteSpeed Software Stacks
Implemented support of the LiteSpeed Web Server and LiteSpeed Web ADC as a separate stack containersLearn more
LEMP Software Stack
Adopted a popular LEMP software bundle model and implemented as a separate stack containerLearn more
Custom JDK Distributions
Added support of the AdoptOpenJDK, Amazon Corretto, GraalVM CE, Liberica JDK, Zulu Community custom JDK distributionsLearn more
Custom Container Timeouts (5.7.4)
The /etc/jelastic/timeouts.conf configuration file became editable, allowing to adjust timeouts for the container management operationsLearn more
Cloud Scripting Improvements
- added support of the showIf parameter (displays elements upon specific option selection) for all of the fields visual settings
- optimized installation dialog layout, making it more space-efficient
- implemented a new tooltip field type and a same-named property for the other fields in CS
- added forceSelection parameter to restrict the editable list to one of the predefined values
- added a new columns option for the radiolist, radio-fieldset, checkboxlist fields
- Added jps variable to the onBeforeInit and onBeforeInstall events to provide access to all manifest fields (5.7.4)
- added possibility to define targetNodes in a single line (the provided values are considered as nodeType) and to force installation on the environment level with a new none parameter (5.7.5)
- added custom images support for the dockertags field (5.7.5)
Default Stack Versions
Updated algorithm for the default tag determination by considering both minor and major versions of the stackLearn more
UI/UX Improvements
- provided a dedicated icon for the auto-clusters created via the dashboard and the appropriate label for the layer
- adjusted the description of the built-in SSL in the topology wizard (5.7.4)
- removed the “new” label for Auto-Clustering and added the “beta” one for the Shared Storage cluster (5.7.4)
Tasks Duration
The Tasks panel was extended with the additional column for the operation durationLearn more
Ruby Rake Deploy Adjustment (5.7.4)
Running commands from the rake_deploy file from under the “jelastic” user instead of the “root” oneLearn more
Deployment Archives Types (5.7.4)
Extended a list of the supported archives types for the automatic deploymentLearn more
Network Labels for Statistics
Adjusted labels for the Network usage in the Statistics tab for better clarityLearn more
Custom Color for Extra Layer in Topology Wizard (5.7.5)
Added possibility to redefine the background color of the certified stacks in the extra layer of topology wizard in JPS by adding the mission parameterLearn more
API Changes
Listed all the changes to the public platform API in the current releaseLearn more
Software Stack Versions
Actualized list of supported OS templates and software stack versionsLearn more
Dashboard Search Amendment (5.7.4)
Added a domain name to the environment alias in the dashboard search resultsLearn more
Fixes Compatible with Prior Versions
Bug fixes implemented in the current release and integrated to the previous platform versions through the appropriate patchesLearn more
Bug Fixes
List of fixes applied to the platform starting from the current releaseLearn more
GlusterFS Storage with Auto-Clustering (5.7.4)
Starting with the current 5.7.4 platform release, the Shared Storage Container was upgraded to the second (2.0) version. It provides built-in Gluster support with the appropriate version (6.3) represented in the stack name - Shared Storage 2.0-6.3.
The GlusterFS RPM packages are provided by default to support clusterization of the Shared Storage nodes, but are not enabled on the standalone storage container. The former one can be enabled with the Auto-Clustering switcher in the topology wizard. Consider the following specifics:
- auto-clustering requires Shared Storage 2.0 (i.e. created after the platform upgrade) and is not available for the preceding versions; however, you can use redeploy to update your old storage to 2.0 and then turn on Auto-Clustering via the wizard
- Shared Storage auto-clustering requires the latest Virtuozzo 7 virtualization used on the environment region (depends on your hosting provider)
- for existing environments, auto-clustering can be enabled only in case the storage node is not scaled yet; herewith, the data is replicated to all new containers
- storage auto-cluster requires 2 or more nodes and cannot be disabled after creation
During creation, the GlusterFS volume is mounted into the /data folder and is accessible over NFSv4 protocol. Consequently, when mounting from/to your storage cluster, it is managed as a single component (i.e. not a collection of separate storage containers). In case of failure of one or several nodes, the AutoFS client automatically switches to the working instances, which ensures HA for your storage.
Additionally, within the dashboard, a dedicated icon and label are provided for your storage auto-cluster.
Kubernetes Cluster
Kubernetes is a portable, extensible, open-source platform for managing containerized workload and services, that facilitates both declarative configuration and automation. It correlates greatly with the platform, allowing to set up applications based on the Kubernetes system directly inside the platform.
Herewith, configuring a Kubernetes system by yourself can be quite a tricky and time-consuming process, so the platform has automated all the required steps in the appropriate Kubernetes Cluster package. Being available via the Marketplace, the solution can be installed on any platform of 5.4 and higher version in one-click.
Based on your particular needs, you can customize the following options within the installation frame:
- choose the pre-deployed application
- Clean cluster with pre-deployed HelloWorld example
- Deploy custom helm or stack via shell command - an additional field for your custom code will appear upon selection
- select the preferred topology structure
- Development: one master (1) and one scalable worker (1+)
- Production: multi master (3) with API balancers (2+) and scalable workers (2+)
- enable additional options via appropriate checkboxes
- Attach dedicated NFS Storage with dynamic volume provisioning - adds a Shared Storage into the topology, to use its functionality to serve Kubernetes POD storage requests
- Enable Remote API Access - allows Kubernetes cluster management via API
- define basic options like Environment and Display Name (alias), Region (if available)
Click Install after declaring the preferred topology, and the platform will configure everything automatically.
LiteSpeed Software Stacks
LiteSpeed is a software solution, which offers both advanced performance, latest technologies implementation, and security to suit the most demanding developers. Starting with the current 5.7.2 PaaS release, platform provides integration with the following products:
- LiteSpeed Web ADC (load balancer) - a load balancing solution, which not only distribute traffic, but also to make your web server faster due to HTTP/2 & QUIC integration, ESI caching, etc
- LiteSpeed Web Server (PHP application server) - a lightweight server, which conserves resources without sacrificing performance, security, compatibility, or convenience
The availability of these software stacks depends on your hosting provider settings (requires a commercial license being purchased) and can be unavailable on your particular platform. Also, if working with the LiteSpeed stacks, you will be charged an additional fee for the above-mentioned license usage. Refer to your hosting provider pricing page for the precise details.
LEMP Software Stack
LEMP is an acronym for a software bundle solution based on the following components: Linux operating system, NGINX HTTP web server, MariaDB database, and PHP programming language. This model is a popular choice among developers as it is sufficient to host a wide variety of website frameworks, e.g. WordPress.
During the PaaS 5.7.2 development, the appropriate LEMP server was configured and packed into a certified software stack available for installation via the topology wizard. It combines all the above-mentioned components in a single container, making it simultaneously powerful, convenient, and cost-efficient solution. Herewith, the LEMP stack is available on all PaaS installations starting with the current 5.7.2 release.
The platform implementation of the server provides the following specifics:
- MariaDB 10 is used instead of the standard MySQL option
- access to phpMyAdmin can be restricted via the PHPMYADMIN_ENABLED variable
- an additional Redis 5 database service is launched by default
- Redis databases is accessible without a password but only from within the container (i.e. localhost)
- memory distribution between services inside the container can be adjusted up to your needs via the appropriate CP_MEM_LIMIT (NGINX), CACHE_MEM_LIMIT (Redis), DB_MEM_LIMIT (MariaDB) variables:
- the default values are 50%, 10%, and 40% respectively
- you can specify units of the provided values: megabytes (m|mb|M|MB), gigabytes (g|gb|G|GB), or percentages (%)
- if units are omitted, the values are considered as percentages by default
Custom JDK Distributions
In the current 5.7.2 platform release, PaaS integrates several of the most popular JDK distributions. Such custom Java engines are based on the official OpenJDK source code with some vendor-specific customization. All of the adopted distributions are certified by the Java Community Process, which verifies these engines are “Java SE compatible” (i.e. meet the Java standards) with the Technology Compatibility Kit.
For now, in addition to the already supported Oracle JDK Dev, Oracle OpenJDK, and Eclipse OpenJ9, the following custom JDK engines are adopted by the platform:
- AdoptOpenJDK
- Amazon Corretto
- GraalVM CE (currently, for Java Engine and Maven only)
- Liberica JDK
- Zulu Community
These new distributions are integrated for the Tomcat, TomEE, Java Engine, Jetty, Spring Boot, and Maven Java stacks.
Default Stack Versions
When any software stack is selected within the topology wizard, the platform provides its latest release and, for application servers, engine version by default. Such recommendation helps to ensure that all features are available and the most recent vulnerability fixes are applied. In the current 5.7.2 upgrade, an algorithm for the above-described behavior was improved to detect the newest major release of the stack (previously, switched to the latest minor version of the same major one).
Dashboard Search Amendment (5.7.4)
The dashboard search for environments is performed via name (domain) and alias, so starting with the PaaS 5.7.4 release, the search results in the appropriate Environments section are provided with both these values. Compared with the initial implementation of just an alias being displayed, the current one helps to avoid confusion in some cases (e.g. when several environments are provided with the same aliases).
UI/UX Improvements
Auto-Clusters Designation
The platform provides an out-of-box automatic clusterization option for some of the managed stacks. In the 5.7.2 platform upgrade, a dedicated icon was designed to highlight the use of such solutions within the dashboard. Also, for better designation, the auto-clustering label was added to the Tags column next to the appropriate layer.
Back to the list of UI/UX Improvements
Built-In SSL Description (5.7.4)
The built-in SSL option allows securing your environment with the enterprise-level data encryption as easily as switching a toggle. If enabled, the platform automatically configures a wildcard SSL certificate on the Shared Load Balancers (SLB).
Herewith, to highlight the incompatibility of such implementation with direct access provided by public IP, the appropriate denotation was added to the description in the topology wizard. It will help to avoid misconfigurations when establishing a secure connection to the application.
Back to the list of UI/UX Improvements
Auto-Clustering Labels (5.7.4)
In the current 5.7.4 PaaS release, the “new” label for the auto-clustering option in the topology wizard was removed for all of the supported stacks by default. Herewith, for the newly implemented clusterization of the Shared Storage container, a “beta” label was added.
Back to the list of UI/UX Improvements
Tasks Duration
The Tasks panel provides information on the activity within the account. It tracks the on-going actions and stores the log of them afterward (with the appropriate task’s Name, Date and resulting Status details). For now, this data was extended with an additional column, which shows the Duration of each performed operation.
Custom Container Timeouts (5.7.4)
All of the platform-managed containers are provided with the /etc/jelastic/timeouts.conf file, which defines timeouts for various management operations on that particular container. The values provided by default are optimal for most solutions. However, to support specific cases (e.g. large Git projects, deployment hooks with a slow script, etc.), some adjustments may be required.
Starting with the 5.7.4 platform upgrade, the /etc/jelastic/timeouts.conf configuration file became editable, allowing to adjust timeouts for the specific needs (if required). Such a change ensures greater flexibility when managing projects at the platform.
Ruby Rake Deploy Adjustment (5.7.4)
Rake is a software task management and builds automation tool for Ruby used by the platform. It automatically performs commands from the rake_deploy file (located in the root folder of the project) after the Apache/NGINX server restart. Starting with the current 5.7.4 platform release, the commands from rake_deploy will be run from under the jelastic user instead of the root one. Such an adjustment provides better compatibility with projects as it is the default user for all of the Ruby containers.
Deployment Archives Types (5.7.4)
Archive deployment is a quick and simple option to install your application in the platform. The provided package (either as local file or via URL) is automatically processed by the platform, making your application available for usage without any manual steps required. A support for the following archive types was added in the PaaS 5.7.4: gzip (.gz, .tgz, .taz), compress (.Z, .taZ), bzip2 (.bz2, .tz2, .tbz, .tbz2), lzip (.lz), lzma (.lzma, .tlz), lzop (.lzo), xz (.xz), zstd (.zst, .tzst).
Network Labels for Statistics
In the 5.7.2 PaaS release, the labels for the Network usage in Statistics section were updated to explicitly indicate that resource usage is monitored in bytes and not bits. Namely, the previously used denominations (Gb, Mb, etc.) were replaced with the appropriate new ones (GB, MB, etc.). The same changes were applied to the tooltip, where additionally, the Out. ext. limit was adjusted to show the limit in the Mbps units.
Custom Color for Extra Layer in Topology Wizard (5.7.5)
The platform provides a convenient and intuitive color legend for the certified containers based on the nodeGroup parameter. It helps to determine the role of each stack visually:
- Load Balancers ("bl") are green
- Application Servers ("cp" - compute nodes) are blue
- Databases and cache nodes ("cache", “sqldb”, “nosqldb") are orange
- VPS, build, and storage nodes ("vds”, “build”, “storage") are gray
Herewith, all the custom images are added to the extra layers and are gray by default. Starting with the 5.7.5 platform upgrade, it is possible to manually redefine a color for such custom nodes by adding the mission parameter for layer in your JPS. Use the highlighted shortcuts from the list above as a value to set the required color.
API Changes
Below, you can find a list of all changes to the public API in the 5.7.2-5.7.5 platform versions (compared to the preceding 5.7 one). In the 5.7.4 platform version:
- the group ID parameter was added to the response of the Environment.GetGroups method
- the access level of the Scheduler.RemoveTask method was changed from public to private
Fixes Compatible with Prior Versions
PaaS 5.7.2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
PaaS 5.7.4 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
PaaS 5.7.5 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Software Stack Versions
Check out the list of the most accurate software stacks for the current platform version:
Stack | PaaS 5.7.2-5.7.5 |
---|---|
Apache Balancer | 2.4.37 |
Apache PHP | 2.4.37 |
Apache Python | 2.4.37 |
Apache Ruby | 2.4.37 |
CentOS (VPS) | 7.6 |
Couchbase CE | 5.1.1; 6.0.0 |
Debian (VPS) | 9.8 |
Docker Engine CE | 17.12; 18.09.7; 19.03.1 |
GlassFish | 3.1.2.2; 4.1.2; 5.1.0 |
Golang | 1.12.6 |
HAProxy | 1.9.7; 2.0 |
IIS | 8 |
Jetty | 9.4.12 |
Kubernetes | 1.15.0 |
LiteSpeed Web ADC | 2.4 |
LiteSpeed Web Server | 5.3.8 |
MariaDB | 5.5.64; 10.4.6 |
Maven | 3.6.1 |
Memcached | 1.5.16 |
MongoDB | 2.6.12; 3.6.13; 4.0.10 |
MSSQL | 2012 |
MySQL CE | 5.7.26; 8.0.16 |
NGINX Balancer | 1.16.0 |
NGINX PHP | 1.14.2 |
NGINX Ruby | 1.14.2 |
NodeJS | 6.17.1; 8.16.0; 9.11.2; 10.16.0; 11.15.0; 12.4.0 |
Payara | 4.1.2.181; 5.184 |
Percona | 5.6.6.44; 5.7.26 |
PostgreSQL | 9.6.14; 10.9; 11.4 |
ProxySQL | 1.4.13 |
Redis | 4.0.11; 5.0.5 |
Shared Storage | 2.0-6.3 |
Spring Boot | 2 |
Tomcat | 7.0.94; 8.5.43; 9.0.22 |
TomEE | 7.1.0 |
Ubuntu (VPS) | 16.04; 18.04 |
Varnish | 4.1.8; 5.2.1; 6.2.0 |
WildFly | 10.1.0; 11.0.0; 12.0.0; 13.0.0; 14.0.1; 15.0.1; 16.0.0; 17.0.1 |
Windows (VPS) | 2012 |
Engine | # |
---|---|
AdoptOpenJDK | 8.0_212; 9.0.4; 10.0.2; 11.0.3; 12.0.1 |
Amazon Corretto | 8.212.04.2; 11.0.3.7.1 |
Eclipse OpenJ9 | 0.9.0-9.0.4.12; 0.9.0-10.0.2; 0.11.0-8u192-b12; 0.11.0-11.0.1 |
GraalVM CE | 19.0.0 |
Liberica JDK | 8.0_212; 11.0.3; 12.0.1 |
Oracle JDK Dev | 7.0_79; 8.0_202; 9.0.4; 10.0.2; 11.0.2 |
Oracle OpenJDK | 7.0_211; 8.0_212; 10.0.2; 11.0.2; 12.0.1; 13.ea-b26 |
Zulu Community | 8.0_212; 11.0.3; 12.0.1 |
PHP 5 | 5.3.29; 5.4.45; 5.5.38; 5.6.40 |
PHP 7 | 7.0.33; 7.1.30; 7.2.19; 7.3.6 |
Ruby | 2.3.8; 2.4.6; 2.5.5; 2.6.3 |
Python 2 | 2.7.16 |
Python 3 | 3.4.10; 3.5.7; 3.6.9; 3.7.4 |
Node.js | 6.17.1; 8.16.0; 9.11.2; 10.16.0; 11.15.0; 12.4.0 |
.NET | 4 |
Go | 1.12.6 |
Bug Fixes
In the table below, you can see the list of bug fixes applied to the platform starting from PaaS 5.7.2-5.7.5 releases:
PaaS 5.7.2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
PaaS 5.7.3 | |||||
---|---|---|---|---|---|
|
PaaS 5.7.4 | |||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
PaaS 5.7.5 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|