As I'm sure you are all familiar with WordPress is a free and open-source content management system (CMS) based on PHP and MySQL. I've been toying with the idea of moving this blog away from AWS hosting and moving to Azure for awhile now, so I've been spending time exploring the options that are available and there are a few. The three options that I've explored so far are:
- Using the WordPress marketplace item within Azure
- Using the WordPress on Linux marketplace item within Azure
- Rolling my own SSL GitHub deployment as per Bart Robertson's tutorial Let me taken you though each of them and explain a bit about them all.
WordPress via the Marketplace
With this template option Azure will spin up a Windows Web App instance and a database for you. You can choose between three database providers, Azure Database for MySQL (preview), MySQL in App or ClearDB. The WordPress code comes from GitHub, https://github.com/azureappserviceoss/wordpress-azure The GitHub files are maintained by Microsoft as at the time of writing this blog it was being kept up to date as the WordPress version it was deploying was 4.9, which was released 5 days ago. This option can have you up and running within minutes and you can start to customise your WordPress site as you do with any other web hosting provider.
WordPress on Linux via the Marketplace
This marketplace option is very similar to the one I mentioned before except this time you get a Linux Web App instance and you only have the choice of using Azure Database for MySQL (preview) or ClearDB as your database. Again the deployment files come from the GitHub repository maintained by Microsoft. And once again you can have your WordPress site up and running within minutes but with a Linux back end.
SSL GitHub Deployment
Back in June this year Channel 9 released a video tutorial that I was excited about. It showed Seth Juarez and Bart Robertson chatting about deploying WordPress with SSL encryption built in to the site and having forcing the website to talk securely to the database as well. When the video was released things were in preview and have since changed slightly. Bart has taken the WordPress source code and modified it to allow the SSL encryption for the front end and back end. His GitHub repository can be found at https://github.com/bartr His current version of WordPress is 4.8.2 Bart has also created Dockerfiles that allow you to host WordPress on either on apache or nginx. Taking Bart's configuration you can deploy a Web App for Container instance and a Azure Database for MySQL instance. This solution is the most appealing to me as it gives added security and is using some of the latest technologies that Azure has to offer. However I've had limited success trying to "roll my own", when I create my own GitHub repos using Bart's as a template things don't deploy as they should which is disappointing. Now that WordPress 4.9 is out maybe I need to have another look at it though. :)
Monthly Hosting Costs
All three of these deployments come at a cost, using the latest Azure retail pricing available through the Azure Calculator, any of these instances will cost around £52.76 a month. That's based on a Basic Tier Web App hosted in North Europe and a Basic Azure Database for MySQL instance also in North Europe. From my research this is much more than any other hosting provided I've found for a WordPress instance.
Overall I think at some point my blog will move to Azure, especially if I can get the SSL deployment via GitHub to work. I would love to hear your thoughts and experiences of hosting WordPress on Azure? Any pros and cons I should be aware of? Please follow me on Twitter @TechieLass for other news, and tips.