Hosting a Site on Google Cloud Storage

This is part of my series of try some alternative hosting options. Next up, I decided to try Google Cloud Storage. Amazon’s cloud platform is probably the best known, but it’s far from the only one, with plenty of competitors, including Google.

Cloud Storage is their equivalent of Amazon’s S3. It’s designed to store files (and there are options about how fast it retrieves them), but can also be used to host static sites.

Getting Started

There’s a free trial, with $300 of credit to use (although it expires after 60 days) which is simple enough to sign up for. The one irksome thing is that it requires you to register a payment method.

I happened to sign up with a Google Apps account and found I was unable to create a project (seemingly required) until the administrator (thankfully me) had enabled the Google Developers Console app. Something to be aware of.

I switched around Google’s official instructions, partly because I had already read these, and partly because it was obvious I wanted to set my site up before I moved my DNS.

You then need to create a Cloud Storage Bucket, with the name of your domain as the bucket name. To do this you first need to verify you own it. You have to do this through Webmaster Tools, which was another app I needed to turn on in my Google Apps console.

Most of Google’s instructions involve using their command line gsutil application, but can also be achieved through the web UI. Continue reading…

Hosting a Site on NearlyFreeSpeech.NET

This is part of my series of try some alternative hosting options. Next up, I decided to try NearlyFreeSpeech.NET. It’s a long-standing pay-for-use service that’s been around since 2002, so has a good history and isn’t about to disappear.

Getting Started

The setup process wasn’t particularly straightforward. First, you need to create a member account. Then a billing account (you can create multiple of these), then a site (again, multiple supported). Note that you have to enter a bunch of name and address details in your account record. You should get a couple of cents to allow a ‘trial’ when you create it.

To run it permanently, you’ll need to deposit some funds. What it costs to run is based on the type of site(s) you set up, as it’s essentially a combination of bandwidth, storage space and ‘Oomph!’ — or CPU+RAM.

When setting up a site, you get the option to pick from the different types of site. Static sites don’t incur a daily base charge ($0.01 for dynamic sites) or a cost for resources (based on a unit of CPU+RAM called a RAU).

Bandwidth starts at $0.25 per GB, but it goes down depending on how longer you have been a member and how much total bandwidth your account has used. Their pricing estimator put me at about $0.50 a month.

As part of the setup process you get an alias — essentially short_name.nfshost.com — this is what you need to create a CNAME for if you host your domain name elsewhere. In order for NFS.NET to associate your domain with your account you need to add the domain name as an alias of the site.

They don’t seem to advocate using a bare domain (leepenney.com) but rather the www subdomain (www.leepenney.com). As most of my static site was setup for the bare version (references to CSS files, etc) I had to add an additional alias to cover this. Continue reading…

Alternatives to Mandrill Reviewed

I’ve been a user of Mandrill for a while, it’s a great service for sending transactional email. I only use it for a couple of personal projects (mainly because Gmail started getting funny when I was sending through them). I just checked my account and I average one email per day. It’s slightly higher than that as I send at least one a day, sometimes more. If I send fifty emails in a month it’s been a busy one.

I took advantage of their very generous free tier that offered 12,000 free emails a month (which got removed last July). I barely made a dent. So their recent announcement that you will soon require a paid MailChimp account to use Mandrill, and to pay for all email sent via Mandrill, meant my days of use were numbered (I wasn’t the only one, it wasn’t a popular decision).

There are plenty of alternatives, so I thought I would check them out and see which best suited me.

Requirements

My requirements were pretty simple:

  • A free tier (ideally) allowing for 100 or so emails per month
  • A simple web API, ideally with libraries for common languages like Python and PHP
  • Ability to host templates preferred (so I can just load the data I need rather than the entire email) and a simple templating language
  • No requirement to set up a domain (I could do it, but these emails are only sent to me, so spoofing should be fine)
  • Good deliverability (I still need my emails to get through)
  • Good documentation

The Contenders

During the outcry following the Mandrill announcement, a number of options were put forward by the community:

  • Mailgun
  • SendGrid
  • Mailjet
  • SparkPost
  • SendinBlue
  • Maildocker
  • SocketLabs
  • Pepipost
  • Postmark
  • Elastic Email
  • Sendwithus
  • Amazon SES (discounted as no free tier* and reports of poor deliverability)

* Yes, strictly speaking you can get it free for 12 months or if you have an EC2 instance Continue reading…

Front-End Markdown Gallery Script

When I converted one of my sites from WordPress to static, I lost some things. One of those was the ability to easily generate a gallery of images; thumbnails that link to larger versions.

Markdown, which is what my posts are now written in, is great for writing without the overhead of a having to wrap everything in raw HTML or stop to select icons in a WYSIWYG, but it also lacks the ability to generate the code for a simple gallery. So my only option would have been to write HTML in the middle of the text.

Instead, I whipped up a bit of JavaScript to scan the page for lists that consist solely of images (linked or not) and adds HTML to make it easy to style them into a gallery (for example, wrapping the list in a div tag and converting the list items into figures and figcaptions).

You can find an example in this post.

More details and the script itself can be found on Github.

Hosting a Site on Surge

Having converted one of my sites to a static one, I decided to try out some of the alternative options to traditional hosting packages. I drew up a list of a few options and set about trying to get my site online.

Getting Started

I began with Surge because it looked easy (having started to wade through the Google Cloud Storage instructions, which did not). That didn’t exactly prove to be the case because the dev server I happened to have the site on is running Ubuntu Precise Pangolin (12.04 LTS) and the latest version of NodeJS in the registry is old.

I ended up following the instructions here to get it installed:

curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install -y nodejs

I still got a bunch of warnings from npm about deprecated this and that, so ran the suggested command:

sudo npm -g install npm@latest

Finally, I was able to install Surge.

Creating a Site

I switched to the folder path for my static site and used the following command to create a CNAME file:

echo leepenney.com > CNAME

I then typed in the surge command and followed the prompts to create a new account and away it went.

After it had loaded the files and they had propagated to the CDN I got a success message.

I then headed over to my domain registrar and set up some CNAME records as suggested here.

Within seconds I was up and running on Surge.

Speed

In my optimization post, I stated the results of various speed tests, which I ran again once uploaded.

Original hostTest host
PS Rank (Mobile)88/10088/100
PS Rank (Desktop)93/10093/100
WPT First Byte0.156s0.464s
WPT Fully Loaded2.892s5.051s
WPT Bytes (KB)1,0931,093
GTMet YSlow88%92%
GTMet Load Time2.5s1.5s
GTMet Size (Mb)1.051.05
GTMet Requests1515

As you can see, some stats remained the same, a couple were worse and some improved. A bit of a mixed bag.

Summary

Set-up difficultyGoodAssuming you don’t have issues with your OS and/or have NodeJS already installed.
Set-up timeGood
SpeedGood
CostGoodA paid tier is available.

Final Thoughts

I’m not a massive fan of having to install things (the entire of NodeJS and npm in this case) just to upload files, but once I managed that feat the process was very smooth and literally took seconds, so it was worth the effort.

The basic tier is free and there’s a paid one at $13 a month.

So far, so good. The site was loaded 27th Jan and I’ll run it for a few weeks to see how it goes before heading off for the next host.