As I mentioned in my first blog post, this website is hosted entirely natively in Microsoft Azure. I’m using Project Nami, which is a fork of WordPress with a
a single initial goal — to teach WordPress to natively speak T-SQL while maintaining full compatibility with properly written plugins and themes. This is an important item to note. Any plugin, theme, or function written to access the database via the WordPress API will operate normally.
So this blog runs on an Azure App Service, with Azure SQL as the backend[footnote]Traditionalists will sneer at the use of Microsoft SQL database instead of the free MySQL database, but using a platform-as-a-service offering means I don’t ever need to worry about whether my database is running, and, as someone who’s earning a salary from architecting on, building in, and supporting Microsoft Azure, operational experience on the native tools comes before learning how to architect HA for a non-Microsoft environment. [/footnote], using Azure Storage and Azure CDN for images and caching, Azure WebJobs to generate the cache and to manage SSL certificates provisioned via the community Let’s Encrypt Plugin. I should note, however, that if you just want another WordPress site, there’s better options. I haven’t used them, but I’ve heard good things about wpengine and of course native WordPress.com. The way Project Nami is set up is probably overkill unless you, like me, enjoy rooting around with infrastructure, or you’re hosting multiple websites.
That said, I’m going to walk through a quick guide to setting up your first Azure Website, so that you can see how fast and easy it is to get started.
The first step is to ensure that you have a Microsoft Azure subscription. You can sign up for a free trial here. You do need a credit card and a phone number to get started, but don’t let that stop you – they won’t bill you unless you explicitly turn it on (well, last time I checked). You can also sign into MSDN and make use of the Azure credits that are available to subscribers, if you have a subscription[footnote]If you haven’t already, you need turn this on. Depending on the subscription level you have, you can get up to $150 in credits, which, combined with the lower rates that MSDN subscriptions have, you can get a lot done without spending anything![/footnote].
The next step is to visit Project Nami’s website: projectnami.org. Click the Download Now button:
Then click the Deploy to Azure button:
Then, simply fill out the form appropriately, being very careful to select the correct Directory and Subscription (to ensure billing and permissions go to the right people) and fill out values for the rest of the fields. Of course, you can select any site name and SQL server name; the actual website name and DNS name (i.e. “Nicholas Romyn’s Blog” and “blog.romyn.ca”) are both set up after the fact and it doesn’t really matter what you set these values to:
Click the Next button when you’re ready, and Azure shows you what it’s going to create. This flow is common to any Deploy to Azure button that uses this specific target
Now you can watch the deployment occur. I used a password that was simply upper and lowercase letters, which isn’t permitted for an Azure SQL Database password. This is easy to fix, though – just go back, update the field, and you’re good to go!
Once the deployment is complete, there’s a convenient link to go set up your new WordPress site:
If you click the link, you’ll be quickly taken to the website where the normal WordPress setup will apply. Select your language, then you’ll see ths screen. The database information is prepopulated, then you need to set up the Site Name, Username, Password, Email, and you’re good to go.
Most plugins will work fine, provided they don’t break the WordPress API guidelines. Hopefully this is helpful to you. If you need any help setting up WordPress using Project Nami, I’d be happy to take a look – I’m no WordPress expert though! You can reach me via the comments below or at nick at romyn dot ca.