Why I Built a Kubernetes Deployment Tool ![rw-book-cover](https://i0.wp.com/eric.mann.blog/wp-content/uploads/2026/01/create-a-featured-image-for-a-blog-post-about-a.png?fit=1024%2C768&ssl=1) > [!note]+ Document Notes > tags: [Kubernetes, PHP, DevOps] > author: Eric Mann > source: Eric Mann's Blog > reference: [https://eric.mann.blog/why-i-built-a-kubernetes-deployment-tool/] > date created: 2026-01-07 00:00 > # 🏷️ Title: Why I built a Kubernetes deployment tool > ## 🧭 Table of Contents > - [📝 Summary](#-summary) > - [📖 Main Content](#-main-content) > - [🗒️ Notes](#️-notes) > - [📚 References](#-references) > - [🗣️ Paraphrase](#️-paraphrase) > - [📰 Newsletter](#-newsletter) > - [✅ Action Items](#-action-items) > - [🧪 Hypotheses](#-hypotheses) > - [📊 Methodology](#-methodology) > - [❓ Questions](#-questions) > - [🔮 Future Research](#-future-research) > - [💡 Implications](#-implications) > - [🧠 Learning Styles Assessment](#-learning-styles-assessment) > - [📊 Accessibility Assessment](#-accessibility-assessment) > - [🌍 DEIB Assessment](#-deib-assessment) > - [✅ Logical Validity](#-logical-validity) > - [🛡️ DARVO Analysis](#-darvo-analysis) > - [🎯 Conclusion](#-conclusion) > ### 🔗 References > - Include links cited in or relevant to the article. > ## 📝 Summary > - What happened: Eric Mann introduces Displace, a CLI and infrastructure platform that turns Docker Compose-style configs into production-ready Kubernetes deployments. > - Why it matters: It shrinks the gap between local dev and production, especially for PHP teams who struggle with Kubernetes complexity. > - Key stakeholders: PHP/Laravel and WordPress developers, platform/SRE teams, and orgs adopting Kubernetes. > - Risks and tradeoffs: Reliance on an abstraction layer; eventual need to understand raw Kubernetes for complex edge cases. > - Bottom line: Displace aims to let teams ship to Kubernetes in days instead of months, plus consulting for harder migrations. > ## 📖 Main Content > - Core argument: The jump from `docker-compose up` to production Kubernetes is unreasonably hard and slow for most teams, even experienced ones. Developers “drown in YAML” and often fall back to unsafe shortcuts like running production as if it were their laptop. > - Solution: Displace provides a translation layer: you keep thinking in Docker Compose concepts, and the tool maps them to Kubernetes primitives (Deployments, Services, PersistentVolumeClaims, CronJobs, etc.). It wraps standard tools rather than replacing them, so teams can later “graduate” to direct Kubernetes use. > - Example: A Laravel app (DailyMedToday) with PostgreSQL, Redis, queues, and backups moves from local Docker Compose to production Kubernetes “in an afternoon, not weeks.” > - PHP angle: PHP developers don’t need a “40-hour Kubernetes course”; they need conceptual mapping and a smoother path. Mann is also giving PHP Tek talks on this bridge and on semantic search in Laravel using the same app. > - Business angle: Alongside the tool, he offers consulting to get teams to production Kubernetes quickly for Laravel, WordPress at scale, and other workloads. > ### 🗒️ Notes > - Author has 20+ years of production deployment experience, including high-traffic PHP infrastructure and security writing, and has “seen a lot of deployment strategies come and go.” > - Persistent pattern: devs have great local setups via Docker Compose, but production Kubernetes introduces: > - New resource types (Deployments, Services, Ingresses, ConfigMaps, Secrets, PersistentVolumeClaims). > - A steep terminology and configuration learning curve. > - Weeks or months spent on infrastructure rather than features. > - Common failure mode: smart teams mirror local environments in production using Docker Compose or ad-hoc Bash scripts, bypassing Kubernetes or using it unsafely. > - Displace: > - CLI plus infrastructure platform. > - Translates Compose concepts directly into Kubernetes resources. > - Built on standard ecosystem tools rather than a proprietary stack. > - Lets you “build what you need; Displace handles the deployment.” > - Still compatible with underlying tools when teams later manage Kubernetes directly. > - Case study: DailyMedToday (Laravel + PostgreSQL + Redis + queues + nightly backup CronJob): > - Local: Docker Compose on localhost. > - Production: Displace deploys to a Kubernetes cluster with a “quick command.” > - Migration-time claim: one afternoon instead of weeks. > - Applicability: > - Works for Laravel, WordPress, and other PHP apps. > - Expanding to non-PHP workloads. > - Education: > - Two PHP Tek talks: > - Conceptual bridge from Docker Compose to Kubernetes. > - Semantic search/embeddings in Laravel using DailyMedToday as live example. > - Emphasis on showing that “Docker Compose concepts map directly to Kubernetes primitives” so the mental model transfers. > - Services offered: > - Consulting for: > - Migrating Laravel monoliths. > - Deploying WordPress at scale. > - New greenfield apps. > - Positioning: production Kubernetes in days, not months. > - Vision: “The PHP ecosystem deserves better infrastructure tooling.” Displace and associated consulting aim to fill this gap. > - Call to action: > - Meet at PHP Tek. > - Try Displace (CLI is free for core concepts; paid workflows for cloud). > - Follow along on X and Mastodon. > - Prompt to reflect: “What infrastructure problems are slowing your team down?” > ## 📚 References > - “Why I built a Kubernetes deployment tool” (primary article): https://eric.mann.blog/why-i-built-a-kubernetes-deployment-tool/ > - PHP Tek conference: https://tek.phparch.com/ > - Kubernetes (project home): https://kubernetes.io/ > - Docker Compose: https://docs.docker.com/compose/ > - Laravel framework: https://laravel.com/ > - WordPress: https://wordpress.org/ > - php[architect] magazine: https://www.phparch.com/ > ## 🗣️ Paraphrase > - Paragraph A paraphrase: Modern dev teams are efficient locally with Docker Compose but hit a wall in production because Kubernetes is conceptually heavy, YAML-heavy, and slow to learn, so they often either avoid it or misuse it. > - Paragraph B paraphrase: Displace abstracts Kubernetes by mapping familiar Docker Compose ideas onto correct Kubernetes resources, demonstrated on a Laravel app, and is paired with consulting and talks aimed especially at PHP developers who want Kubernetes results without becoming full-time SREs. > ## 📰 Newsletter > For many WordPress and PHP teams, Kubernetes still feels like an overcomplicated detour between “it works on my machine” and “it’s reliable in production.” In his new article, Eric Mann introduces Displace, a deployment tool that turns familiar Docker Compose concepts into production-ready Kubernetes resources—no 40‑hour crash course required. > Mann walks through deploying a Laravel app with PostgreSQL, Redis, queues, and scheduled backups from localhost to a Kubernetes cluster in an afternoon. The same patterns apply to WordPress: think Services, volumes, and CronJobs, but generated from a higher-level config instead of hand-crafted YAML. > If you’re exploring Kubernetes for WordPress or PHP apps, this is a practical perspective on where abstraction helps, where you’ll still need to understand the platform, and how to avoid running your production like a glorified laptop. > ## ✅ Action Items > #### DevRel > - Clarify positioning of Displace in talks and docs as “Compose-to-Kubernetes bridge” for PHP and WordPress developers. > - Create demo repos (Laravel + WordPress) that mirror real-world production patterns using Displace. > - Publish quickstarts and copy-paste snippets for common stacks (WordPress + Redis + object cache; Laravel + Horizon, etc.). > - Track adoption via signups, CLI usage, and conference workshop conversions. > - Collect developer feedback on confusing Kubernetes concepts to inform future content. > #### OSPO > - Document how Displace interacts with upstream Kubernetes and any open source components it uses. > - Establish guidance for teams using similar abstraction layers while maintaining license compliance and security scanning. > - Define an SBOM approach that includes tools like Displace in the delivery pipeline. > #### Community > - Host office hours or online meetups for PHP/Laravel/WordPress devs experimenting with Kubernetes. > - Encourage maintainers of PHP apps to publish reference “production on Kubernetes” configurations, with or without Displace. > - Gather stories about infra pain points to prioritize future tooling and documentation. > #### WordPres ![](https://i0.wp.com/eric.mann.blog/wp-content/uploads/2026/01/create-a-featured-image-for-a-blog-post-about-a.png?w=1024&ssl=1) I’ve been deploying applications to production for twenty years. I wrote a new [*PHP Cookbook* for O’Reilly](https://amzn.to/3V3ExHE). I’ve managed infrastructure at companies handling millions of simultaneous requests. I write the monthly Security Corner column for [PHP Architect magazine](https://www.phparch.com/). I’ve seen a lot of deployment strategies come and go. And yet — getting some apps into production on Kubernetes still takes most teams weeks. Sometimes months. That disconnect has bothered me for years. #### **The Problem I Kept Seeing** Every developer I talk to has the same story, whether they write PHP or something else. They’ve mastered Docker Compose. Local development is smooth. Redis spins up with a single command. PostgreSQL just works. Life is good. Production is different. Suddenly they’re drowning in YAML files. Deployments, Services, Ingresses, ConfigMaps, Secrets, PersistentVolumeClaims. The terminology alone takes a week to internalize. Actually configuring it correctly? That’s a month of trial and error — if you’re lucky. Some of the best developers I’ve known take fatal shortcuts. Production becomes a mirror of their laptop: Docker Compose or manual Bash scripts running the application through brute force. I watched this happen at company after company. Smart developers, talented teams, burning weeks of runway on infrastructure instead of building features their users actually needed. #### **Why I Built Displace** The gap between `docker-compose up` and production Kubernetes shouldn’t require a platform engineering team. That’s the premise behind [Displace](https://displace.tech). It’s a CLI tool and infrastructure platform that translates Docker Compose concepts into production-ready Kubernetes — without requiring you to become a Kubernetes expert first. You build what you need. Displace handles the deployment. It’s a wrapper around industry-standard tools that lowers the learning curve to launching a production application. When you need it, Displace makes the process of rolling out code easy. When you’re ready to call yourself an SRE[1](javascript:void(0)) and go it alone – you can still use the same underlying tools! Here’s what that looks like in practice: I recently built a new project: [DailyMedToday](https://dailymedtoday.com). It’s a Laravel application with PostgreSQL, Redis, queue workers, and a nightly backup CronJob. Locally, I use Docker Compose to test my changes on `http://localhost`. But a quick command with Displace launches it to my production Kubernetes cluster. The migration from one to the other took an afternoon. Not weeks. The same patterns work for WordPress. For any PHP application, really. And increasingly for non-PHP workloads too. #### **What This Means for PHP Developers** I’m presenting two talks [at PHP Tek in May](https://phptek.io). One covers the conceptual bridge from Docker Compose to Kubernetes. The other demonstrates semantic search and embeddings in Laravel — using DailyMedToday as a live example. Both talks exist because I’ve learned that PHP developers don’t need another 40-hour Kubernetes course. They need someone to show them the translation layer. Docker Compose concepts map directly to Kubernetes primitives. Services are still Services. Volumes become PersistentVolumeClaims. The mental model transfers, if someone shows you how. That’s what Displace does automatically. And it’s what I’ll be teaching at Tek. #### **The Consulting Angle** Beyond the tool itself, I offer hands-on consulting for teams that want to make this transition. Whether you’re migrating an existing Laravel monolith, deploying WordPress at scale, or building something entirely new — I can help. Working with me lets you get to production Kubernetes in days instead of months. The PHP ecosystem deserves better infrastructure tooling. That’s what I’m building. If you’re heading to PHP Tek, come find me. If you’re struggling with Kubernetes adoption, take a look at [Displace](https://displace.tech). The CLI can help with core concepts for free; when you’re ready to graduate to the cloud I offer simple pricing for additional workflows and tools. If you just want to follow along as I build this in public, I active on [both X](https://x.com/ericmann) and [Mastodon](https://tekton.network/@ericmann). What infrastructure problems are slowing your team down?, Why I Built a Kubernetes Deployment Tool, Eric Mann's Blog, 01ked1pk9k7pxskby3k4m9sqgv.