WordPress Hosting on Azure

What could be a better first post on a blog than a “How to Make a Blog” post 🙂

Platform – WordPress

When I wanted to create this blog, I started to research what are all the blog platforms out there. Soon into my research I settled with WordPress. WordPress is easy to use, one of the most popular solutions out there, free, has tons of support and resources and is quite a capable platform. Done.

Hosting – Azure

Then came a question: Where and how to Host my shiny new Blog?

Similar like choosing the platform itself, there are huge amount of hosting options out there. Just, the difference is, none are free (at least, not in some reasonable way). Quite opposite, they turned out to be relatively expensive. Since I am on a tight budget, and this blog is made more as a hobby than to actually earn money – I was looking for something closer to “free”.

I looked at WordPress itself (they offer a Hosting solution also), and I looked at GoDaddy. Both were ok – and as I was about to press the button, it occurred to me – can I host a WordPress blog in Azure, for a reasonable amount of money (less than GoDaddy and WortPress Hosting), and without a big hassle? Can it be convenient – no VM and whatnot?

This is what I wanted to achieve:

  • Price: Pay for what you use (and not more)
    Pricing model should follow true Cloud model. No pre-allocated resources.
    If a blog has no visitors – we should pay no money to have it (or, close to no).
    If a blog has lots of visitors – we can scale and pay for the hosting, no problem. At that point, blog probably would generate some income on its own.
  • Convenient to setup – no effort to maintain
    I should not be a rocket scientist to be able to set it up. It should be achievable relatively simple.
    It should consume no time for it’s maintenance. It must be a managed solution.

Setup

1. Go to Azure Portal.
2. Create New Resource.

3. Search for WordPress.
4. Category should be Get Started.

5. Choose WordPress – but make sure it is WordPress from WordPress 🙂 .
6. Click Create.

7. If Azure now asks you to create/activate your Azure Account – finish the wizard. Create a free Azure account (regardless of the Free Trial itself – if offered, great, if not, doesn’t matter, we are not going to rely on it anyway).
8. AppService Configuration Blade should be opened now. Fill in the items listed above AppService Plan (as on the screenshot ↓) – Do not create the App Service yet.

Description:

  • App Name: Name of your blog – it will be part of the default URL
  • Subscription: Leave default (it should be Pay-As-You-Go or similar)
  • Resource Group: Create New, and name it same as the blog itself
  • Database Provider: Choose Azure Database for MySQL. This is Azure managed MySQL service. Azure will take care of the load, backups and much more. This goes into the requirement: “no effort to maintain”. We should use managed services wherever possible.

9. Select App Service plan/Location.

Description:

  • Create New
  • App Service Plan (name): Name of the hosting plan – can be whatever you want
  • Location: Choose physical location in the world where your blog will be located. Keep it simple, choose something near where you live or where targeted audience lives. I know you probably want your blog to be Global 🙂 – but it still needs to be located somewhere.
  • Click on Pricing Tier

10. Choose D1.
More on pricing later ⏰.
(after 1 month ends – I will post actual bill, based on consumption)
11. Click Applies and OKs till you are back to AppService Blade.
12. Select Database and fill in as on the screenshot.

13. Click Pricing Tier.
Choose the lowest Configuration Possible – except for the Backup Retention Period:

  • Basic
  • vCore: 1
  • Storage: Min (5GB at the time of writing)
  • Backup Retention Period: Max (35 days at the time of writing)
    Backup Retention Period we can/should put to Max – because it is free :). It counts into Storage allocation. So, as long as we haven’t filled in our storage, backup is kept for free.

More on pricing later ⏰.
(after 1 month ends – I will post actual bill, based on consumption)
14. Click Applies and OKs till you are back to AppService Blade.
15. Leave Application Insights On, because, why not 🙂 .
16. Finally click Create in the AppService Blade.

17. Wait till deployment is finished.

Set Spending Limit

Very important – Set the spending limits.
18. Go to Home Page and navigate to your Subscription.

19. Select your subscription and navigate to Budget. Create New.

20. Set reasonable limits: 1-10 EUR
More on pricing later ⏰.
(after 1 month ends – I will post actual bill, based on consumption)
21. You are Done ✔
Hosting is prepared. We can now go configure WordPress itself, and publish the first post.

Configure WordPress

1. Go to your AppService (Got to Subscription/Resources/MyShinyBlog)

2. There, you should find your app URL. Click it.

2. WordPress Installation Wizard will open. Make sure you use HTTPS.

3. Login to WordPress Admin Console

4. You are now ready to write your first post :).

5. Aaaaand… we are done – great success!