Welcome! This is the first blog post for a new blog which will cover different aspects of building and maintaining cloud-based solutions, as well as knowledge management and continuous learning. It will be mainly material of a technical nature, to be useful to people who are building solutions that may be operated in some cloud provider platform. I have worked as a consultant in the software engineering space for about 25 years, with the last few years focused on cloud-based solutions.
There will be posts about areas I know of and areas I am exploring and documenting through this blog as I learn. I consider it a privilege and passion to be an eternal student - both picking up new knowledge as well as consolidating the existing knowledge.
The functional cloud
The term ‘functional cloud’ here is intended to cover multiple aspects of cloud computing - both in terms of components that provide good value, useful architecturees and patterns as well as applying functional principles to building cloud solutions.
Some topics will be iterated on and refined over time, as with most software solutions - this blog and its content is no different from that.
The set-up of this blog is also as of this post is also the first version. There are a few different components and tools in use:
- A git repository storing the content of the blog @ Github
- Hugo static site generator
- The hugo theme Story (Edit: Theme has been changed to Academic, then to Feather, using Zola static site generator and now back to Hugo and theme Even)
- A Netlify account to host the blog.
- AWS Route 53 domain registrar
- A text editor
Why set up my own blog solution and not use something like Medium, Wordpress.com or Dev.to instead? I have used some of these packaged blogging solutions in the past and they have some great features and community around them, but I see this as a learning opportunity - especially since I have on my to-do list to migrate at least one small website to s simpler and cheaper alternative to its current hosting solution.
The plan was all along pretty much to set up a simple static site and thus a static site generator was needed. After briefly looking at a few of them, Hugo was the one I found appealed to me the most. In particular the speed of the tool stuck with me, since that in turn is a good foundation for a good developer workflow experience, with quick feedback loops.
There are plenty of themes for Hugo and after looking at and testing many themes, I found the feature set of Story to be a good fit for a technical blog. Baron Schwartz who is the author have done an impressive job of putting together a lot of nice and interesting features, which I hope to explore more in depth as time goes by.
Edit: I have now switched the theme to Even instead. Story was nice and capable, as well as theme Academic - but I realized I would need to spend more time to customize it than I wanted. The Zola-based theme Feather did provide a quite simple set-up, which worked fine for the moment. I would need some additional work when the amount of posts and content would grow. Now I have ended up selecting the Hugo-based theme Even, which hopefully strikes a good balance for suitable layout and simplicity.
Originally the plan was to host the blog in AWS S3 or GCP Cloud Storage, as well as build some automation round deploying updates to the blog using AWS/GCP services. Thus this was the reason also to register the elz.cloud domain with AWS Route 53. In the end I skipped S3 for the time being - not because it is a bad choice, but rather that it would be a bit quicker to get up and running with Netlify. In future posts I plan to look at both set up a site using AWS S3 as well as GCP Cloud Storage.
The first iteration of the blog has been with Hugo and
Story Academic and with Netlify. Everything has started simple:
Configured a simplified main page config, based on the example provided by the Story example site. Override of the default background images with others from Unsplash (SpaceX). Setting up a Github repository and push the generated Hugo content to git was quite simple. There is also a guide on the Hugo website for hosting on Netlify, which was useful to follow through. Getting the web site deployed with a Netlify-generated host name was simple and quick.
What cause me some trouble initially was to get the custom host name to be used by Netlify, which was registered at AWS Route 53 ands which I had already used to test some automated setup with CloudFront and S3. I had googled about migrating from S3 to Netlify and had found blog posts on the subject. However, the description in that post was more complex and not quite correct for pointing the domain name to Netlify:s DNS servers rather than AWS Route 53:s. It described changes that should be done directly in the record set contents in the AWS Route 53 hosted zone used. Even if the changes are made there, it will not work.
The proper place to do the change in this situation is to go to Registered Domains in AWS Route 53, select the domain name to change name servers for and then click on the Add or edit name servers link in the right side of the page displayed for the domain name. That will provide a dialog to update the name servers. AWS will send an email shortly thereafter to notify that a name server change has been requested. It will take some time, but after that the name server change will have completed correctly. The AWS Route 53 documentation describes this, but it may not be entirely obvious where to find it - Adding or Changing Name Servers and Glue Records for a Domain
On the Netlify side the instructions on how to set up a custom domain should be followed. Once the name server change on AWS Route 53 side has been completed, the verification on Netlify side should be automatic, as well as the set up of a certificate for the HTTPS traffic.
The blog is up now, remains to see how it works out in practice.
Author Erik Lundevall-Zara
LastMod 2020-09-21 (ad2e55b)