Deploying a Cheap, Secure, and Automated WordPress website on Azure

Deploying a Cheap, Secure, and Automated WordPress website on Azure

Facts are fun, let’s start with a few.

  • According to WordPress.com, WordPress-powered websites make up 42% of the internet.  
  • A 2021 survey by Statista revealed that 67% of organizations are using Azure for their cloud services
  • W3Techs reports Cloudflare is used by 80.0% of all the websites they know. About 19% of the entire internet.
  • According to Let’s Encrypt, over 260 million websites use its TLS certificates


In this five-part series, we will deploy, secure, set up a budget, and configure resource monitoring for our Azure-hosted WordPress site. We will be using Cloudflare as our DNS provider and reverse proxy.

SSL Certificates are offered by many providers. Depending on your needs, purchasing and renewing certificates can be time-consuming and expensive. Let’s Encrypt is a free, automated, and open certificate authority (CA) run for public benefit. It is a service provided by the Internet Security Research Group (ISRG). That being said, we will be using Let’s Encrypt to provide SSL certificates for our WordPress site.

Once the WordPress site is stood up, we will use a community tool (keyvault-acmebot) to automate the issuance and renewal of the SSL certificate bound to our site. From there, we will need to configure the SSL / TLS settings in Azure and Cloudflare to force HTTPS connections only. After that, we will set a monthly budget in Azure to notify us as our app service reaches our price thresholds. Finally, we will configure a dynamic alert to notify us when our site’s CPU is being heavily utilized.

Upon completion, you will have a highly scalable, secure, monitored, and relatively cheap solution to host your WordPress site!

-Rudy

Part 1 – Deploying WordPress via Azure Marketplace
Part 2 – Configure Custom DNS in Cloudflare and Azure
Part 3 –  Automating  SSL Certificate Creation and Renewal Using Acmebot
Part 4 –  Configuring SSL/TLS settings
Part 5 –  Configuring Budget and Resource Utilization Alerts