If you say web blogging technology, I say Wordpress. While Wordpress is a great platform, I have chosen to explore the world of the static Content Management System (CMS) to build this particular blog.
In the post I will discuss the static CMS blog architecture and its benefits. I will also show you how to set up a blog of your own and what it takes to go from writing a post to hosting it online.
Using Amazon S3 for a low-traffic blog is highly cost-effective.
S3 and Route 53 Pricing per Month
|Storage||$0.023 per GB|
|GET Requests||$0.004 per 10,000 requests|
|PUT, COPY, POST, LIST Requests||$0.005 per 1,000 requests|
|Data Transfer to Internet||First GB free, Up to 10TB $0.090 per GB|
Domain names typically cost $12-14 per year for most any typical domain provider. Using Amazon Route 53 to register your domain is particularly convenient.
Typical hosting costs for a server that runs a wordpress site are about $5 per month at the low end.
The following calculator estimates the cost on a per month basis of using Amazon S3 for hosting static files.
S3 Cost Calculator
|Metric||Value||Estimate as of 8/9/2017|
|Data to Internet (GB)||0.500|
|Total||$ 0||$ 0.01|
Wordpress, on the other hand, is a favorite PHP playground for hackers, especially for sites that fall behind on updates.
AWS S3 page load times are in the milliseconds.
In contrast, some of the cheaper web hosting options require multiple seconds to load a page rendered by a cheap resource-constrained server.
You can start with a pre-built theme and override any file you want by replicating it in your blog’s directories that match the theme’s directories.
- Install Ruby: follow instructions for your OS
- Install Jekyll:
gem install jekyll bundler
- Create blog directory:
jekyll new my-blog
- Move into directory:
- Modify your Gemfile to add the jekyll swiss theme:
- Install the theme:
- Add the theme to
_config.ymlto activate it:
- Serve the site:
Below is a simple process flow that illustrates how to go from authoring a post, to deploying it live on the internet.
Specific steps and commands
- Create a file in the
_postsdirectory with the format
- Add the standard posts header to the file and add content
- Open a terminal in the root directory and run the command
- Preview the new post at
- Build an updated
- Deploy the new post using the command
aws s3 sync _site s3://blog.grantharper.org
- View the new post on blog.grantharper.org