Today a major upgrade happened behind the scenes that was huge in scope.

The honest truth is this: BlogMaker up to now was sharing a dedicated server with a few other projects. Yes, it was fully optimized, but it was starting to show its wear and tear.

The reasons behind this major infrastructure upgrade were a few:

  • BlogMaker started as a side-project and at the time (April 2021) I didn't think there would ever be +500 blogs (around +800 all–time) and thousands of posts hosted on it.
  • Moving to a new server was always daunting. There are a few critical moving parts that need to be upgraded in unison in order to avoid any downtime.
  • Moving to a new server meant upgrading all the infrastructure holding BlogMaker together (NGINX, PHP, MySQL, and other dependencies) and this is always tricky.

But, it had to be done.

Slow page loads started to become a recurring shame in the past few weeks.

So, what was upgraded:

  • A brand new barebones dedicated server with the latest a greatest gear under the hood hosting only BlogMaker
  • The latest NGINX running the Server
  • The latets MySQL holding the Database
  • And the latest stable PHP (8.3.14) serving the app

Yes, I know the stable PHP 8.4.1 version has just been released, but it's only been out for 12 days and I can't take any chancess in an app like BlogMaker — with so many clients and their visitors/readers using BlogMaker at any given moment.

In essence, this upgrade will make BlogMaker (the app) more stable and secure AND your blogs faster, which is great if you're running an SEO operation or simply want to give your readers the best there is via BlogMaker.

How it was done

In order to pull off this upgrade, this is how it was planned:

  1. The editor area was out of reach so no user can post or upload anything on the server. This was done so new content could not be published while files and databases were moving to the new server.
  2. All files were moved from the old server to the new one within minutes using rsync so file permissions and ownership remain intact
  3. The database was transfered to the new server using mysqldump with --default-character-set=utf8mb4 to make sure all special characters were transferred correctly
  4. Once on the new server, BlogMaker (the app) was tested thouroughly before the IPs pointing to the new server were assigned to the editor.blogmaker.app.
  5. After the test, new IPs were assigned to editor.blogmaker.app and voila!

I must say that the entire migration wasn't as hard as I had envisioned it. I have been planning it on paper in the past few days and the past few weeks in my head.

Through all this, there was only one issue. The read-only API stopped working for a bit as its code base needed to be upgraded to match the new PHP features.

So there it is.

A newly reborn BlogMaker (thank you blogstatic!) in a brand new home (server) running some brand new code (soul) 😇

Here's what's next

The goal is to make BlogMaker even faster by serving images and other assets via CDN. There's always room for improvement and this is what I want to do moving forward.

Create Your Blog

The quickest way to create your new blog!

Learn More