This page covers Month 1 of the sea.kahon.cc test, which will qualitatively explore the experience of running and accessing this site.
The first portion is a boilerplate FAQ. Skip as needed.
Yes, a very gentle methodology:
1. Log and reflect
2. Add features, test them, log and reflect.
3. If able, we will ask some friends and family to check the site and answer some surveys with a standard questionnaire.
4. Open surveys on the site by Q2.
5. Data aggregation and analysis.
6. Prepare a summary at the end of the year.
7. Publish reader-friendly “report” post.
How is the Site Run?
On the backend, this site runs through an on-demand service on Cloud Run. The service triggers when the sea.kahon.cc is visited. The site itself runs via a container instance of WordPress 5.6, with plugins. When running, the container interacts with a database on Cloud SQL and a storage bucket on Cloud Storage. Cloud SQL and Cloud Storage are where posts and site changes are stored.
What is the difference between this site and a self-hosted WordPress site?
On the backend, sea.kahon.cc initializes only when there is traffic. I don’t run a server with the dependencies of WordPress installed. Instead, all of those things are either baked into the container, or supplied through cloud platform features (Cloud SQL and Cloud Storage).
One important difference is that plugin and theme installation requires altering the container image (you can think of them as the blueprints of this WordPress site). A straightforward upload to the WordPress folder in a container can never be permanent.
How did I connect the domain?
Cloud Run has a built in domain management section. It’s intuitive and handles the SSL certification automatically using LetsEncrypt.org.
Tested some functionality and loading time. Average is 4-5 seconds. I tried litespeed cache and Jetpack CDN through a preload on the image. It did not work, probably due to the containerized nature of this site. If you know of a method to use them with cloud run, let me know!
Contemplating posting some useful libraries that will play a dual role of supplying helpful information to users and gathering traffic to analyze how the site manages spikes.
I wanted to see if the site would increase load speed by keeping the minimum instances at 1 instead of 0. I noticed a marked improvement (somewhere around .8 second/1second by feel – not empirically measured) and I’ll be running the site with a single cloud run instance on at all times for at least another month. This arrangement will have cost implications, and I’ll share those once the charges are available for scrutiny.
Regarding the useful library idea from Day 3, I’ll queue it up for release by Month 2 or 3, just to make sure I’m keeping a gentle workload.
Had a funny incident of changing the home page URL to a different domain (absent-mindedly). This resulted in a redirect to a different login page (and therefore, locking me out of the WordPress admin section for this site). To remedy the situation, I had to edit the WordPress configuration file directly and submit it as part of a new image in the container registry. Another option was to connect to the database directly and make the change there, but it felt easier to edit the configuration file.
I may test the use of cloudflare with cloud run on a separately mapped subdomain, which should give an opportunity to test performance differences further. For that, I may try a tool with empirical measurements. When that is in place, I will likely try mapping another subdomain through Google’s own global load balancing and CDN tool, for an added point of comparison.We shall see.
I also noticed that sometimes, “service unavailable” appears when visiting sea.kahon.cc. Very disturbing. I’m going to have to look into the cause.