Home made Oliebollen! It's New Years Eve....
As the undisputed leader in cloud computing (constantly expanding), there are more than a handful of reasons to use AWS to distribute your grid site to the world.
I personally hope to use more AWS services in future, and so thought I’d write this post to show just how easy it was to transfer my domain to AWS, and host the site using CloudFront. Besides where do you think those grid images are stored? (hint look at the source)......
If you checked my previous post, there’s a fair bit of optimisation work to be done before this grid site (and others) are really flying but I’m also hoping that at some point I’ll be able to take the AI generated site and augment it with whatever my mind sees fit (Lambda anyone?).
So here are the steps I took to migrate from my existing DNS provider over to AWS.
Note: I’m presuming you already have an AWS account and are familiar with the services and console. If not, you are going to want to spend a bit of time understanding the basics of AWS and securing your account. There’s plenty of info on the AWS site to get you started e.g. https://aws.amazon.com/blogs/security/improve-the-security-of-your-aws-account-in-less-than-5-minutes
Lets get started by signing into your AWS console (or registering if it’s your first time) by browsing to https://aws.amazon.com
You don’t have to use AWS to manage your domain but having everything within a single console makes life easier.
If you choose to transfer a domain to AWS, you’ll need to create a Hosted Zone first, that way you can specify the new nameservers when you start the transfer process. Oh and transfers might take a few days depending on your current provider.
If on the other hand you choose to register a new domain with AWS, you’ll find an automatically created Hosted Zone under the Hosted zones section of the Route 53 console.
I suggest creating a non www record at this point, so that you can test your domain is up and running, and bypass the CDN when testing e.g. thegrid.mydomain.com
The current IP address to use is 22.214.171.124 but i’d suggest checking thegrid help just in case this has changed - http://help.thegrid.io/article/244-v2-add-a-custom-domain
Under the settings section of your grid site you are going to want to change the Custom URL to match the A record you just created. Use HTTP here, we will enable SSL on the CDN later.
Test your new domain by browsing to your new A record e.g. thegrid.mydomain.com
So you have a cool domain name and your Custom URL is working as expected. The next step is to create an SSL cert that you can use to encrypt your HTTPS traffic. This will come in handy in when we turn on HTTP/2 support as many browsers will not switch to HTTP2 when unencrypted.
If you have several domains you can add them all to the same certificate e.g. .com / .org / .net
There’s a load of options to choose from when creating a distribution but most of the defaults will suffice.
The options you are going to want to edit are as follows:
You will want to make a note of the distribution Domain Name so you can update DNS to point to it in the next step e.g. xxxxxx.cloudfront.net
It’s also a good idea to wait until the distribution is showing a Status of Deployed and State Enabled
At this point your grid site (well some of it) is being replicated across the CloudFront edge servers around the world. The final step is to point the www and naked domain to your site. To do this we need to go back to the Route 53 console and create 4 new Record Sets.
We need an A - IPv4 Address Record Set and an optional AAAA - IPv6 Address (for future proofing) for the www and naked domain. Remember to choose Alias Yes and paste in the distribution Domain Name you made note of previously (or select from the dropdown). Queries to Alias records are free - bonus!
I’d suggest using a few test sites to make sure everything is working:
http://dnscheck.pingdom.com - Check DNS
https://www.ssllabs.com/ssltest - Checks your SSL cert
https://tools.keycdn.com/http2-test - Checks HTTP/2 is enabled
Here are a few things I just had to get off my chest.
Before I start, just let me say that I really want the grid to succeed. The concept is still solid, and with a few more knobs and a little more polish I won’t even consider reverting back to a static site on S3…
There were over 46 issues on this page alone last time I looked - https://validator.w3.org
The assets are scattered over at least 5 locations, meaning the site suffers from increased latency and can’t benefit from recent enhancements like http2.
To add to the latency, many of the assets are not minified / compressed, and make up around 20% of the requests.
If you add all the assets on the page, you end up with a total size of 63.3MB. Try rendering that on a mobile with 3 bars of connection.
Region specific but still something you need to consider.
Like 10 seconds page load slow. Of course if the above items are fixed, things would be much improved.
Kudos to the mobile friendliness score tho!
If you have an issue with your site, you don’t want to wait 48Hrs+ before you get a response (weekends included, the web never sleeps).
I raised an issue with thegrid.io support yesterday about the performance of this site and was told
A kind human will get back to you in less than 24 hours.
Well I finally got a response after the weekend
Getting our load times down is a top priority coming up and should improve when we launch our new design system here in the coming weeks.
Sounds promising right!?
Take a look at the logo at the top of the page. You can’t see the text right? That’s because the colors chosen by the AI didn’t take into account the images on the page.
In fact, some text on the page is hard to read, due to the lack of contrast against the background.
Home made Oliebollen! It's New Years Eve....
My PM3 finally gave up the ghost the other day so I decided to take the plunge and shell out for a PM5. The Bluetooth link allows me to use the ErgData app to upload instantly to the logbook - plus I found a use for the old Nexus 4!
Now lets see if I can complete the Dog Days Challenge over the next few weeks...
Arrived just in time for the weekend!
That’s my Sunday sorted…
When it's raining outside….
Lunch by the river