Virtuozzo Application Platform 6.1
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 6.1 release.
Topology Wizard Improvements
Implemented a new flexible topology structure with the possibility to search for the required stacksLearn more
GlusterFS Native Client for Storage Cluster
Provided support for the Gluster Native Client for distributed shared (cloud) storageLearn more
JEM Commands Validation
Implemented error response for cases when incorrect JEM module or action is requestedLearn more
Custom Domains Tab Improvements
Reviewed texts and UI forms for the custom domain binding and swap domains functionality in the dashboardLearn more
Apache PHP Redeployment Amendments
Optimized redeployment process for the Apache PHP templateLearn more
Default File Permissions Adjustments
Adjusted default file permissions for containers after an environment creationLearn more
Keytool Utility for Java Containers
Allowed usage of the keytool utility with the sudo rights on the Java-based containersLearn more
OnBeforeInit CS Event Improvements
Configured placeholders support and new trigger condition for the onBeforeInit event in Cloud ScriptingLearn more
VCS Deployment Errors Clarification
Improved description for the VCS Deployment errors to clarify the root cause of the issue and provide pointers for further troubleshootingLearn more
Software Stack Versions
Actualized list of supported OS templates and software stack versionsLearn more
Debian 8 End-of-Life
Ceased support of the images based on the Debian 8 OSLearn more
Fixes Compatible with Prior Versions
Bug fixes implemented in the current release and integrated into the previous platform versions through the appropriate patchesLearn more
Bug Fixes
List of fixes applied to the platform starting from the current releaseLearn more
Topology Wizard Improvements
A major overhaul of the topology builder for the environment wizard was performed in the current 6.1 PaaS release. The main change is the implementation of the ability to search for the required software stack and add it to any layer. The standard approach recommends the following topology structure from top to bottom:
- load balancers (green blocks)
- application servers (blue)
- databases (orange)
- extra (gray)
With the new change, the configuration of the custom topologies is significantly simplified. For example, you can easily add Kubernetes nodes into the application servers section in the middle of the wizard.
Usually, when selecting a stack for a block (layer) in the topology wizard, users are provided with a list of recommended software for the specific role according to the block position. For now, a new “More…” option is added to the stack selection drop-down list to choose a template from any role. For example, you can easily add a database into the central block, which is commonly reserved for application servers.
In order to help locate the required stack quicker, the Search field can be accessed by clicking on the current stack name at the top of the list. Start typing to see the relevant results grouped by their role. Additionally, the search option was added for the engine/version field in the central part of the wizard when a particular stack is already selected.
Other adjustments of the topology wizard include:
- renamed the Docker tab to Custom (since different container types are available - Kubernetes, Docker Native, etc.), adjusted the corresponding icon and descriptions of the available options
- added the default Storage block to the .NET tab
- implemented tags search when working with custom containers based on the Docker images in topology wizard and during container redeploy
GlusterFS Native Client for Storage Cluster
Starting with the 6.1 platform release, Shared Storage Cluster provides support of the Gluster Native Client for distributed shared (cloud) storage. Such a change allows connecting clients over the FUSE interface (in addition to the standard NFS).
Compared to the NFS protocol, GlusterFS offers greater reliability. It operates with multiple servers and is recommended for cases that require high concurrency, high performance of the write operations, and failover recovery upon emergencies.
Currently, only the Shared Storage Cluster can export data using GlusterFS (i.e. as a Gluster Native server). At the same time, any node (except alpine-based containers) can operate as a client and mount data via the GlusterFS protocol.
When selecting a protocol, as a general rule, you choose NFS for better performance and Gluster Native for reliability:
- NFS - straightforward file system protocol, designed for accelerated processing and high performance
- Gluster Native (FUSE) - reliable file system protocol with automatic replication of the mounted data, designed for data backup and failover (requires less CPU/disk than NFS)
You can learn more about the architecture implementation of GlusterFS from the official documentation.
Custom Domains Tab Improvements
The platform provides a Domain Binding option that allows configuring custom domains for environments that are accessed via Shared Load Balancer (i.e. without public IP). The process is simple - you just need to create the appropriate CNAME or ANAME record for your domain and bind it to the environment via the platform dashboard.
In order to clarify the process to users, the appropriate specifics and detailed steps were added to the Custom Domains tab. For further convenience, the exact environment domain that should be used for CNAME or ANAME records was placed in a separate field with a quick copy button. Another UI adjustment is that the form explicitly denotes if the current environment does not have any bound domains.
Additionally, the Swap Domains section was provided with a list of bound domains. As a result, you can view the list of the current and target environment domains (in the Domain Binding and Swap Domains subsections, respectively).
Apache PHP Redeployment Amendments
Some adjustments were applied to the backups created via the redeploy functionality on the Apache PHP stacks. In addition to the latest backup ({file_name}.backup), the platform will create and keep a copy of the required config files for every redeployment to a different tag ({file_name}.{time_stamp}). Such an improvement allows you to track the changes better, simplifying analysis and rollback in case of necessity.
Also, when redeploying to the same tag, the platform won’t overwrite the existing php.ini file.
Default File Permissions Adjustments
Starting with the PaaS 6.1 release, file permissions for containers after an environment creation are adjusted to match the default values required for some of the most popular applications. For example, such a change ensures that cPanel can be deployed without additional configurations.
Keytool Utility for Java Containers
In order to allow a straightforward use of the Java keytool utility, a small adjustment was made to the Java-based containers. Namely, the application was added to the sudoers file, which allows using keytool with the sudo rights and adjusting the container’s keystore even if it belongs to the root user.
JEM Commands Validation
JEM (Jelastic Environment Manager) is a platform component responsible for all operations with containers. It supports a list of commands that users can call to perform specific actions on the containers (e.g. jem service restart). In order to improve user experience with the module, error notification was added for the cases when an incorrect module or action is specified for the jem command.
OnBeforeInit CS Event Improvements
OnBeforeInit is a Cloud Scripting event that is triggered before application installation. It is usually used to dynamically configure the installation form based on some specifics (e.g. account quotas). In the current 6.1 PaaS upgrade, the onBeforeInit event was improved to support placeholders, allowing validation of the collaborator account’s permissions. Such a change ensures that the JPS installation frame can be correctly customized when installing as a collaborator.
Additionally, a new trigger condition was added for the onBeforeInit event. For now, it is possible to implement some custom initialization actions upon clicking a custom button.
Debian 8 End-of-Life
Debian 8 “Jessie” software stack LTS support has officially ended. It will no longer get any updates and security fixes. In the current PaaS 6.1 release, this version was removed from the list of supported OS templates to ensure that users operate with reliable and secure stacks only. The platform restricts the creation of new Debian 8 containers, but all existing ones remain fully operable. However, we strongly recommend updating such instances to the 9th or 10th release versions via built-in redeploy functionality.
VCS Deployment Errors Clarification
In the current 6.1 platform version, error notifications for the failed VCS deployment operations were reviewed and adjusted to clarify the root cause of the issue or provide pointers for further troubleshooting. The new texts are aimed to help developers quicker resolve any problems related to the deployments from Git/SVN repositories.
Fixes Compatible with Prior Versions
Below, you can find the fixes that were implemented in the PaaS 6.1 release and also integrated into previous platform versions by means of the appropriate patches.
PaaS 6.1 | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Software Stack Versions
The software stack provisioning process is independent of the platform release, which allows new software solutions to be delivered as soon as they are ready. However, due to the necessity to adapt and test new stack versions, there is a small delay between software release by its respective upstream maintainer and integration into the platform.
The most accurate and up-to-date list of the certified software stack versions can be found on the dedicated documentation page.
Bug Fixes
In the table below, you can see the list of bug fixes applied to the platform starting from PaaS 6.1 release:
PaaS 6.1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|