Virtuozzo Application Platform 1.9.3
- Note: More info due to each feature will be added in the nearest future.
In this document you can find all the new features, enhancements and visible changes included in the PaaS 1.9.3 release:
For detailed information on using any of the platform features, please refer to the users' documentation.
Features and Improvements
- Scalability and Performance Improvements
- Database Improvements
- HTTP Transport Error
- Billing Improvements
- Site Redesign
- Saving Config Edits Automatically
- Hosting Provider Resolution for Mobile Application
- Software Stack Versions
A. Scalability and Performance Improvements
Platform GC Agent
Garbage collection (GC) is a form of automatic memory management. The garbage collector attempts to reclaim garbage, or memory occupied by objects that are no longer in use by the program. As a result, you can reduce your costs by not paying for unused resources.
In order to release reserved memory, but at the same time unused RAM by JVM to OS, the platform uses a special Garbage Collector agent.
Platform GC agent is enabled for all newly created Java application servers.
It works only for two kinds of Garbage Collection:
-XX:+UseParNewGC (if -Xmx < 8000m) -XX:+UseG1GC (if -Xmx >= 8000m)These parameters can be customized but if you specify any other GC manually, then calling full GC will be disabled.
By default, the Garbage Collection process is run every 15 minutes (beginning from every JVM start) to force the release of unused application memory. The period of checks can be changed based on your requirements. You can also switch to debug mode.
This solution is unique and originally devised by PaaS engineers to improve your application memory management and as a result, to reduce the RAM usage.
1. Zend OPcache
Zend OPcache is now enabled by default, which results in a performance improvement of up to 40%. Zend OPcache speeds up PHP execution by opcode caching and optimization.
Apache and Nginx (php: 5.3, 5.4, 5.5) include OPcache extension enabled via etc > php.ini:
The default size and other OPcache settings can be configured via the php.ini file by changing the following parameters:
opcache.enable=1 enable/disable OPcache extension
opcache.memory_consumption=64 set the amount of memory to use (megabytes)
opcache.interned_strings_buffer=8 set the amount of memory to be used for storing internal strings (e.g. classnames)
opcache.max_accelerated_files=4000 the maximum number of files to be cached
opcache.revalidate_freq=60 the frequency of checking file timestamps for changes to the shared memory storage allocation
opcache.fast_shutdown=1 enable/disable a fast shutdown sequence for accelerated code
2. Change the Number of Workers Automatically
The number of workers for processing PHP requests is increased automatically in an Apache server depending on the cloudlet amount you stated for it.
To check this, click Config for your Apache app server and navigate to the conf > httpd.conf file.
Find and remember the Max Clients value. After that, change the topology of your environment by increasing or decreasing the cloudlet limit for your server. Return to the conf > httpd.conf file. As you can, see the number of Max Clients has increased/decreased.
Note that this function will be disabled if you remove the following string from the httpd.conf file:
#Jelastic autoconfiguration mark
3. Custom Settings of mod_security
mod_security is a super handy Apache module which provides such abilities as simple filtering, URL and Unicode encoding validation, auditing, null byte attack prevention, upload memory limits, server identity masking, built in chroot support and many more.
This module is available in the platform by default and can be configured via conf.d > mod_security.conf file.
Here, you can edit the default configurations or add your own custom settings. For example, you can add additional ModSecurity Rules. For this, you simply need to upload your custom rule to the modsecurity.d folder. It will be automatically activated by the *Include modsecurity.d/.conf string available in the conf.d > mod_security.conf file by default.
B. Database Improvements
- Shared MyAdmin-jel.conf, phpPgAdmin and couchdb.conf files
- Killing Processes for Releasing RAM
- Backup of Several MongoDB Databases
- Changes in Database Default Configurations
1. Shared MyAdmin-jel.conf, phpPgAdmin and сouchdb.conf files
Starting with this release, you have access to the MyAdmin-jel.conf (for MariaDB and MySQL), phpPgAdmin (for PostgreSQL) and couchdb.conf (for CouchDB) files. They are located in the conf.d folder.
These files can be edited in order to set appropriate criteria for allowing or denying access by IP address or domain to the application with the database on an Apache web server level.
2. Killing Processes for Releasing RAM
When your environment lacks RAM, the processes with high memory consumption are killed by OOM killer to release the resources. The order of disabling the processes is specified by OOM conditions.
Now the oom_score_adj is used to make less essential processeses killed primarily (httpd processes). Only if more RAM is still needed to be released, the MySQL processes are going to be killed.
3. Backup of Several MongoDB Databases
Making backups is a rather important part of the development process as a guarantee of your data security and integrity. The platform lets you schedule your database backups so you can always restore the last copy of your information in case of occasional data loss. For this, we provide a special backup script for databases, which you can configure based on your own needs.
In this release we’ve improved the MongoDB database backup script. For now, you can use it for backing up several databases. Just specify the necessary configurations as it is described in the MongoDB Databases Backup instruction.
4. Changes in Database Default Configurations
In this release, the following default configurations for all databases were changed in the php.ini file as follows:
upload_max_size = 1024MB
post_max_size = 1024MB
max_execution_time = 600
max_input_time = 600
This results in the ability to upload big dumps. Such changes are implemented to all new and earlier created containers, except the containers with your custom settings, i.e. if you configured these parameters manually based on your requirements.
C. HTTP Transport Error
While performing any actions in the platform dashboard, (like creating an environment, app deploying, building a project, restarting your app etc.) you could possibly face the problem of a HTTP transport error arising due to some Internet issues. As a result of the disconnection, the action you have started would be fully stopped and you would have to start everything again.
Now the situation is radically improved. The disconnection will simply suspend the process which is already started until the connection is reestablished. After that, the last request will be reinitiated and the process completed, without the need to create any additional settings.
D. Billing Improvements
1. Updated Billing History Display
Using the Billing history option, you can monitor the charges applied for consumed resources. To make this even more convenient, we have modified the way of presenting the billing data.
Here, you can specify the desired start / end dates and the time period interval to view your billing data. The billing history is displayed by time period, with the corresponding charges to the right. Use the icon to expand the view to reveal additional details about resource usage.
The data is grouped by the environments. Each environment in the list can be expanded to see the information about charges applicable to each server within the environment. The servers of the environment are listed in alphabetical order. After them, the Public IP and SSL are listed and their price is stated, if they are enabled in the environment.
The total charges between the selected dates are calculated for you at the very bottom of the list. More info
2. WHMCS Integration with Billing System
In this release, we implemented one more billing system – WHMCS. It is a universal billing hosting-oriented solution with an intuitive, user-friendly interface and broad functionality. WHMCS supports its extension using new add-on modules. We have also implemented a dedicated Add-on Module, written in PHP.
With WHMCS, you can choose between a wide range of payment methods. Processing of your payments, as well as managing the list of orders and invoices, is available right in the platform dashboard. You are also able to navigate directly to your WHMCS billing panel from the dashboard, without the necessity to enter your credentials.
To evaluate all of the benefits of WHMCS usage, you simply need to sign up for a PaaS account via a web hosting provider in your region and upgrade your account to to the full version. To see the list of hosting providers with the WHMCS billing solution installed, navigate to the Billing System document.
E. Site Redesign
Recently we’ve launched our new corporate web-site with a complete redesign of our logo and other materials. For now, it completely reflects platform’s new positioning as a combination of two cloud’s most transformative technologies - Platform-as-a-Service (PaaS) and Infrastructure-as-a-Service (IaaS).
The new PaaS site is optimized for enterprises, hosting service providers OEMs and developers. More detailed information about each market solution can be found in the corresponding sections of our site:
Find useful tips in our redesigned documentation (Hosting Center) and at the new Video page. Stay updated with our Blog posts and News & Events. Keep in touch with the platform community via StackOverflow where our forum was moved in order to dramatically improve the experience of providing assistance with various technical questions from our customers. Feel free to leave your feedback about our new site, in order to improve it even more.
F. Saving Config Edits Automatically
While saving the changes in any config file, you are asked to confirm this action. We’ve added the line “Do not show this dialog again” to the confirmation window. Tick this option and as a result, all future edits will be saved automatically without asking for confirmation. This setting will be applied for all types of config files, in all of your environments.
G. Hosting Provider Resolution for Mobile Application
Hosting Provider Resolution is now implemented for the platform mobile application which helps to automate the process of accessing the dashboard of the required hosting provider. When you enter your account credentials to access the dashboard via the Mobile app, a special service checks the availability of this account at every hosting provider. Checking is performed via attempting to log in to every hosting provider and collecting sign in statuses (if an account is available or not). After this procedure, all of the collected information is transferred back to your mobile application.
As soon as the information is received by the mobile application, you will be automatically signed into the dashboard of the hosting provider you are registered at with the provided credentials. In the case that there are several matches (i.e you are registered at several hosters with the same credentials) you will be asked to choose the desired one from the available list.
H. Software Stack Versions
The component templates are updated to the latest versions:
In the tables below you can see the lists of the bug fixes in PaaS 1.9.3. They are grouped due to the following categories:
- Billing & Billing history tracking
- Resolving & Access to the containers (environments) issues
- User account & session issues
- Emailing issues
- Platform statistics
- Platform dashboard
|JE-12267||Apache can return 502 error page when doing DB import due to restricted configuration|
|JE-12010||Memcached module error in PHP environments|
|JE-7492||PHP version of HelloWorld package includes Java word in social networks sharing|
BILLING & BILLING HISTORY TRACKING
|JE-9842||In billing history, one month is now counted due to correct calendar month days, not just 30 days constant|
|JE-9756||No costs consumption for SSL and IPv4 usage is displayed in billing history|
|JE-13431||Checkout to branch in git wasn’t applied after initial clone operation, but only after first update|
|JE-11565||In case the newly deployed VCS project overwrote the same named earlier deployed project, the auto-update functionality could not be disabled|
RESOLVING & ACCESS TO CONTAINERS (ENVIRONMENTS) ISSUES
USER ACCOUNT & SESSION ISSUES
|JE-12285||Emails are not sent after the update|
|JE-11793||Users are receiving “Out of resources” notification in language other than they selected in Dashboard|
|JE-11698||Node’s CPU statistics at dashboard summarize the usage instead of aggregation|
|JE-11683||Running out of resources notifications are sent for unused environments|
|JE-12310||Can’t refresh environment state due to the transaction confusion|
|JE-12075||Spare output was suppressed from actions.log which was throwing from the system after NGINX restart|
|JE-11864||Incorrect FTP uninstall process|
|JE-11610||Error while starting environment which was manually stopped|