This Christmas, I decided that I would take on a challenge over the holidays - and I decided to confront something I previously hated:
JavaScript
I’ve spent the last 11 years bootstrapping and running a corporate communications business. This means that I haven’t been able to do as much technology work as I’d have liked to. I am a sysadmin who can code - not a developer who can sysadmin - and as such - front end technology such as JavaScript was always very frustrating to me.
In 1999, when I worked as a service tech, I got a bunch of friends together, bought a couple boxes of Cat 5 Ethernet cable and wired the home my wife and I were building. We put about 20 network drops into the house - most of them upstairs and a couple on the main floor - it terminated in my basement. That basic setup has lasted me quite a while - but it didn’t take into account:
At nonfiction we’re building a platform to help deploy simple sites for our clients. The platform is called Handbill, under the scenes it’s using Harp and octohost.
We were working on trying to make sure that the deploys were happening quicker than they were - 30-40 seconds was just too long.
Docker works on the concept of layers (which maxed out at 42 for AUFS - until yesterday’s Docker 0.7.2 release which upped the limit to 127 - wahoo!
After going through the incredible Test Kitchen Getting Started Guide and finding a couple great starting cookbook templates (skeleton and meez) I got busy building a few new cookbooks: redis, serf, nodejs and hipache for octohost.
Part of the process involved running all of my cookbooks through Foodcritic, Tailor and Rubocop which found a ton of improvements and things to clean up.
One item that really frustrated me was when Foodcritic gave me an error that I couldn’t really fix - because it wasn’t really an error.
I got to write an article for this year’s SysAdvent.
What is SysAdvent you ask? Let me tell you:
One article for each day of December, ending on the 25th article. With the goals of of sharing, openness, and mentoring, we aim to provide great articles about systems administration topics written by fellow sysadmins
My article was about controlling some octohost Docker servers with Serf.
The article is here - the source code for the article is posted here - and some related Serf/Docker code was posted here
Since we launched 6 days ago, we’ve been busy updating and upgrading octohost with all sorts of upgrades.
v0.5 is available now - the Changelog is here but the top 4 highlights are as follows:
Docker 0.7 - released recently. The /usr/bin/octo cli which allows for simple management of an octohost server. SSH Agent forwarding is now supported by OpenSSH and sudo - very handy with sudo /usr/bin/octo move sites old.
We’ve been using Docker as the backend for a project we’ve been working on for the last little while.
That backend ended up being the simplest possible web-focused Dockerfile based PaaS we could conceive - with Heroku/Dokku like deploys using nothing but git.
We’ve named it octohost - all of the source is available here:
https://github.com/octohost/octohost
There is already a prebuilt AMI available in US-West-2: ami-26d84216
Or you can build your own with Packer - all templates are included.
If you’re thinking about hosting your company’s public facing domain name in your own server room you should stop right now and rethink that.
I live in Calgary, Alberta and we’re currently digging ourselves out of the worst flooding in decades. Our downtown core, where many of the worlds largest oil and gas companies are located, was flooded. The power to most of those buildings has been turned off since last Friday morning - 4 days.
I saw this link today and was very interested in how they did it.
I love the simplicity that you can get when you deploy static files - but managing them has always been a bit of a hassle - and technically above what most of our clients are happy to use.
You see, nonfiction has a CMS that we’ve been using for a number of years. It’s PHP/MySQL based and has served us well - but it’s getting a little long in the tooth.
I was getting a demo of a new tool/toolset from the guys at Stackdriver yesterday and we were talking about some of the monitoring/logs/metrics tools I was using. I listed a few, but after we finished the call I realized that I had actually forgotten a whole bunch that we use.
In the spirit of Thomas Fuchs' recent post, this post is an overview of some of the tools we use at nonfiction to monitor our servers: