Virtuozzo Application Platform 5.9.3
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.9.3 release.
LiteSpeed License Plans
Implemented support of multiple LiteSpeed license plans and the corresponding management add-onLearn more
Password Reset Enhancement
A new secure flow to recover account passwordLearn more
Simultaneous Installation for Multiple Auto-Clusters
Added support of multiple auto-clusters installation in parallelLearn more
Batch Mode for Mount Operations
Implemented batch mode for the NFS mount/unmount operations to speed up operationsLearn more
Iptables for Bridge Interfaces in Containers
Added kernel flag to allow packets to be checked by the iptables rules when going through the bridge interfacesLearn more
Cloud Scripting Improvements
Integrated engine improvements to boost performance and added new functionality to enhance the user experienceLearn more
UI Improvements
- relocated region icons for better clarity and support for the environment with prolonged names
- redesigned/reviewed error pages, and added new pages for specific issues
- added info about specifics of the default ports traffic proxying
- created a new Collaboration section in the Marketplace
Container Stop Operation Optimization
Refactored code to speed up the container stop operation operationLearn 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
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
LiteSpeed License Plans
LiteSpeed is a popular, high performance and low memory consumption PHP web server and load balancer. It is commercial software that requires developers to purchase a license for usage (or try out with a free starter plan). Herewith, the platform seamlessly integrates the cost of a license in accordance with the platform-distinctive Pay-per-Use principles and charges hourly a fraction of the total license cost. Such a structure allows you to opt-out of the deal or switch plans at any moment without any funds loss.
In the current 5.9.3 release, support of multiple new licenses was provided to give full control over the LiteSpeed instance. For this purpose, all of the LiteSpeed containers (including LLSMP) are provided with the License Manager add-on.
Add-on allows configuring license based on the following parameters:
- Workers - choose the number of workers, which indicates how many processes will be spawned to do general server work
- Domains - select the domains' limit (only refers to top-level domains), any domain that exceeds the specified limit will result in a 403 error
- LiteMage - enable or disable the LiteMage Cache (fast, full page caching solution that caches dynamic pages as static files). If activated, an additional Options field will appear allowing to choose between the Starter, Standard, and Unlimited plans (1500, 25000, and unlimited publicly cached objects respectively)
At the bottom of the frame, you can see the cost of the current configuration. Click Apply to confirm changes and adjust your environment.
Password Reset Enhancement
A new password reset flow was implemented in the platform 5.9.3 release. For now, after clicking on the Reset Password button and providing your email address, the platform will send you a confirmation email. The message has a button that redirects you (link automatically expires after three days) to the form where you can provide a new password. Additional information on the password change and reset can be found in the documentation.
UI Improvements
Environment Region Icons
As the number of service hosting providers that support multiple regions increases, the feature gets more comprehensive feedback, allowing to improve it even further. In the current 5.9.3 PaaS release, the region icon was relocated from the environment Name column to the Tags one. Such a change serves two purposes:
- additional space within the Name column improves UX when working with prolonged environment names and aliases
- region icon works as a label that helps to group environments, so it is rational to locate it among other tags
Also, clicking on the region icon now automatically filters an environment list by that particular region.
Back to the list of UI Improvements
Error Pages Redesign
The design of the platform default error pages was updated in the PaaS 5.9.3 release to match the latest corporate styles. Two new pages were created to help handle the 504 Gateway Timeout and 503 SSL Disabled Environment issues. The existing pages were also thoroughly reviewed to clarify the cause of each particular problem - the error description and recommended resolution steps were updated.
Back to the list of UI Improvements
Default Ports Proxying
The platform provides several ports that are open by default on all containers. These ports proxy traffic according to the following rules:
- 80, 8080, 8686 - proxies HTTP traffic to HTTP (80 port)
- 4848, 8443, 4901-4910 - proxies SSL (HTTPS) traffic to SSL
- 443 - proxies SSL traffic is proxied to HTTP (80 port)
- 4949, 7979 - proxies SSL traffic to HTTP
In order to highlight that proxying rules are not the same for all ports, the appropriate information was added to the dashboard with the link to the corresponding documentation page.
Back to the list of UI Improvements
Collaboration Marketplace Section
Due to the global pandemic situation, the collaboration applications have become increasingly popular. Such specialized tools can significantly reduce the negative effect of remote cooperation and hasten the establishment of a familiar workflow. Several applications within platform Marketplace can help to keep people connected. In this 5.9.3 platform release, dedicated solutions were moved to a new Collaboration category. Currently, it includes three applications:
- Rocket.Chat
- Jitsi Video Conferencing
- Mattermost Chat Service
Back to the list of UI Improvements
Simultaneous Installation for Multiple Auto-Clusters
The logic for creating environments that contain several auto-clusters was improved to perform the relevant tasks in parallel. The enhancement also affects the packages installed via the ON_ENV_INSTALL variable (if several ones are provided). The exact speed boost depends on the particular topology and complexity of the installed auto-clusters/packages. For example, the WordPress Cluster solution from the Marketplace can be created approximately five minutes faster than it was in the previous PaaS releases.
Batch Mode for Mount Operations
The platform always strives to achieve maximum performance and regularly refactors code to implement new solutions and apply optimizations. In the current release, a batch mode was implemented for the NFS mount/unmount operations. It allows performing actions in parallel, which provides a decent performance boost compared to the previous sequential mode. The batch mode is especially beneficial when a lot of simultaneous operations are requested (e.g. when working with the cluster solutions).
Iptables for Bridge Interfaces in Containers
In the latest Linux kernel versions, new flags were added to either allow or forbid packets to be checked by the iptables rules when going through the bridge interfaces. Such functionality is critical for some solutions (for example, for the portainer GUI in the Docker Swarm package). The appropriate flags are automatically enabled in all platform containers to ensure the dependent services' operability (including platforms with versions preceding the 5.9.3).
Container Stop Operation Optimization
In the current 5.9.3 platform upgrade, the container stop action code was refactored and optimized, resulting in the notable speed up of the operation. The change ensures that container/service stop action is performed quickly and without delays, improving the user experience and general appeal of the platform.
Cloud Scripting Improvements
Cloud Scripting is a programming language developed by the platform for application packaging, operation automation, and complex CI/CD flows integration. The following amendments were implemented for Cloud Scripting in the 5.9.3 platform release:
- Rhino JavaScript engine was updated to the latest version, resulting in a performance boost when working with the Cloud Scripting actions (e.g. JPS packages are created up to 40% faster).
- The onBeforeInstall event was modified and now can be used with the add-ons (i.e. installations with type: update).
- Added a new permanent parameter for add-ons. If set as true, add-ons removal will be forbidden. The Uninstall button will be hidden on UI, and the 11043 error code will be returned via API.
- The force flag was implemented for the UninstallApp method. It is required to delete “permanent” add-ons and to force removal if the regular operation fails due to some error.
- Implemented the auto parameter (${event.params.auto}), which is added for the automatic horizontal scaling operations to distinguish them from the manual scaling.
- Automated the cloudlets' and nodes' count values provisioning for the cases when the appropriate parameters were not defined explicitly. The algorithm takes into consideration account quotas, software requirements (e.g. for auto-clusters), and current values (for existing environments).
- Objects within the placeholders are serialized to JSON strings by default (i.e. without the toJSON() function).
- Implemented support of the settings placeholder for the extraNodes and recommended fields when configuring auto-cluster via JPS package. It allows passing the required settings from UI forms during the environment creation.
- The maximum allowed length for the text returned by the CS packages was enlarged to 16 MB.
API Changes
In the present 5.9.3 PaaS release, the API documentation was migrated to the new modern engine, which allows automating a version control process. New API docs are automatically generated as soon as the new platform release is prepared. The engine also helps to implement numerous optimization (e.g. improved links structure) and clarification (e.g. response deserialization) of the displayed information. If needed, it is possible to switch platform versions (via the drop-down list at the top of the website) to view API for that particular release.
Below, you can find a list of all changes to the public API in the 5.9.3 platform version (compared to the preceding 5.8.2 ones):
- added a new force optional parameter for the Uninstall method from the jps service
- removed the GetHdNodeStat method from the cluster service
Fixes Compatible with Prior Versions
Below, you can find the fixes that were implemented in the PaaS 5.9.3 release and also integrated into previous platform versions by means of the appropriate patches.
PaaS 5.9.3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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. Herewith, 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 5.9.3 release:
PaaS 5.9.3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|