As you may know, we made some changes to OnMSFT.com and Azure this month, and as is normal, we hit a few snags along the way. After some fine tuning, though, we think we're getting close to getting it dialed in, juggling Azure, WordPress, WP-Rocket, and Cloudflare to get the most bang for our buck. Here's a few notes on what we've encountered, if you're interested:
We're running our site on a single Azure VM, an 8 core / 64GB machine, running the latest Ubuntu / Nginx / PHP / MySQL ( a LEMP stack), and it's been working out very well for us. In over two years of hosting our site on Azure, we've never (knock wood) had any serious downtime, and there are lots of advantages to being on Azure. We really like the Azure Portal Dashboard, it gives a quick overview of how the VM is performing, all with easy to read graphs that can be rearranged to suit. We pay a bit extra for Azure Insights, which adds monitoring of CPU load and memory usage, among a number of other features.
We also pay for Azure Backup, which takes a daily backup of the whole VM, and stores those backups in a "Recovery Vault." If needed, we could restore the entire VM to a new instance, and be back up and running after a catastrophic failure. Hopefully that won't happen, but it's good to know it's there, and well worth the price.
Speaking of price, for all of this, the VM, the backup, Insights, and the server along with a 128GB storage (Premium SSD) disk, we're paying, with a discount for a 3 year service deal (with a no penalty to opt-out), a little less than $300/mo. That's a great deal, in our opinion.
Ok, this took some dialing in, and apologies for those who had to endure having our home pages not being up to date. All that should be fixed now, but it did take a while. We've used W3 Total Cache for years, but for some reason with the configuration of this new site, it was caching calls to schedule posts. This meant Arif couldn't schedule his OnPodcast post on Sunday mornings, and more importantly that we wouldn't be able to schedule embargoed news. So we switched to WP-Rocket, another very popular WordPress caching option. Yay, scheduling worked!
However, due to some changes in how this theme is built vs our old site, along with the switch in caching plugins, we still had to work through getting the home page caching issues settled. After setting our home page (www.onmsft.com/) and our Latest (list view) page (www.onmsft.com/blog) to "never cache," both on WP-Rocket and in Cloudflare, our CDN / caching solution, not only is our caching saving lots of server load, but the site actually loads correctly! Here's a look at those numbers:
Another great advantage to Azure (among other cloud based offerings) is the ability to change VM sizes on the fly. We bumped up our specs for this latest upgrade, but we were running on a 4 core 16GB RAM machine before, and we could, with a couple of clicks in Azure Portal and about 5 minutes, move back to a smaller VM, especially with the caching now working so well. We like seeing these low CPU % numbers, though, and as the new VM is within our budget, we'll leave things alone for now. Good to know that you can go up our down almost seamlessly, though!
WordPress, Jetpack, and plugins
It's the age old quandary of WordPress users: how many plugins to use? We tried to limit our use of plugins when making the move, but we're still using some 30 "essential" ones, from WP-Rocket for caching, to Jetpack, by the makers of WordPress, for lots of stuff, to some plugins specific to how we manage multiple authors, and just added, to RankMath, our solution for finally paying some attention to SEO.
With Jetpack, again for an extra fee, we get a secondary backup / recovery solution, which makes it easy to recover a single post in case something were to happen (you can do that with Azure Backup too, but it's not as easy, and you can recover an entire site with Jetpack, but for that Azure Backup is better suited for the job). Jetpack also has the best social media sharing solution around - without any fuss it quickly tweets and creates a post on our Facebook page each time we post.
It's easy with WordPress to start slapping in plugins for every desire, but we've tried to limit and consolidate our choices. We even dropped a few from our old theme. Still, having a robust developer ecosystem with plugins for just about every purpose is one of the benefits of using an industry leading platform like WordPress.
All in all we're pretty pleased with our transition. We're up to date on all the latest versions of Ubuntu, PHP, MySQL and Nginx, we're on a new solid base with our theme using GeneratePress, and we have room to grow and evolve as Microsoft evolves itself (Discord, anyone?). We also added a list view (a number of you asked, and we agreed it's very useful, especially on mobile. Just set a bookmark to www.onmsft.com/blog to get to our list view of latest posts). We expected a bit of a journey, and we got one, but we hope you enjoy OnMSFT 2021.