I’m a Texan living in the UK and working in the IT industry for nearly 30 years. I currently run my own company as a consultant cloud architect and DevOps engineer and I specialise in helping companies build enterprise grade solutions using AWS, Google, and Azure public clouds; using infrastructure-as-code; and other DevOps practices.
In my time I’ve worked at Burger King, washed oil rigs, been an auto mechanic, loaded bombs, missles, and canons of US Air Force F-111s and F-16s, been a development engineer using Informix 4GL, then as a database administrator, then as systems administrator responsible for entire enterprises, before finally finding my niche as a Linux-based release engineer / architect. In the last few years I’ve been heavily involved in DevOps methodologies and the slow move to Cloud based environments.
Outside work, among other things, I’m an allotment gardener, and in 2020, after quite a few years of study with The Open University, I graduated with a Bachelor of Science in Environmental Management and Technology.
I also volunteer as: a trustee and webmaster of The Druid Network, - a registered charity in English and Wales.
About This Web Site
I’ve recently finished rebuilding both my AWS servers into this common containerised platform running in a single Spot instance. The final piece was getting my Gitlab instance in place. I still haven’t imported the old server’s export. For anyone interested, I’ll do a more in depth explanation when I build my Cloudcauldron blog - but it basically looks like this:
Root volume is small and remains mostly untouched. Only enough changes to the root volume to enable it to reboot without needing any configuration changes.
All important persistent data and configuration lives on a separate encrypted volume mounted at /volume
Everything important is running as a Docker container via Docker Compose. There are 5 major Docker containers that need to remain up:
- certbot : Mostly sleeping for 12 hours at a time but then checking for certs that need to be renewed
- nginx : Powers all the static and tool sites.
- php : Has the same mounts as nginx and runs any PHP needed
- mysql : Powers any needed mysql databases.
- gitlab : powers Gitlab separately. nginx reverse proxies it.
All Powering These Sites:
- A Wordpress site powering a personal archive. (nginx and php)
- bocan.dev - A 1 page CV site. (just nginx)
- cfunder.me - A personal URL shortener. (nginx and php)
- My personal blog (nginx and hugo), and tooling hidden underneath:
- My business site (just nginx) - but soon to be my business blog (nginx and hugo)
- My family tree site (just nginx)
There are 3 crontab jobs executing commands inside the docker containers:
Issues I still need to fix:
- I couldn’t figure out how to move from MySQL to MariaDB quickly enough.
- The Terraform isn’t in Gitlab and its state is local on my laptop.
- The Gitlab repo that controls all of it stores the web certificates so I can’t make it public.
- The big volume only has 1 snapshot and it’s not automated yet.
Know, O Prince,
that between the years when the oceans drank Microsoft DOS and the gleaming Windows, and the rise of “The Cloud”, there was an Age undreamed of, when shining servers lay spread across the world like blue mantles beneath the stars - Debian, FreeBSD, Slackware, AIX, Solaris with its dark-haired sales women and server towers of spider-haunted mystery, SuSE with its chivalry, Caldera that bordered the pastoral lands of SCO, OpenBSD with its shadow-guarded passwords, RedHat whose Sys Admins wore steel and silk and gold. But the proudest kingdom of the world was Apple, reigning supreme in the dreaming west. Hither came Chris the Texan, little-haired, sullen-eyed, MacBook in hand, a builder, a programmer, a sys-admin, a devops engineer, with gigantic melancholies and gigantic mirth, to tread the jewelled server rooms of the earth under his sandled feet."
– By tradition, this has been on every home page I’ve ever had