Was ist eine IDP?
Eine interne Entwicklungsplattform (Internal Developer Platform, IDP) besteht aus einem standardisierten Set von Self-Service-Tools und Technologien, die Entwicklerinnen und Entwickler für das Erstellen und Bereitstellen von Code benötigen. Durch das Konsolidieren und Vereinfachen von Elementen des Entwicklungsprozesses besteht das grundlegende Ziel einer IDP darin, die täglichen Aufgaben eines Entwicklungsteams überschaubarer, effizienter und kooperativer zu gestalten.
Hinweis: Im Technologie-Stack einer Organisation kann es noch einen anderen Typ von IDP geben – ein internes Entwicklungsportal. In diesem Fall ist das interne Entwicklungsportal der Hauptzugang zur kompletten Anwendungsplattform, einschließlich einer internen Entwicklungsplattform und eines Container-Systems. Im IT-Ökosystem von Red Hat ist Red Hat® Developer Hub das unternehmensgerechte interne Entwicklungsportal, während die größere Plattform aus Red Hat® OpenShift® Platform Plus und Red Hat® Ansible® Automation Platform bestehen kann.
Wer konfiguriert und verwendet eine interne Entwicklungsplattform?
Anwendungsentwickler sind die Hauptnutzenden einer IDP, und Plattform Engineers sind für die Erstkonfiguration und Wartung verantwortlich. Für Platform Engineers kann eine IDP als integriertes Produkt betrachtet werden, das Entwicklungsteams die Tools für den Betrieb einer Anwendung während ihres gesamten Lifecycles bereitstellt.
Was sind die Kernkomponenten und -architektur einer IDP?
Die Architektur von IDPs kann in spezifische funktionale Schichten oder Ebenen kategorisiert werden:
- Entwicklungs-Control Plane: Der primäre Interaktionspunkt für Nutzende. Dazu zählen das Entwicklungsportal, Software-Komponentenkataloge, Benutzeroberflächen (UIs) und Befehlszeilenschnittstellen (CLIs).
- Integrations- und Bereitstellungsebene: Die Konfigurations-Engine. Sie ist oft auf einen Plattform-Orchestrator ausgerichtet. Sie empfängt die Absichten des Entwicklungsteams von der Control Plane und übersetzt diese in automatisierte Workflows, um Anwendungen zu erstellen, zu speichern, zu konfigurieren und bereitzustellen.
- Ressourcenebene: Die standardisierte grundlegende Infrastruktur und die Runtimes, die zum Hosten der Anwendungen erforderlich sind, einschließlich Container-Orchestrierung, Computing, Storage und Netzwerkressourcen.
- Sicherheits- und Beobachtbarkeitsebene: Umfasst die gesamte Plattform, um vertrauliche Informationen zu schützen, vertrauliche Daten zu verwalten, RBAC (Role-based Access Control) durchzusetzen und Echtzeit-Überwachungs- und Protokollierungsmetriken für Anwendungen und Infrastruktur bereitzustellen.
Die Infrastruktur jedes Unternehmens ist anders, aber eine interne Entwicklungsplattform basiert auf einer Reihe von Kernkomponenten, die zusammen einen optimierten, sicheren und effizienten Weg von der Entwicklung bis zur Produktion schaffen. Diese wesentlichen Bausteine bilden eine Architektur, die die Benutzeroberflächen der Plattform von den automatisierten Backend-Systemen trennt.
Architekturprinzipien der IDP
Neben den funktionalen Schichten basiert eine effektive IDP-Architektur auf zentralen Designprinzipien, die darauf ausgelegt sind, die Entwicklungsproduktivität zu unterstützen, die kognitive Belastung zu verringern und organisatorische Skalierbarkeit zu ermöglichen:
- Erweiterbarkeit und Integration: Eine unternehmensgerechte IDP verbindet eine oft unverbundene Toolchain. Ein wichtiges Architekturprinzip einer IDP ist die Möglichkeit, die vorhandenen CI/CD-Pipelines, DevSecOps und Schwachstellenmanagementtools, Problemverfolgung und Cloud-Ressourcen eines Unternehmens zu erweitern und zu integrieren.
- Vorlagen und Golden Paths: Mithilfe von Vorlagen erhalten Entwicklungsteams vorkonfigurierte, bewährte Blueprints, auch Golden Paths genannt. Golden Paths können automatisch Code-Textblöcke, IaC-Dateien (Infrastructure-as-Code) und integrierte Sicherheitsrichtlinien bereitstellen und so Engpässe eliminieren und die Standardisierung im Unternehmen nahtlos durchsetzen.
Warum ist eine interne Entwicklungsplattform für Unternehmen wichtig?
IDPs sind für Unternehmen wichtig, da sie bei der Lösung mehrerer Herausforderungen für Unternehmen helfen, darunter Entwicklungsstandardisierungen und -produktivität, Zusammenarbeit, Onboarding und Self Service, Skalierbarkeit und Governance.
Unternehmen mit mehreren Entwicklungsteams haben oft mit konkurrierenden Prioritäten, der Verwaltung einer Vielzahl von Tools und Technologien und den Herausforderungen bei der Einführung von Best Practices bei gleichzeitiger Einhaltung von Sicherheits- und Compliance-Standards zu kämpfen.
- Standardisierung: Bietet standardisierte Tools und Services für sämtliche Teams, wodurch das Risiko von Inkonsistenzen und Fehlern verringert wird.
- Produktivität: Automatisiert das Einrichten und Verwalten von Entwicklungsumgebungen, das Konfigurieren von Build-Pipelines und das Deployment von Anwendungen, sodass sich die Entwicklungsteams auf das Schreiben von Code und die schnellere Bereitstellung von Funktionen konzentrieren können.
- Zusammenarbeit: Bietet eine gemeinsame Plattform für die Zusammenarbeit zwischen Entwicklungsteams und anderen Teilen des Unternehmens, beispielsweise Operations- und Sicherheitsteams, und verbessert so die Kommunikation und Zusammenarbeit.
- Onboarding und Self Service: Verkürzt die Zeit, die neue Entwicklerinnen und Entwickler benötigen, um mit den entsprechenden Tools produktiv zu werden. Dies bietet ihnen ein besseres IT-Erlebnis und verkürzt die erforderliche Zeit, um ihre Arbeit aufzunehmen und mit der Wertschöpfung zu beginnen.
- Skalierbarkeit: Bietet eine skalierbare Plattform, die mit dem Unternehmen wachsen kann, sodass neue Teams schnell eingebunden werden können und sämtliche Teams Zugriff auf dieselben Tools und Services haben.
- Governance: Etabliert ein Framework, das Unternehmen Flexibilität und die Einhaltung von Best Practices ermöglicht, die den Sicherheits- und Compliance-Anforderungen entsprechen: effektive Überwachung und Verwaltung von Entwicklungsumgebungen.
Was sind Platform Engineering-Tools?
Wie hängen IDPs mit DevOps zusammen?
Die Bereitstellung einer IDP für Ihr Team kann ein entscheidender Faktor für die Schaffung und Aufrechterhaltung einer DevOps-Kultur sein. Das DevOps-Konzept umfasst die Aspekte Unternehmenskultur, Automatisierung und Plattformdesign und hat das Ziel, eine effizientere Arbeitsbeziehung zwischen Entwicklungs- und Operations-Teams zu fördern, um so eine schnellere und regelmäßigere Bereitstellung von Softwareanwendungen und damit zusammenhängenden Features zu erreichen.
Red Hat stellt die Frameworks für die Erstellung von IDPs zur Verfügung
Zusammen mit Red Hat Developer Hub bietet Red Hat® OpenShift®, Tools für Platform Engineering-Teams, mit denen sie interne Entwicklungsplattformen (Internal Developer Platform, IDP) effektiv entwickeln und verwalten können. Weiterhin können sie die Projektvorlagen, Dokumentationen und Workflows erstellen, die sie für die Entwicklung von „Golden Paths“ benötigen.
Im Folgenden zeigen wir Ihnen einige Optionen, mit denen wir dies möglich machen:
Sichere und konforme Lösungen: Red Hat Developer Hub ist eine umfassende Suite verifizierter und kuratierter Tools und Komponenten, die Operations-Teams zur Unterstützung von Entwicklungsteams benötigen – an einem zentralen, konsistenten Ort. Dies führt zu mehr Produktivität, weniger Hindernissen und einer vereinfachten Governance mit Self Service und Leitplanken.
Führende Entwicklungserfahrung: Red Hat gibt sein Wissen und seine Erfahrung aus dem Partnernetzwerk und den Open Source-Projekten an seine Kunden weiter.
Selbstmanagement und Wartung: Red Hat bietet Zugang zu einer gemeinsamen Suite von Entwicklungstools, mit denen Teams cloudnative Services und Anwendungen einfacher und produktiver erstellen können.
Unterstützung für kritische Bug Fixes und neue Funktionen: Mit Red Hat Developer Hub können Teams zentral auf aktuelle Versionen von Funktionen, Systemarchitektur und Anwendungsdokumentation zugreifen – und zwar zeit- und standortunabhängig.
Einfachere Integration: Neue Tools und Services (über Red Hat Plug-ins for Backstage) sind vorintegriert. Das heißt, dass Erweiterbarkeit und Skalierbarkeit für ein einheitliches, konsistentes IT-Erlebnis ermöglicht werden, das Infrastrukturtools, Ressourcen, Standards, Eigentümer, Mitwirkende und Administratoren miteinander verbindet.
Backstage with Platform Engineering. Dauer des Videos: 2:31
Der Stand des Platform Engineerings im Zeitalter der KI
Diese Darstellung bietet einen umfassenden Überblick über die Umfrage „State of Platform Engineering in the Age of AI” (Stand des Platform Engineerings im Zeitalter der KI), die von Illuminas durchgeführt wurde. Darstellung ansehen