I always need to be learning. If I'm not pushing myself out of my comfort zone or just plain learning 'cool shit,' I just get bored and cranky. This is one of the reasons why I love working at H2O.ai because I'm pushed everyday. Just this past week I was pushed into learning more deeply NLP and coding Python, two topics I'm very interested in. Along the way I've learn how to use Git better and solve some interesting use cases.
Perhaps one of the toughest things I've learned this week are the nuances of running a blog on AWS.
Static Blogs on S3
The main reason I want to port my blog over to S3 is cost. S3 is super cheap to host a static blog and since I'm back to using Pelican as my static blog generator (why? That's another post altogether) so this just makes sense and gives me better SEO over all. It also gives me a reason to finally get off the Dreamhost machines. I have nothing against Dreamhost but I think it's time to move on as I've outgrown them.
Porting to S3
Porting to S3 was usually pretty easy. I created a www.neuralmarkettrends.com AND neuralmarkettrends.com bucket. Set up a Route 53 hosted zone for neuralmarkettrends.com, point a 'A' record to the both buckets and then went to Dreamhost to change the Name Servers to point to the Route 53 hosted zone.
Usually I'd wait few minutes and everything would start resolving to that location. While that worked in the past for unsecured SSL sites, nowadays if you want your blog to work with modern browsers, you need to have it secured via an SSL certificate.
Dreamhost usually gets one for free and I recently purchased one for $15/year. So I hosted my Pelican powered blog there and got the SSL I needed.
The problems started when I wanted to port to S3 and get a SSL certificate. First I had to use something called CloudFront and then Certificate Manager. I jumped the gun and ported all my blog posts to S3 and did all the DNS changes before all the configurations were set up correctly.
This caused a day and half of downtime here.
Stupid. Stupid. Stupid.
What I learned
I reverted back to Dreamhost for the time being as I dig deeper into more of the AWS capabilities, which is A-OK with me. Mistakes, while frustrating and embarrassing at times, are really a HUGE learning event. Only if you listen.
So what did I learn?
- Dreamhost makes it simple to run a blog but you pay for it
- S3 is really cool and cheap if you want to host a blog there
- Don't expect SSL out of the box with S3
- You will need to spend time understanding how CloudFront and Certificate Manager works
- Have patience
This has been fun, it really has. I thoroughly enjoy 'hacking' my site over the years and learning Python along the way. I have a long way to go but Python is the metaphorical glue that holds the IT world together, IMHO.
Over the next few months I plan on writing some pretty in depth tutorials about AWS, Python, and Machine Learning as I port this site over to S3 and spin up a small instance.