Platform Engineering: Wie entwickeln wir Software effizient und skalierbar?

Plattform unübersichtlich aufgebaut? Entwickler frustriert, weil alles lange dauert? Bezüglich Security den Überblick verloren? Zeit für eine neue Lösung!

Autor: Florian Stelzer

In unserem Alltag bei Unternehmen mit einer Inhouse Softwareentwicklung begegnen wir immer wieder Entwicklungs-Umgebungen mit langwierigen Prozessen, fragmentierten Tool-Landschaften und inkonsistenter Governance und Security. Bei vielen Unternehmen ist dies leider der Alltag. Die Entwickler verlieren viel Zeit damit, Entwicklungsumgebungen einzurichten und verstreute Dokumentationen zu suchen. Zudem sind nicht-vorhandene Deployment-Prozesse und das Abstimmen mit anderen Teams ein grosser Mehraufwand. Engineers entdecken Sicherheitslücken und die technische Komplexität nimmt gleichzeitig zu – und damit auch ihr Frust.

Genau hier kommt Platform Engineering ins Spiel:

  • Zentralisierte, automatisierte Plattformen beschleunigen Entwicklungsprozesse. 
  • Die Entwickler können eine einheitliche und übergreifende Governance sicherstellen und die Effizienz ihrer Arbeit steigern.
  • Die Plattform muss auch tatsächlich von den Teams genutzt werden und effektiv einen Mehrwert schaffen.

Greenfield- oder Brownfield? Wir passen uns der Realität im Unternehmen an.

Viele Unternehmen haben bereits Plattform-Komponenten wie eine Cloud Foundation, eine Kubernetes-basierte Container-Plattform oder CI/CD-Pipelines im Einsatz. Doch trotz dieser Bausteine läuft vieles nicht reibungslos:

  • Die Bereitstellungsprozesse sind oft nicht ausreichend automatisiert, sodass Entwickler wertvolle Zeit mit manuellen Tasks verbringen müssen. Beispielsweise beim Provisionieren von Infrastruktur oder beim Anpassen von Pipelines. 
  • Gleichzeitig mangelt es an Abstimmung zwischen den Teams. Während die einen auf Terraform setzen, arbeiten andere mit CloudFormation. Oftmals hat jede Abteilung ihre eigenen CI/CD-Prozesse. 
  • Dies führt zu Insellösungen, welche die Entwicklung bremsen, die Komplexität erhöhen und Sicherheits- sowie Governance-Prozesse erschweren.

Erschwerend kommt hinzu, dass die Entwickler immer mehr Themen verstehen sollten: von Java oder .NET, über Cloud-Technologien, Infrastructure-as-Code, CI/CD, Security sowie Monitoring. Es ist kaum realistisch, dass alle Mitarbeitenden diese breite Palette an Skills abdecken. So entsteht eine Überforderung, welche die Innovation eher hemmt als fördert.

Die sieben Erfolgsfaktoren für eine starke Plattform

Was ist unser Ansatz bei ipt? Wir beginnen dort, wo Unternehmen bereits Plattform-Komponenten im Einsatz haben. Wir analysieren mit den Engineers, wie die aktuellen Komponenten besser integriert und wenn notwendig ergänzt werden können. Wir berücksichtigen dabei folgende sieben Erfolgsfaktoren:

  1. Es braucht eine Plattform, mit der Entwickler effizienter arbeiten können: Internal Developer Platforms (IDPs) reduzieren Reibungsverluste und fördern effiziente Workflows.
  2. Wir steigern die Produktivität: Entwickler können sich auf ihre Kernarbeit konzentrieren, anstatt Infrastruktur-Probleme zu beheben.
  3. Manuelle Prozesse möglichst eliminieren: Mit der Automatisierung durch Infrastructure-as-Code (IaC), GitOps und CI/CD-Pipelines reduzieren wir Fehler und sparen Zeit.
  4. Wir setzen Cloud-native Technologien ein: Kubernetes, Service Meshes und API-gesteuerte Architekturen als solides Fundament.
  5. Skalierbarkeit wird ab Tag eins mitgedacht: Wir nutzen standardisierte Templates und Automatisierung, damit ein nachhaltiges Wachstum möglich ist.
  6. Wir setzen auf eine flexible und kontrollierte Plattform: Der modulare Aufbau ermöglicht Individualisierung und setzt auf Sicherheit und Einhaltung der Governance.
  7. Security und Compliance sind zentral: Monitoring, Auditing und Governance sind essenzielle Bestandteile der Plattform.
new Platform Engineering
Platform Engineering optimiert Entwicklungsumgebungen, reduziert fragmentierte Tools, automatisiert Prozesse und stärkt Governance & Security – für mehr Effizienz, weniger Frust bei Entwicklern und schnellere Produktentwicklung.

Drei Best Practices einer leistungsfähigen Plattform 

Eine leistungsfähige Plattform baut auf einer guten Strategie auf, welche die Entwicklungsprozesse optimiert und Entwicklern den Rücken freihält für ihre Kernaufgaben. Anhand von drei Beispielen zeige ich auf, wie wir die sieben Erfolgsfaktoren in der Praxis umsetzen:

1. Ein zentrales Entwicklerportal als Self-Service-Hub einführen

Moderne Entwicklungsumgebungen erfordern eine einheitliche und transparente Schnittstelle für Entwickler. Internal Developer Portals wie Backstage bündeln alle relevanten Ressourcen an einem zentralen Ort.

  • Self-Services ermöglichen die automatisierte Bereitstellung von Infrastruktur, CI/CD-Pipelines und Softwarekomponenten – ohne langwierige Genehmigungsprozesse.
  • Entwickler können sich auf das Coden konzentrieren, während die Plattform Standardisierung, Sicherheit und Compliance gewährleistet.
  • Infrastruktur für die Applikationen (wie Datenbanken, Secrets Manager oder Compute Services) wird per Self-Service-Bestellung sicherheitskonform provisioniert und dem Entwickler in wenigen Augenblicken zur Verfügung gestellt. 

2. Automatisierung und Infrastruktur als Code (IaC) überall einsetzen

Automatisierung ist der Schlüssel für eine skalierbare und effiziente Entwicklungsplattform.

  • Wiederverwendbare Templates & automatisierte Provisionierung ermöglichen einen schnellen und konsistenten Start neuer Projekte. Wir stellen vorgefertigte Projekt-Templates mittels Git Repositories zur Verfügung.
  • GitOps-Ansätze und IaC sorgen für reproduzierbare und versionierte Infrastruktur-Änderungen.
  • Entwickler profitieren von einer Umgebung, in der neue Projekte innerhalb weniger Minuten eingerichtet und Deployment-Prozesse vollständig automatisiert sind.

3. Modulare Architektur mit standardisierten Schnittstellen schaffen

Flexibilität und Standardisierung müssen Hand in Hand funktionieren.

  • Eine API-zentrierte Architektur stellt sicher, dass Plattform-Dienste flexibel und erweiterbar bleiben.
  • Unternehmen können eigene Komponenten nahtlos integrieren oder bestehende Cloud-native Services nutzen.
  • Eine durchdachte Architektur sorgt für eine Plattform, die sicher, skalierbar und gleichzeitig anpassbar ist. Dies ist ideal für die dynamischen Anforderungen moderner Entwicklungsprojekte.

Wir wollen eine Umgebung bauen, in der Entwickler Innovation vorwärtstreiben können und die Plattform währenddessen administrative Aufgaben übernimmt. Das Unternehmen profitiert von einer konsistenten, sicheren und hochverfügbaren Plattform, die sich flexibel an ihre individuellen Bedürfnisse anpassen lässt.

Fazit: Gut konzipierte Plattformen bringen Erfolg für das Unternehmen.

Es ist egal, ob die Plattform Brownfield oder Greenfield entwickelt wird. Zentral ist, dass die Plattform klug konzipiert ist, damit die Softwareentwicklung effizienter wird. Mit unserer Erfahrung helfen wir Unternehmen, bestehende Systeme gezielt weiterzuentwickeln oder eine neue Plattformstrategie zu gestalten. So entsteht eine Umgebung, in der Entwickler produktiver arbeiten können und IT-Lösungen ihren wirtschaftlichen Mehrwert voll entfalten. Denn am Ende geht es darum, Technologie sinnvoll einzusetzen: Make Technology Valuable.