Mac Chaffee is a site reliability engineer who writes about Kubernetes, platform engineering and security practices such as web application firewalls and secrets.
HN commenters repeatedly cite "Dear friend, you have built a Kubernetes" as the standard warning that custom deployment tooling tends to reinvent Kubernetes.
What I really like are solutions that are simple to both install and maintain.
For example, look at Docker Swarm: https://docs.docker.com/engine/swarm/swarm-tutorial/create-swarm/ or Hashicorp Nomad: https://developer.hashicorp.com/nomad/tutorials/get-started/gs-start-a-cluster or Kubernetes distros like K3s: https://docs.k3s.io/quick-start
Either of those would work better than a bespoke solution a lot of the time, for anyone who is not the original person writing that hodgepodge of shell scripts, because of how much information and documentation exists out there about those solutions.
Either of those would also work better than a very complex Kubernetes cluster that was built with HA in mind and tries to be web scale for anyone who isn't a DevOps engineer that's ready to spend a bunch of time maintaining it, given how complex things can get.
Curiously, a previous article by the author calls out Docker Compose as not being good enough https://www.macchaffee.com/blog/2024/docker-compose/ and also critiques Docker Swarm without much elaboration (because that's not the main focus):
> Single-node only. Many apps never reach a point where they need more than one node, but having to either rip out your entire existing deployment method or invest in Swarm are not good options.
I've seen both Docker Compose and Docker Swarm be used in production with good results - in problem spaces where minutes or hours of downtime (e.g. non-global audience, evenings) was acceptable and…
I don't agree. WAFs usually add more attack surface than they remove.
https://www.macchaffee.com/blog/2023/wafs/
Of course, Wordpress is basically undefendable, so I'd never ever host it on a machine that has anything else of value (including e.g. db credentials that give access to much more than the public content on the WP installation).
This cuts both ways.
At any stage of https://www.macchaffee.com/blog/2024/you-have-built-a-kubernetes/ a SOTA model can repackage it into Kubernetes.
If you're feeling extra spicy you don't even need the deploy scripts. Just a `llm` user account with the right permissions & ssh keys on all your servers.
SRE here, my thought is "Sure, Docker Compose is great for production assuming your needs are light and Docker Compose works well for you."
K8s as small time is overkill for sure but make sure you don't fall into this trap. https://www.macchaffee.com/blog/2024/you-have-built-a-kubernetes/
https://www.macchaffee.com/blog/2024/you-have-built-a-kubernetes/
Like, if that works for you, more power to you. But that is a lot of moving parts in exchange for using a tool whose value prop is that it doesn't have many.
Location: NC
Remote: Yes
Willing to relocate: No
Resume: https://www.macchaffee.com/
Technologies: Kubernetes, Linux Admin., Security, Python, Ansible, SRE, Platform Engineering
Email: On resume