Yesterday Microsoft announced the MySQL in-app preview for web apps. The feature lets users run MySQL natively on Azure App Service platform without having to provision a database during creation.
By selecting “MySQL in-app(Preview)” when making an app, it automatically sets up everything you need. This should improve the performance of applications by running the SQL server side by side with the web host's.
MySQL In-App Preview Features
Program Manager Suthina Muthurkrishna details some of the core functionality of this release in the Azure app service blog post:
- “Support PHP , MYSQL applications like WordPress, Joomla , Drupal etc .
- MySQL server running on the same instance side by side with your web server hosting the site. This will boost performance of your application
- Storage is shared between both MySQL and your web app files. Note with Free and Shared plans you may hit our quota limits when using the site based on the actions you perform . Check out quota limitations for Free and Shared plans.
- You can turn on Slow query logging and general logging for MySQL . Note that this can impact the site performance and should NOT always be turned ON . The logging feature will help investigation any application issues .”
The feature also supports the WordPress application through Azure marketplace. You can try out Microsoft's demo site here with username “demo” and password “demopassword.”
Performance Increase With WordPress
Microsoft conducted benchmarks with MySQL in-app to compare its performance to other Azure MySQL solutions. The testing used the following methodology:
- “Two test clients (one is the same region as web app and one in a different region)
- added application insights to web app to gather telemetry data
- using MySQL in-app database
- constant user load on the web app”
The same site was then tested using a number of popular WordPress plugins, including MotoPress Editor lite, Jetpack and Yoast SEO. No caching layer was including to understand the performance of the MySQL server running locally.
The tests show that MySQL in-app improves the performance of PHP applications, and as such Microsoft recommends it for testing and development.
Unfortunately, the feature has certain restrictions in the preview release, as listed below:
- “Auto scale feature is not supported since MySQL currently runs on on a single instance .
- Enabling Local cache is not supported.
- MySQL database cannot be accessed remotely. You can only access your database content using PHPMyadmin or using MySQL utilities in KUDU debug console. This is described in detail below.
- WordPress and Web App + MySQL templates currently support MySQL in-app in the create experience.We are working on bringing this feature in for other MySQL based applications in Web category for Azure marketplace.”
For more information and a tutorial, you can visit the Azure app service team blog.