Was ist Platform Engineering?
Problem (wachsende Entwicklerteams):
Ops: ueberlastet mit Tickets
Devs: warten auf Umgebungen / Deployments
Kognitive Belastung: jeder lernt alles selbst
Platform Engineering:
Platform-Team baut "Golden Paths"
Entwickler nutzen Self-Service-Portale
Standardisierte, vorgefertigte Bausteine
"If you build it, they will come" → "Build the road, then maintain it"
Kernprodukte:
- Internal Developer Portal (Backstage)
- Self-Service-Kubernetes-Namespaces
- Vorlagen fuer neue Services
- Monitoring-Dashboards automatisch
Backstage – Das IDP-Framework
# Backstage von Spotify (CNCF Incubating)
# developer-portal fuer alle Tools zentralisieren
# Backstage erstellen
npx @backstage/create-app@latest
cd my-backstage-app
yarn install
# Entwicklungsserver starten
yarn dev
# http://localhost:3000
# Produktions-Docker-Build
yarn build
yarn build:backend
Software-Katalog (catalog-info.yaml)
# In jedem Service-Repository:
# catalog-info.yaml
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: meine-app
title: Meine App
description: "Haupt-Webanwendung der Firma"
annotations:
github.com/project-slug: meinefirma/meine-app
backstage.io/techdocs-ref: dir:.
tags:
- node
- api
- production
links:
- url: https://grafana.firma.de/d/meine-app
title: Grafana Dashboard
- url: https://sentry.firma.de/meinefirma/meine-app
title: Sentry Error Tracking
spec:
type: service
lifecycle: production
owner: team-backend
dependsOn:
- component:postgresql
- component:redis
Service-Templates
# templates/nodejs-service/template.yaml
apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
name: nodejs-service-template
title: Node.js Service
description: Erstellt einen neuen Node.js-Microservice
spec:
owner: platform-team
type: service
parameters:
- title: Service-Informationen
properties:
name:
title: Service-Name
type: string
pattern: '^[a-z][a-z0-9-]*$'
owner:
title: Team
type: string
ui:field: OwnerPicker
steps:
- id: template
name: Repository erstellen
action: fetch:template
input:
url: ./skeleton
values:
name: '{{parameters.name}}'
- id: publish
name: In GitHub publishen
action: publish:github
input:
repoUrl: github.com?owner=meinefirma&repo={{parameters.name}}
FAQ
Braucht ein KMU mit 10 Entwicklern eine IDP?
Wahrscheinlich nicht formal. Ab 20-30 Entwicklern lohnt sich ein einfaches Backstage-Setup. Bis dahin: Golden-Path-Repo mit Beispielen und gute Dokumentation reicht.
Fazit
Platform Engineering ist die naechste Evolutionsstufe nach DevOps: statt jeden zu befaehigen alles zu koennen, baut ein Platform-Team Standards die alle nutzen.
DevOps und Platform Engineering fuer KMU in Heidelberg, Mannheim und der Rhein-Neckar-Region. Beratung anfragen.