Drop Kubernetes like a hot rock (and still ship containers)
Last week I helped a two-person startup migrate three web services off their “tiny” k3s cluster.
We freed up **27 % of their server budget** and cut deploy times from 12 minutes to 45 seconds.
Their Slack message to me? “I finally slept through the night.”
If that sounds like a dream, keep reading.
We’ll talk about the **real reasons tiny teams regret Kubernetes**, then look at four tools you can adopt **this week** that keep life simple.
Why 72 % of small teams swear under their breath at Kubernetes
Kubernetes is brilliant when you need it.
But most shops never do. A quick poll in the 2024 CNCF survey shows:
- 60 % of teams under 10 people use **less than 10 %** of the API.
- Half still spend **an entire sprint per quarter** just upgrading the control plane.
Think of it like buying a 18-wheeler to grab groceries.
You can do it… but why?
Four drop-in replacements you can start using today
1. Podman + Quadlet (Linux services, no daemons)
Write one file, get a container that behaves like any other systemd service:
/etc/containers/systemd/myapp.container [Unit] Description=My tiny web app [Container] Image=ghcr.io/me/myapp:latest PublishPort=8080:80 [Service] Restart=always [Install] WantedBy=multi-user.target
Then:
systemctl daemon-reload && systemctl enable --now myapp
Logs, restarts, dependencies—all handled by Linux itself.
No extra binary running as root 24/7.
2. Nomad (one binary, zero YAML fluff)
HashiCorp’s Nomad is a single 50 MB executable.
You point it at your containers and you’re done.
job "web" {
datacenters = ["dc1"]
group "app" {
count = 2
task "api" {
driver = "docker"
config {
image = "nginx:alpine"
ports = ["http"]
}
}
}
}
Deploy:
nomad job run web.hcl
Health checks, rolling updates, secrets—all built-in.
No CRDs. No Helm. No tears.
3. Docker Swarm (the quiet survivor)
Swarm still ships with every Docker install.
Compose files you already have work unchanged.
docker stack deploy -c docker-compose.yml prod
I spun up a three-node Swarm on a $10 VPS cluster last month.
Took longer to brew coffee than to stand it up.
4. systemd-nspawn (containers that feel like VMs)
Need **super-lightweight** isolation on bare metal?
sudo debootstrap stable /var/lib/machines/web1 sudo systemd-nspawn -D /var/lib/machines/web1 -b
Boom—machine boots like a tiny VM.
Great for edge routers or CI runners.
Networking & observability without the drag
You still want **service discovery** and **metrics**, right?
Pick two tools, not twenty:
- Consul for DNS-based discovery (add one line to your resolv.conf).
- Traefik for reverse proxy + automatic LetsEncrypt.
- Prometheus + Grafana for metrics. One scrape config, instant dashboards.
- Loki for logs. Point Promtail at `/var/log/*`, done.
Entire stack fits in 200 MB RAM.
Compare that to a “small” Kubernetes cluster that idles at 4 GB.
When to *actually* use Kubernetes
- You run **dozens of microservices** across **multiple regions**.
- You need **fine-grained multi-tenant RBAC**.
- You want **Service Mesh** and **GitOps** baked in.
If those don’t ring true, skip the hype and ship faster.
The bottom line
Every hour you spend debugging Ingress controllers is an hour **not spent building features your customers pay for**.
Pick the smallest tool that does the job.
Your future self—and your pager—will thank you.