Let’s be honest: Kubernetes is the undisputed king of orchestration. But if you are running a small to medium-sized environment, deploying K8s is often like using a sledgehammer to crack a nut. It brings massive resource overhead and operational complexity that most projects simply do not need.
Worse yet, despite its size, Kubernetes isn't actually a complete solution out of the box.
If you want proper SRE management—like native observability, health checks, and Service Level Objectives (SLOs)—you have to bolt on a complex stack of external tools. Need Ingress management to expose your services? You'll have to configure and maintain third-party Ingress controllers just to get traffic flowing.
That architectural bloat led me to advocate for a more minimalist approach. I wanted an orchestrator that provided everything necessary for robust deployments without the massive footprint.
Enter Gubernator: built to be the Kubernetes killer for small environments.
What Makes Gubernator Different?
Gubernator (gbnt) is a lightweight, distributed container orchestrator written entirely in Go. It strips away the unnecessary layers of traditional orchestration and bakes the essential operational requirements directly into its core:
Native SRE & Observability: Instead of treating SRE as an afterthought, Gubernator integrates robust health checks and observability (leveraging OpenTelemetry and Prometheus) directly into the orchestrator.
Built-in Ingress Management: No need to wrestle with external controllers. Gubernator handles your ingress routing natively, simplifying how you expose and manage your services.
True Software Minimalism: By using SQLite for data consistency rather than heavy key-value stores, Gubernator maintains a tiny resource footprint while ensuring reliable state management across multiple hosts.
Developer-Friendly Interface: A clean REST API and an intuitive CLI tool get your containers running securely and efficiently.
If you are tired of the Kubernetes learning curve and the overhead of maintaining tools you barely use, it's time to look at alternatives that prioritize simplicity and reliability.
Check out the repository, documentation, and architecture here: Gubernator on GitHub Pages:
I’d love to hear from the community: at what point do you think Kubernetes becomes too big for its own good? Drop your thoughts in the comments!
Top comments (6)
I think Kubernetes becomes overkill the moment your infrastructure diagram is more complex than your actual product.
A lot of apps could run happily on a VM, Docker Compose, and a database for years before needing K8s.
the bolt-on problem with K8s is real, but i think the actual cost is underestimated: each added tool has its own upgrade cycle and failure modes. that's a maintenance burden that compounds over time, not just at setup.
We run our microservices in Docker with Traefik as the reverse proxy, and made the deliberate choice to skip K8s years ago. The operational overhead never justified itself for our team size. Your point about K8s not being complete out of the box is what sealed it for us — every "simple" deployment needed 3 more tools just to get traffic flowing properly. The built-in ingress and SQLite for state management are interesting choices. How does Gubernator handle split-brain scenarios across hosts?
Some comments may only be visible to logged-in visitors. Sign in to view all comments.