<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mario Ezquerro</title>
    <description>The latest articles on DEV Community by Mario Ezquerro (@marioezquerro).</description>
    <link>https://dev.to/marioezquerro</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F878530%2F7288c9b0-63e5-4a85-b7a1-be9f1234dfbd.jpeg</url>
      <title>DEV Community: Mario Ezquerro</title>
      <link>https://dev.to/marioezquerro</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/marioezquerro"/>
    <language>en</language>
    <item>
      <title>Gubernator [the kill ku8s]</title>
      <dc:creator>Mario Ezquerro</dc:creator>
      <pubDate>Tue, 02 Jun 2026 12:55:56 +0000</pubDate>
      <link>https://dev.to/gde/gubernator-the-kill-ku8s-2g0e</link>
      <guid>https://dev.to/gde/gubernator-the-kill-ku8s-2g0e</guid>
      <description>&lt;p&gt;Why I built an alternative to Kubernetes overkill.&lt;/p&gt;

&lt;p&gt;Let’s talk about infrastructure efficiency.&lt;/p&gt;

&lt;p&gt;Kubernetes is the undisputed industry standard for container orchestration, and for massive, complex enterprises, it’s irreplaceable. But for small-to-medium deployments or distributed multi-host edge environments, it often feels like an operational nightmare.&lt;/p&gt;

&lt;p&gt;You install a massive orchestration layer, only to realize it's still missing the basics for actual operations. To get it production-ready, you have to layer on external tools for Ingress routing, plus a heavy stack for observability, health metrics, and SLOs. Suddenly, your infrastructure consumes more resources than your actual applications.&lt;/p&gt;

&lt;p&gt;I believe in radical software minimalism. That’s why I’ve been developing Gubernator (gbnt), an open-source, lightweight distributed container orchestrator written entirely in Go.&lt;/p&gt;

&lt;p&gt;Unlike traditional platforms, Gubernator bakes essential Site Reliability Engineering (SRE) and traffic management right into its core architecture:&lt;/p&gt;

&lt;p&gt;Native Reverse Proxy: No complex third-party Ingress controllers. Gubernator automatically manages routing—like dynamically hooking up web containers to an Ingress layer (e.g., Caddy)—making exposure seamless and native.&lt;/p&gt;

&lt;p&gt;Built-in SRE &amp;amp; Observability: Out-of-the-box support for health monitoring, metrics, and SLO tracking natively leveraging OpenTelemetry and Prometheus.&lt;/p&gt;

&lt;p&gt;Zero-Bloat State Management: It swaps out heavy external key-value stores for an embedded, rock-solid SQLite architecture, ensuring multi-host consistency with a near-zero footprint.&lt;/p&gt;

&lt;p&gt;Gubernator is designed for engineers who want robust, predictable, and resilient orchestration without the overhead and cognitive load of K8s.&lt;/p&gt;

&lt;p&gt;If you are passionate about minimalist backend architecture, systems engineering, or streamlined DevOps, I’d love for you to take a look at the blueprint and documentation:&lt;/p&gt;

&lt;p&gt;Explore the project: &lt;a href="https://mario-ezquerro.github.io/gubernator/" rel="noopener noreferrer"&gt;https://mario-ezquerro.github.io/gubernator/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How do you handle container orchestration for smaller setups? Let’s connect and discuss in the comments!&lt;/p&gt;

&lt;h1&gt;
  
  
  SoftwareEngineering #GoLang #SRE #DevOps #ContainerOrchestration #OpenSource #SystemsArchitecture #Minimalism
&lt;/h1&gt;

</description>
      <category>architecture</category>
      <category>infrastructure</category>
      <category>kubernetes</category>
      <category>showdev</category>
    </item>
    <item>
      <title>The Kubernetes Overkill: Why I Built a "K8s Killer" for Small Environments</title>
      <dc:creator>Mario Ezquerro</dc:creator>
      <pubDate>Fri, 29 May 2026 09:48:30 +0000</pubDate>
      <link>https://dev.to/gde/the-kubernetes-overkill-why-i-built-a-k8s-killer-for-small-environments-m9k</link>
      <guid>https://dev.to/gde/the-kubernetes-overkill-why-i-built-a-k8s-killer-for-small-environments-m9k</guid>
      <description>&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;Worse yet, despite its size, Kubernetes isn't actually a complete solution out of the box.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;Enter Gubernator: built to be the Kubernetes killer for small environments.&lt;/p&gt;

&lt;p&gt;What Makes &lt;a href="https://mario-ezquerro.github.io/gubernator/" rel="noopener noreferrer"&gt;Gubernator&lt;/a&gt; Different?&lt;br&gt;
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:&lt;/p&gt;

&lt;p&gt;Native SRE &amp;amp; Observability: Instead of treating SRE as an afterthought, Gubernator integrates robust health checks and observability (leveraging OpenTelemetry and Prometheus) directly into the orchestrator.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;Developer-Friendly Interface: A clean REST API and an intuitive CLI tool get your containers running securely and efficiently.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;Check out the repository, documentation, and architecture here: Gubernator on GitHub Pages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mario-ezquerro.github.io/gubernator/" rel="noopener noreferrer"&gt;https://mario-ezquerro.github.io/gubernator/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;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!&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>devops</category>
      <category>kubernetes</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Introducing Gubernator: A Minimalist Container Orchestrator Alternative</title>
      <dc:creator>Mario Ezquerro</dc:creator>
      <pubDate>Wed, 27 May 2026 06:11:16 +0000</pubDate>
      <link>https://dev.to/marioezquerro/introducing-gubernator-a-minimalist-container-orchestrator-alternative-3pf9</link>
      <guid>https://dev.to/marioezquerro/introducing-gubernator-a-minimalist-container-orchestrator-alternative-3pf9</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa47dnujt6r8lav52uwfj.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa47dnujt6r8lav52uwfj.jpg" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hey everyone, I'm Mario. Over the past few months, I've been working on a project that I'm really excited to share with the community.&lt;/p&gt;

&lt;p&gt;If you've ever felt that Kubernetes (K8s) is a bit too heavy or overwhelming for certain deployments, you're not alone. While K8s is a powerhouse, it isn't always the right tool when you need a streamlined, minimalist approach. That’s exactly why I built Gubernator (gbnt).&lt;/p&gt;

&lt;p&gt;What is Gubernator?&lt;br&gt;
Inspired by the efficiency of Roman governance, Gubernator is a lightweight, distributed container orchestrator written entirely in Go. It’s designed to manage containers across multiple hosts efficiently, without the massive resource footprint and complexity of traditional orchestration systems.&lt;/p&gt;

&lt;p&gt;Key Highlights:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simplicity by Design: It features a clean REST API and an intuitive CLI tool (gbnt) to get your containers up and running quickly.&lt;/li&gt;
&lt;li&gt;Built for Reliability: SRE principles are a core focus. Gubernator natively integrates robust observability, health checks, and Service Level Objectives (SLOs) leveraging OpenTelemetry and Prometheus.&lt;/li&gt;
&lt;li&gt;Efficient State Management: Instead of requiring heavy external key-value stores, it utilizes SQLite to maintain rock-solid data consistency within a minimalist architecture.&lt;/li&gt;
&lt;li&gt;Performance-Oriented: Being Go-native, it’s fast, reliable, and perfectly suited for distributed environments or unikernel-inspired deployments.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Gubernator is an exploration into rethinking container management for modern, lightweight infrastructure. It's built for those who advocate for software minimalism and want just the right amount of orchestration without the overhead.&lt;/p&gt;

&lt;p&gt;You can check out the documentation and the repository here: Gubernator Docs &amp;amp; Repo:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://mario-ezquerro.github.io/gubernator/" rel="noopener noreferrer"&gt;https://mario-ezquerro.github.io/gubernator/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’d love to hear your thoughts, feedback, or any questions you might have in the comments. Let's talk about minimalist backend architecture!&lt;/p&gt;

</description>
      <category>devops</category>
      <category>distributedsystems</category>
      <category>go</category>
      <category>showdev</category>
    </item>
    <item>
      <title>The Loading Screen</title>
      <dc:creator>Mario Ezquerro</dc:creator>
      <pubDate>Fri, 15 May 2026 08:46:20 +0000</pubDate>
      <link>https://dev.to/gde/the-loading-screen-1ka8</link>
      <guid>https://dev.to/gde/the-loading-screen-1ka8</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpmx9pm31qa6mrzuwg4p7.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpmx9pm31qa6mrzuwg4p7.webp" alt=" " width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;BUILD WITH AI [Antigravity]&lt;/p&gt;

&lt;p&gt;Building “&lt;strong&gt;The Loading Screen&lt;/strong&gt;”: A Real-Time Interactive Experience with Google Cloud Run and Anti-Gravity&lt;br&gt;
How we turned pre-event waiting time into a high-bandwidth, 100% stateless interactive game.&lt;/p&gt;

&lt;p&gt;The Concept: “Don’t Panic, We’re Caching the Awesome”&lt;br&gt;
We’ve all been there: waiting for a conference talk to start, staring at a static slide. We decided to change that. The Loading Screen is an interactive, real-time web application designed to turn pre-event “lag” into an analog networking experience.&lt;/p&gt;

&lt;p&gt;It consists of a massive “Stage View” (projected on the main screen) and a “Mobile Interface” that turns every attendee’s smartphone into a remote controller.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Architecture:&lt;/strong&gt; 100% Stateless &amp;amp; Cloud-Native&lt;br&gt;
When building for live events, the two biggest fears are latency and sudden traffic spikes. To solve this, we designed the system to be completely stateless, optimized for the serverless nature of Google Cloud Run.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Tech Stack:&lt;/strong&gt;&lt;br&gt;
Backend: Node.js 20+ with Express.&lt;br&gt;
Real-Time: WebSockets via Socket.io for sub-millisecond interaction.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deployment:&lt;/strong&gt; Dockerized containers on Google Cloud Run.&lt;br&gt;
Scaling: Designed to scale horizontally. Since it operates entirely in memory, it eliminates database bottlenecks during the high-intensity “shaking” phase of the game.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Core Components&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The Stage View (The Visual Centerpiece)
The Stage View is a retro-futuristic canvas inspired by 8-bit hacker culture and circuit board aesthetics.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The I/O Portal: A moving digital gateway acting as a 3D vanishing point.&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://loading-screen.fiware.app/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;loading-screen.fiware.app&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;The “Muggle March”: When a user launches a “Muggle” (a pixel-art character) from their phone, it appears on the big screen and marches toward the portal, shrinking in size to create a depth effect.&lt;/p&gt;

&lt;p&gt;Dynamic QR Integration: The screen automatically generates a QR code so attendees can jump into the action instantly without typing a URL.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. The Mobile Interface (Launch Control)&lt;/strong&gt;&lt;br&gt;
We wanted a “zero-install” experience. No App Store, just the browser.&lt;/p&gt;

&lt;p&gt;Shake-to-Launch: Leveraging the HTML5 DeviceMotion API, users physically shake their phones to "throw" their character onto the big screen.&lt;br&gt;
Anti-Gravity Feel: The integration with motion sensors provides a tactile, “anti-gravity” sensation as if the phone is pushing the character into the digital space.&lt;br&gt;
Customization: Users can add a 25-character message that floats above their character, creating a real-time, anonymous chat-bubble parade.&lt;/p&gt;

&lt;p&gt;Deployment &amp;amp; Scalability on Google Cloud&lt;br&gt;
By using Google Cloud Run, we achieved a “Pay-as-you-go” model that is perfect for events. The application stays at zero cost until the event starts, then scales instantly as hundreds of attendees scan the QR code.&lt;/p&gt;

&lt;p&gt;Become a Medium member&lt;br&gt;
The container is bound to the $PORT environment variable, making it fully compatible with Cloud Run’s managed runtime.&lt;/p&gt;

&lt;p&gt;Running it locally&lt;br&gt;
If you want to experiment with this setup, you can run the Dockerized version in seconds:&lt;/p&gt;

&lt;p&gt;Bash&lt;/p&gt;
&lt;h1&gt;
  
  
  Build the lightweight Alpine image
&lt;/h1&gt;

&lt;p&gt;docker build -t loading-screen .&lt;/p&gt;
&lt;h1&gt;
  
  
  Run the container
&lt;/h1&gt;

&lt;p&gt;docker run -d -p 8080:8080 -e PORT=8080 --name loading-screen-app loading-screen&lt;/p&gt;

&lt;p&gt;Lessons Learned&lt;br&gt;
Building The Loading Screen taught us that:&lt;/p&gt;

&lt;p&gt;State is the Enemy of Scale: Keeping the app in-memory and stateless allowed us to handle connections without worrying about DB latency.&lt;/p&gt;

&lt;p&gt;Permissions Matter: Modern mobile browsers (especially iOS 13+) require explicit user consent for motion sensors. A “Ready to Launch” button is essential for the UX.&lt;/p&gt;

&lt;p&gt;Visual Feedback is King: In a crowded room, seeing your specific character appear instantly on a 20-foot screen creates a powerful “wow” moment.&lt;/p&gt;

&lt;p&gt;Check out the Project&lt;br&gt;
The project is fully open-source. We encourage you to fork it, add new “Muggle” characters, or adapt it for your own tech meetups!&lt;/p&gt;

&lt;p&gt;to probe: &lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://loading-screen.fiware.app/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;loading-screen.fiware.app&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Repository: &lt;a href="https://github.com/mario-ezquerro/loading-screen" rel="noopener noreferrer"&gt;https://github.com/mario-ezquerro/loading-screen&lt;/a&gt;&lt;br&gt;
Keywords: #GoogleCloud #NodeJS #WebSockets #GameDev #CloudRun #Serverless&lt;/p&gt;

</description>
      <category>ai</category>
      <category>gamedev</category>
      <category>google</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
