Azure App Service Team Blog

How the App Service team functions

Announcing general availability for MySQL in-app

MySQL in-app was a preview feature launched last year in August.  The feature primary objective was to make it easier to build and test MySQL based applications on App Service.  Today, I am excited to announce general availability of MySQL in-app feature.

We have rolled out a database migration feature from MySQL in-app that allows you to export your database content from localdb database provided by MySQL in-app and import it into a production database. A production database can be ClearDB database or your custom MySQL server solution.  See options for production MySQL database in Azure.

This feature will be continue to accelerate your development and testing scenarios . Here are key benefits of using this feature :

  1. It supports PHP or Python applications that use MySQL, such as WordPress, Joomla, Drupal and Django.
  2. It’s cost-effective since there’s no additional cost to use this feature and you only pay for the App Service plan (since resources are shared).
  3. The MySQL and Web processes are co-located in the same environment (hence the term in-app) which means storage is shared.
  4. Includes support for slow query logging and general logging, which you’ll need to turn on as needed (this feature impacts performance, so you shouldn’t use it all the time).
  5. One click migration of your database from MySQL in-app to a production MySQL database solution. Azure offers many solutions for MySQL , including:

If you intend to use this feature for PRODUCTION web application , your web application must meet one or more of the criteria below :

  • your application is read only web site [ when file server is in read only mode , the database is read only as well ]
  • your application does not need auto scale
  • File servers may go into read only mode from 1 to 6 mins depending on whether an upgrade is occurring or any intermittent storage connectivity issue occurs. For example if you use wordpress and during this time you cannot write a post or edit content. You can retry in a few minutes and it will work. If this is okay for your production app then use MySQL inapp
  • Review your user traffic on your application and test to see if your application can run on one instance. If it can manage the load , you can use MySQL inapp for production.

The reason for the criteria mentioned above is due to the lack of support for auto scale on App service with MySQL in-app.