Steps towards a readable, usable and fast blog

I’m not new to blogging but I wanted to make something unusual (based on my standards). What I wanted was simple:

  • Google Compute Engine
  • WordPress
  • Just enough themes, plugins and optimizations to get things done. Fast.

This blog is the result.

In the coming days I’m going to write the steps I’ve taken (and the ones I still have to take) to end up with a decent, fast, beautiful blog.

This is a little summary:

  • Set up the Google Compute Instance.
  • Configure a Domain Name with the Google Cloud DNS.
  • Installing and enabling a bunch on WordPress plugins at once, keeping in mind speed, robustness and readability factors.
  • Enable SendGrid to easily send email within WordPress (without messing up the Google Cloud Instance).
  • Configure Amazon S3 to host static files (like the themes files, css, js, fonts and so on).
  • Create a Cloud Backup solution.

There should be one– and preferably only one –obvious way to do it.
Although that way may not be obvious at first unless you’re Dutch.

– The Zen of Python

Now, since I’m not Dutch, I had to make and break things again and again just to find out a possibly viable way. I wanted to be able to crash and burn the whole infrastructure and then be up and running again in less than 30 minutes.

As I said, I’ll document my journey in the coming days, but I also expect comments and hints on how to make things better… ’cause I’m not Dutch.

Google Cloud vs Amazon AWS – WordPress Performance

Whenever I say this WordPress blog is hosted in the cloud, people automagically assume I’m using Amazon AWS. Wrong!

I’m using Google Compute Engine and let me show you why.

 Google Compute EngineAmazon AWS
Regioneurope-west1-deu-west-1b
Machine Typen1-standard-1m3.medium
CPU11
RAM (GB)3.753.75
Hourly Cost$0.055*$0.073*

Setup:

These were the plugins I installed, activated and configured in both instances.

  • Akismet: 3.1.5
  • Bulk Images to Posts: 3.3
  • BulkPress: 0.3.4
  • Google XML Sitemaps: 4.0.8
  • PHP/MySQL CPU performance statistics: 1.1.9
  • Pods – Custom Content Types and Fields: 2.5.5
  • Regenerate Thumbnails: 2.2.4
  • SendGrid: 1.6.7
  • Simple Tags: 2.4
  • SysInfo: 1.1.0
  • Wp Favs: 1.0.6
  • WP Super Cache: 1.4.6

Both deployments (just for the test purposes) are Bitnami WordPress. Well, let’s see the interesting part, shall we?

Bitnami WordPress on Amazon AWS
Bitnami WordPress on Amazon AWS
Bitnami WordPress on Google Cloud
Bitnami WordPress on Google Cloud

Results:

Google vs Amazon - Results

TestGoogle Cloud EngineAmazon AWS
Inbound Speed444.77 Mbps256.16 Mbps
Outbound Speed11.24 Mbps8.83 Mbps
Total MySQL Time7.71 s16.63 s
Total PHP Time1.87 s4.93 s
Total Test Time9.58 s21.56 s

I didn’t expect to see such a difference. Google Compute Engine is twice as fast the same type of machine from Amazon AWS. And it costs way less (in fact I haven’t applied the sustained use discount for a whole month usage so you might spend way less than $0.055 with Google Compute Engine).