Local Kubernetes Dev — Part 1: The inner dev loop and why run a cluster locally
What the inner dev loop is, why Kubernetes makes it painfully slow, and why it's cheaper to close the 'works locally / breaks in the cluster' gap before you deploy.
Articles on Ruby, Go, DevOps, Security, and more.
What the inner dev loop is, why Kubernetes makes it painfully slow, and why it's cheaper to close the 'works locally / breaks in the cluster' gap before you deploy.
What 'production-like' really means, where to draw the line between fidelity and convenience, and why docker-compose is an anti-pattern as a stand-in for prod.
A map of the 2025–2026 ecosystem: Docker, kubectl, local clusters (k3d/kind/minikube), Helm, Kustomize, loop accelerators (Tilt/Skaffold), k9s — and why we pick k3d + Tilt.
Install Docker, kubectl, k3d, helm and tilt on macOS, Linux and Windows+WSL2, add k9s, and verify the whole toolchain works.
Why k3d is the fastest, lightest way to run Kubernetes locally, when to reach for kind or minikube instead, and how to create a cluster with a built-in registry.
Write a production-ready Dockerfile: multi-stage builds, layer caching, slim base images, and the common mistakes that make images slow and bloated.
The minimal set of manifests — Deployment, Service, namespace — to get your service running, explained declaratively.
Tilt collapses the edit → build → push → apply → wait loop into seconds with live updates, automatic rebuilds and a handy dashboard.
Run PostgreSQL, Redis and RabbitMQ alongside your service with Helm so your local setup stays close to prod instead of a zoo of start scripts.
Separate configuration from code with ConfigMaps and Secrets, and learn how your service discovers the database without hardcoded credentials.
How traffic reaches your Pod: Service types, port-forwarding, and an Ingress with Traefik for clean hostnames in your local cluster.
The basic debugging toolkit — logs, describe, events, a terminal UI — and where to grow once the basic commands stop being enough.
Close the last gaps to prod: resource limits, liveness/readiness probes, replicas, Helm/Kustomize and real config parity.
Turn your local setup into a repeatable deploy: package with Helm/Kustomize and wire up a CI pipeline that builds, tests and ships.
ImagePullBackOff, CrashLoopBackOff and friends: the three commands that diagnose almost everything and the short list of common root causes.
What you've built, a recap of the whole toolchain, and where to go next — GitOps, remote dev, and scaling the approach to a team.
A comprehensive analysis of the November 2025 Cloudflare outage that affected 20% of global web traffic, including root causes, real-world impact, and practical DevOps strategies for building resilient infrastructure.
Complete guide to setting up secure remote access to your Raspberry Pi from anywhere in the world using Reverse SSH and AWS EC2. Works behind any NAT without router configuration.
A step-by-step guide to securely setting up VNC access to your Raspberry Pi using an AWS EC2 intermediate server and your own domain. Works behind any NAT without port forwarding.
Step-by-step guide to modern deployment strategies: Blue-Green, Canary, Rolling Updates, Feature Flags, and A/B Testing. Explained in simple terms with pros, cons, risks, metrics, and practical examples.
A detailed breakdown of Git branches: why they're needed, what types exist (feature, develop, release, hotfix, main), the history of their evolution, and the future of branching. Complete lifecycle of a release branch with practical examples and cheatsheet.
A structured introduction to release orchestration: core concepts, roles, tools, and metrics that enable predictable, zero-downtime releases.
A comparison of manual releases, script automation, CI/CD platforms, and GitOps — and when each approach works best.
How engineering teams moved from night releases and manual checklists to declarative infra, pipelines, and policy-as-code.
A step-by-step curriculum for engineers and tech leads: fundamentals, tools, patterns, practices, books, and hands-on projects.
Comprehensive analysis of the unprecedented crisis in Ruby ecosystem when Ruby Central forcibly took control of critical RubyGems and Bundler infrastructure.
From fragile legacy code to a healthy engineering culture — how one team used incremental constraints like test coverage, performance checks, and security scans to turn chaos into quality.
What happens behind the scenes during gem install: automated scanning, risk scoring, retroactive scanning, incident response — and why companies should support RubyGems critical infrastructure.
Step-by-step guide to integrating bundler-audit, license_finder, and OSV Scanner into CI/CD pipelines — with YAML examples that block deployments until issues are fixed.
Why Rack::BodyProxy is fading out, how rack.response_finished delivers accurate post-response hooks with fewer allocations, and a step-by-step migration path for your middleware.
Forward-only migrations, expand–contract pattern, online DDL, dual-write models, monitoring, and disaster recovery — a practical guide to evolving Rails database schemas without downtime.
Learn how feature flags work, why they're needed, and how to implement them in your applications. Discover how to enable safe releases, quick rollbacks, A/B testing, and flexible configuration without code changes.
A comprehensive guide to Keycloak and identity federation, covering modern IAM, authentication functions, user experience, and security benefits.
Enhancing Identity and Access Management with tailored solutions for authentication, authorization, and user management through custom Keycloak providers.
A comprehensive guide to integrating Keycloak authentication with Next.js applications using the App Router and NextAuth.js for secure, streamlined user authentication.
Learn how to implement Role-Based Access Control (RBAC) in your applications using Keycloak to manage different user access levels securely and efficiently for Python and FastAPI applications.
A comprehensive guide to understanding the core concepts of Keycloak: Realms, Clients, and Roles for effective identity and access management in your applications.
Learn two effective methods to create a requirements.txt file for your Python project: using virtual environments with pip freeze and scanning imports with pipreqs.
Explore how storytelling principles enhance software design through methodologies like DDD, BDD, and Event Storming, and why narrative structures are critical for modern development.
A comprehensive guide to deploying Keycloak on AWS ECS with Fargate using Terraform, including architecture overview and key components.
Learn how to deploy Keycloak in a clustered environment with Nginx as a load balancer, exploring different clustering modes including JGroups and Kubernetes.
An exploration of Homebrew Services for macOS, explaining why it's needed, how it works, and what alternatives are available.
A deep dive into LangChain, exploring its purpose, functionality, and potential alternatives for AI development.