5th May, 2015
When I was thinking about setting up this new blog, I had some goals in mind for what I wanted to cover (the how and the why of cloud computing technology, without being duplicative to the sheer volume of great updates from Jeff on the AWS Blog), how I would author it (I’m most able to focus in plain text, a hang up from my LaTeX-laden days as a post-doc), and how I wanted to publish and run it (something simple and reliable with very little overhead, but where I kept control of the ownership and experience).
With real, physical books the details of the publication are usually found on the turn of the title page in the colophon. This post is a short equivalent for this humble journal.
The posts here are authored in Markdown, using the excellent iA Writer. This is a great piece of software: reliable, lightweight with a really easy to grok workflow. Wherever I happen to be, I jot down ideas as a note in Writer on my iPhone, then pick it up on my MacBook or iPad to flesh it out to a full post (Writer syncs posts across devices via iCloud).
I’ve found this to be a good way to quickly figure out if there is something to write about, and the full screen mode keeps me out of my email inbox and focused on the post for much longer periods of time and at a higher quality than I had expected. Indeed, I’ve taken this approach for other long form writing too (working on narratives for the AWS keynotes or other presentation ideas).
This site is served from Amazon S3 as a static website, and published using AWS Lambda with ‘stellar’, a tiny blogging service I put together. It’s similar in concept to something like Jekyll or Octopress, but allows me to automate the process by keeping the logic on AWS.
To publish a new post I just upload it to S3.
From there, the raw Markdown is converted to HTML and then rendered to the post and home pages. Metadata is stored in DynamoDB.
It’s an event-driven system: Lambda responds automatically to new object events from S3, and renders each new post to the home page in just a few seconds. There are no servers to manage.
I use GoSquared for web analytics, and CloudWatch Logs to keep an eye on the Lambda execution.