Platform Engineering für mittelgroße SaaS: Eine interne Developer-Plattform ohne Kubernetes-Komplexität

#Platform Engineering kleines Team
Sandor Farkas - Founder & Lead Developer at Wolf-Tech

Sandor Farkas

Gründer & Lead Developer

Experte für Softwareentwicklung und Legacy-Code-Optimierung

Platform Engineering für mittelgroße SaaS: Eine interne Developer-Plattform ohne Kubernetes-Komplexität

Das meiste, was über Platform Engineering geschrieben wird, setzt ein Plattform-Team von zehn Leuten und einen Kubernetes-Cluster voraus, der bereits in Production läuft. Wenn du ein SaaS mit 5-20 Engineers betreibst, ist diese Literatur schlimmer als nutzlos: Sie redet dir ein, dass Platform Engineering für ein kleines Team entweder Spezialisten bedeutet, die du dir nicht leisten kannst, oder den kompletten Verzicht auf die Disziplin. Beide Schlüsse sind falsch.

Eine interne Developer-Plattform (IDP) im kleinen Maßstab ist kein GUI, kein Service-Katalog und keine API. Sie ist ein Set von Konventionen, eine Handvoll Makefile-Targets, ein Deployment-Pipeline-Template und dokumentierte Runbooks, die den goldenen Pfad zum einfachen Pfad machen. Teams, die diese Investitionen tätigen, sehen dieselben Vorteile, mit denen die Großen werben, etwa Self-Service-Umgebungen, schnelles Onboarding und weniger "wie deploye ich das?"-Unterbrechungen, ohne einen Container-Orchestrator zu betreiben, den sie nicht brauchen.

Dieser Beitrag behandelt, was eine IDP im kleinen Maßstab wirklich ist, die drei Investitionen mit dem höchsten ROI, wie Kamal und Docker Compose statt Kubernetes die Infrastrukturschicht bilden können, und den Punkt, an dem sich ein echtes Plattform-Team bezahlt macht.

Was Platform Engineering für ein kleines Team bedeutet

Zieh die Vendor-Landschaft ab und Platform Engineering ist eine Idee: die kognitive Last der Produkt-Engineers reduzieren, indem Infrastrukturentscheidungen einmal, zentral, getroffen und so kodiert werden, dass niemand sie pro Projekt neu treffen muss.

Bei einer Firma mit 200 Engineers nimmt diese Kodierung die Form eines Developer-Portals wie Backstage, einer Kubernetes-Plattform und eines Teams an, das beides betreibt. Bei einer Firma mit 10 Engineers sieht dieselbe Idee so aus:

  • Ein Makefile (oder justfile) mit identischen Targets in jedem Repository: make setup, make dev, make test, make deploy
  • Ein dokumentierter Weg, einen neuen Service anzulegen, mit einem Template-Repository, das CI, Linting, Logging und Deployment-Konfiguration schon enthält
  • Runbooks, die neben dem Code liegen, den sie beschreiben, damit die Person im Bereitschaftsdienst um 2 Uhr nachts Anweisungen liest statt Absichten zu rekonstruieren
  • Ein einziges Deployment-Tool mit einem einzigen Konfigurationsmuster über alle Apps

Beachte, was fehlt: kein GUI, keine interne API, kein dedizierter Headcount. Die Plattform ist ein Set von Vereinbarungen plus die Automatisierung, die sie durchsetzt. Das ist keine mindere Version von Platform Engineering. Es ist die Version, die zum Maßstab passt.

Der Test, ob du eine Plattform hast, ist simpel: Kann ein neuer Engineer ein Repository klonen, das er nie gesehen hat, und es innerhalb von 30 Minuten lokal laufen lassen, ohne jemanden zu fragen? Kann jeder Engineer jeden Service deployen, ohne dass ein Senior die Mechanik reviewt? Wenn ja, hast du eine IDP, egal woraus sie gebaut ist.

Die drei Plattform-Investitionen mit dem höchsten ROI für ein kleines Team

Du kannst nicht alles machen, und du solltest es nicht versuchen. Drei Investitionen bringen für Teams zwischen 5 und 20 Engineers konsistent mehr ein, als sie kosten.

1. Standardisiertes lokales Development-Setup

Auseinanderlaufende lokale Setups sind die stille Steuer auf kleine Teams. Ein Engineer läuft PHP nativ, ein anderer nutzt Docker, ein dritter hat einen kaputten Node-Version-Manager. Jeder Unterschied wird irgendwann ein "läuft auf meiner Maschine"-Bug oder ein Nachmittag, der beim Environment-Debugging verloren geht.

Der Fix ist eine docker-compose.yaml pro Repository plus ein make setup-Target, das vom frischen Clone zur laufenden Anwendung führt: Env-Template kopieren, Container bauen, Dependencies installieren, Migrationen ausführen, Daten seeden. Das Target muss idempotent sein, zweimal ausführen darf nie etwas kaputt machen.

Die Disziplin, die das am Leben hält: Wenn das Setup für irgendjemanden bricht, ist die Reparatur des Setup-Skripts die Aufgabe mit höchster Priorität, nicht eine Workaround-Notiz in Slack. In dem Moment, in dem der dokumentierte Pfad nicht mehr funktioniert, bauen Leute private Workarounds und die Plattform verfällt.

2. Ein Deployment-Pipeline-Template

Die zweite Investition ist eine CI/CD-Pipeline, die einmal definiert und in jedes Repository kopiert (oder als wiederverwendbarer Workflow referenziert) wird. Build, Test, Lint, statische Analyse, Image-Build, Deploy. Gleiche Stages, gleiche Benennung, gleiches Secrets-Muster.

Der Gewinn ist Symmetrie: Jeder Engineer kann jede Pipeline debuggen, weil es dieselbe Pipeline ist. Wenn du zentral eine Stage hinzufügst, etwa ein Dependency-Audit oder ein Link-Checking-Gate für Content, erbt jeder Service sie in einem Pull Request statt in zehn inkonsistenten.

Ein Pipeline-Template erzwingt auch die Frage, die jedes Team einmal beantworten sollte, nicht pro Projekt: Was muss wahr sein, bevor Code Production erreicht? Die Antwort in einem Template zu kodieren macht aus einer Policy-Debatte Infrastruktur.

3. Ein Secrets-Rotations-Workflow

Secrets-Management ist der Ort, an dem kleine Teams still Risiko ansammeln. Das Datenbankpasswort von vor zwei Jahren, der API-Key in drei CI-Konfigurationen und dem Shell-Profil eines Engineers, das SMTP-Credential, das niemand anzufassen wagt. Nichts davon tut weh, bis zu dem Tag, an dem es das tut, entweder durch ein Leak oder durch die Lähmung, nichts rotieren zu können, ohne Angst zu haben.

Du brauchst keinen Vault-Cluster. Du brauchst einen dokumentierten, geprobten Workflow: ein Inventar, welche Secrets existieren und wo sie injiziert werden, ein Kommando oder kurzes Runbook pro Secret, um es zu rotieren, und eine Kalendererinnerung für die Rotation. Kamals Secrets-Handling und verschlüsselte Env-Muster wie SOPS decken die Mechanik für ein Team dieser Größe ab. Die Details haben wir in Secrets-Rotation ohne Vault-Cluster beschrieben.

Der Rotations-Workflow verdient seinen Platz in den Top drei, weil er die Investition ist, die niemand macht, bis ein Incident sie erzwingt, und dann kostet sie unter Druck das Zehnfache.

Kamal und Docker Compose statt Kubernetes

Der Reflex, der kleine Teams vom Platform Engineering abhält, ist der Glaube, eine IDP brauche Kubernetes darunter. Braucht sie nicht. Die Infrastrukturschicht einer kleinen Plattform muss vier Dinge tun: Container ausführen, sie ohne Downtime deployen, Secrets injizieren und zurückrollen. Kamal macht alle vier gegen einfache Server, und Docker Compose deckt die lokale Entwicklung mit denselben Container-Images ab.

Die Kombination funktioniert, weil sie ein mentales Modell vom Laptop bis Production erhält. Dasselbe Dockerfile baut das Image, das ein Engineer lokal via Compose ausführt, und das Image, das Kamal auf den Server bringt. Es gibt keinen Übersetzungsschritt zwischen "wie es auf meiner Maschine läuft" und "wie es in Production läuft", und genau in dieser Lücke wird Deployment-Wissen sonst zu Stammeswissen.

Was du gegenüber Kubernetes aufgibst, sind horizontales Autoscaling, ausgefeiltes Scheduling und das Operator-Ökosystem. Was du gewinnst, ist eine Infrastrukturschicht, die ein Engineer in einer Woche komplett verstehen kann. Für ein typisches B2B-SaaS mit ein paar tausend Requests pro Minute auf einer Handvoll Server geht dieser Tausch klar zu deinen Gunsten aus. Einen detaillierten Vergleich haben wir in Kamal vs. Kubernetes für Indie-SaaS geschrieben, und wenn du eine UI-getriebene Alternative bevorzugst, lohnt sich ein Blick auf Coolify und Dokploy.

Das Plattform-Framing ändert, wie du diese Tools konfigurierst. Statt dass jede App ein handgefertigtes deploy.yml hat, definierst du ein kanonisches Kamal-Konfigurationsmuster mit demselben Health-Check-Ansatz, derselben Secrets-Quelle und derselben Rollback-Prozedur, und jede App folgt ihm. Das Tool ist Kamal; die Plattform ist die Konvention.

Wann sich ein echtes Plattform-Team bezahlt macht

Konventionen und Templates skalieren weiter, als die meisten Teams erwarten, aber nicht endlos. Die Signale, dass du der konventionsbasierten Plattform entwächst, sind konkret:

  • Engineers verbringen einen messbaren Anteil ihrer Woche, sagen wir 15 Prozent oder mehr, mit Infrastrukturarbeit, die keine Produktarbeit ist
  • Die Zahl der Services ist über etwa 15-20 gewachsen, und Template-Drift bedeutet, dass "überall dieselbe Pipeline" nicht mehr stimmt
  • Du brauchst wirklich Fähigkeiten, die einfache Server nicht liefern: Autoscaling für Lastspitzen, Multi-Region-Failover, Per-Tenant-Isolation auf Scheduler-Ebene
  • Die Onboarding-Zeit kriecht wieder hoch, weil die Konventionen in mehr Köpfen als Dokumenten leben

An diesem Punkt macht sich eine erste Plattform-Einstellung (kein Team, eine Person) bezahlt, indem sie die Produktzeit zurückholt, die gerade in Infrastruktur versickert. Bis diese Signale auftauchen, ist ein dediziertes Plattform-Team Overhead mit modischem Namen. Diese Entscheidung ehrlich zu treffen ist eine Tech-Stack-Strategie-Frage: Die Antwort hängt von deiner Wachstumskurve ab, nicht von Konferenz-Talks.

Ein konkretes Beispiel: Onboarding von 3 Tagen auf 4 Stunden

Ein Symfony- und Next.js-Shop, mit dem wir gearbeitet haben, hatte das Standard-Profil vor der Plattform: vier Repositories, vier verschiedene lokale Setups, Deployments durch die zwei Engineers, die die Beschwörungsformeln kannten, und ein Onboarding, das drei Tage Pairing brauchte, bis die erste lokale Umgebung lief.

Die Intervention waren genau die drei Investitionen oben, umgesetzt über etwa drei Wochen neben der normalen Produktarbeit:

  1. Jedes Repository bekam dieselben make setup / make dev / make test-Targets auf Basis von Docker Compose, wobei die Symfony-API und das Next.js-Frontend ein Compose-Netzwerk teilten, sodass der volle Stack mit zwei Kommandos lief.
  2. Ein wiederverwendbarer CI-Workflow ersetzte vier auseinandergelaufene Pipelines; Deploys liefen über Kamal mit einem Konfigurationsmuster und einem dokumentierten Ein-Kommando-Rollback.
  3. Secrets zogen aus verstreuten CI-Einstellungen in Kamals Secrets-Flow um, mit einem einseitigen Rotations-Runbook pro Credential.

Der nächste Neuzugang klonte, führte make setup zweimal aus (einmal pro Stack) und hatte das volle Produkt vor dem Mittagessen lokal laufen: rund vier Stunden von der Laptop-Übergabe bis zum ersten lokalen Commit, gegenüber vorher drei Tagen. Der Deploy-Flaschenhals verschwand als Nebeneffekt, weil Deployen nicht mehr die zwei Engineers brauchte, die das Wissen hielten.

Nichts davon brauchte neue Infrastruktur. Die Server waren dieselben. Was sich änderte: Entscheidungen, die vorher pro Projekt getroffen und in Köpfen gespeichert wurden, wurden einmal getroffen und in Code gespeichert.

Wo du anfängst

Wenn du bei null startest, sequenziere die Arbeit nach Schmerzfrequenz: lokales Setup zuerst, weil es jeder täglich anfasst, das Pipeline-Template als Zweites, weil es jeder Merge anfasst, Secrets-Rotation als Drittes, weil die Kosten des Auslassens auf einen Schlag kommen. Widersteh der Versuchung, mit der Evaluation von Plattform-Produkten zu beginnen; in diesem Maßstab wird die Plattform in deinen Repositories geschrieben, nicht gekauft.

Wenn du einen erfahrenen Blick von außen auf diese Sequenzierung willst, oder praktische Hilfe beim Bau der Templates und Runbooks für einen Symfony- oder Next.js-Stack, ist das genau die Art von Engagement, die wir regelmäßig als Teil von Custom Software Development und Plattform-Modernisierung machen. Melde dich unter hello@wolf-tech.io oder über wolf-tech.io, und wir schauen uns an, wo dein Team die meiste Zeit verliert.

FAQ

Lohnt sich Platform Engineering für ein Fünf-Personen-Team? Ja, in der hier beschriebenen konventionsbasierten Form. Ein Fünf-Personen-Team profitiert von einem standardisierten lokalen Setup und einem Deployment-Muster genauso wie ein größeres Team, und die Investition sind Tage, nicht Monate. Was ein Fünf-Personen-Team nicht tun sollte: Kubernetes einführen oder Plattform-Spezialisten einstellen.

Brauchen wir Backstage oder ein anderes Developer-Portal? Unter etwa 20 Engineers und 15 Services katalogisiert ein Portal Dinge, die du im Kopf behalten kannst. Ein gepflegter README-Index und eine konsistente Repository-Struktur liefern die Auffindbarkeit ohne die Betriebskosten.

Kann Kamal Kubernetes für Production-SaaS wirklich ersetzen? Für Single-Region-Workloads auf einer Handvoll Server: ja. Zero-Downtime-Deploys, Health Checks, Secrets und Rollbacks sind abgedeckt. Wenn du Autoscaling, Multi-Region-Scheduling oder Per-Tenant-Workload-Isolation brauchst, beginnt Kubernetes seine Komplexität zu verdienen.

Was ist das erste Zeichen, dass wir eine dedizierte Plattform-Person brauchen? Miss, wie viel Produkt-Engineering-Zeit pro Sprint in Infrastrukturarbeit versickert. Bleibt dieser Anteil trotz guter Konventionen ein Quartal lang über 15 Prozent, holt eine Plattform-Einstellung mehr Zeit zurück, als sie kostet.