My blog has moved around several times since its inception. I first
started it in college using Automattic’s hosted wordpress.com services,
then I eventually moved it to a $5 VPS where I self-hosted my own copy
of WordPress. After some time of that, its final form has taken the
shape of a Hugo-generated static site on a $5 Linux VPS.
I’ll concede that it doesn’t take a substantial amount of toil to deploy
a server and configure it to run a basic WordPress blog or static HTML
pages for that matter. I’ve developed some sentimental feelings toward
this blog though, and taking the proper steps to ensure that it is
properly backed up or easily restored in case of tragedy adds a bit more
complexity.
DISCLAIMER: I am a DigitalOcean employee and so I chose to deploy my
application to DigitalOcean. My opinions on this blog are my own and do
not reflect the opinions of my employer.
I iterated on my Discord bot’s deployment architecture in my previous blog post so that it would be better suited
for deployments to “the cloud.”
Just a quick refresher, here’s what the topology looks like as of this writing:
I recently read through Cloud Native Patterns by Cornelia Davis. I thought it was
a great book. This post is not a review of Cloud Native Patterns, but
instead it’s a journal of how I’ve applied some of what I’ve learned.
There have been many times that I’ve declared Popple to be a completed project, but
it’s continued to prove itself a valuable playground for experimenting
and learning new-to-me ideas in both software development and ops. So,
naturally, I chose to hack on Popple to get some hands-on experience
with some of the concepts described in the book.
I chose the second option. I found it compelling because the model of pushing
a ping from my host to the monitoring API didn’t require me to punch a hole
in my host’s firewall so that the monitoring API could scrape the health check
endpoint. It’s also free, but it’s worth noting that when I played around with
updown.io’s price estimators that I found it to be very
inexpensive (on the order of cents per year for my use case).
Looks big and loud. Most of the used gear at my price point seemed kind
of old, too. And besides, if this ever stops being a hobby for me, I can
just throw a video card in this (if such a mythical thing can ever be
found again) and find it a new home.
The QEMU developers recently merged Apple Silicon support for Apple’s
Hypervisor.Framework virtualization layer. This means that barring
any complications or removals, the next release tag for QEMU should
include this support.
I’ve written previously about Booting Cloud Images with QEMU. However, I’ve since graduated to a more convenient method of spawning virtual machines. This method is also much faster and is more cohesive with the rest of the virtualization stack that you’ll find on your Linux distribution. As someone who creates and tears down tons of virtual machines for testing things, this method appeals to me more than the previous. Let’s get into it.
I’ve been having a lot of fun lately refining a weekend project I started a few months ago. I basically threw this bot over the wall back in early April. About a month ago, I started getting serious about learning the Go programming language, so I thought I’d just revisit my Discord bot with a more “learned” eye and find ways to polish it up a bit.
Popple is a Discord bot that I made for myself and my friends, and it has been my playground for practicing everything I was learning in a project with an extremely small blast radius. Actually, the blast radius is both small and sympathetic, since most of my friends in that server are software developers too; so it was easy to laugh about whatever bugs that had made it into the running version of the bot.