Was ist Plattform-Engineering?
Plattformtechnik ist eine Praxis, die aus DevOps-Prinzipien aufgebaut ist, die die Sicherheit, Compliance, Kosten und den Zeitaufwand jedes Entwicklungsteams durch verbesserte Entwicklererfahrungen und Self-Service innerhalb eines sicheren, geregelten Frameworks verbessern möchten. Es ist sowohl produktbasierte Denkweisenwechsel als auch eine Reihe von Tools und Systemen, um sie zu unterstützen.
In letzter Zeit gibt es eine Menge Anregung in der Branche um den Begriff Plattform-Engineering. Gartner erwartet , dass rund 80 Prozent der Engineering-Organisationen bis 2026 ein Team für plattformtechnisches Engineering haben. Diese Teams konzentrieren sich auf die Erstellung der sogenannten internen Entwicklerplattform. Unabhängig von Der Domäne – Vertrieb (Microsoft Dynamics, Salesforce), Service Fulfillment (ServiceNow), Kommunikation (Twilio) – Plattformen, die inhärent sind darauf ausgelegt, skalierungsfähig zu sein und die Zeit zu reduzieren, die es benötigt, um den Geschäftlichen Nutzen zu erzielen.
Plattformen, die Entwickler entweder verwenden oder erweitern, haben die Möglichkeit, den Gesamten Entwicklungsprozess mit hochoptimierten Entwickleroberflächen und vereinfachten Vorgängen zu beseitigen. Zu diesen Plattformen gehören Tools, die:
- Helfen Sie Entwicklern, eigenständig zu sein (z. B. Starterkits, IDE-Plug-Ins)
- Unterstützen von allgemeinen Aufgaben
- Kapseln allgemeiner Muster und Methoden in wiederverwendbare Bausteine
- Frühzeitige Beratung und Feedback zu Problemen oder Sicherheitsrisiken
- Vereinfachen von Vorgängen durch Verwalten der zugrunde liegenden Infrastruktur und Tools
Das Plattform-Engineering-Funktionenmodell von Microsoft beschreibt die sechs Kernfunktionen, die plattformtechnische Funktionen definieren – Investitionen, Einführung, Governance, Bereitstellung und Verwaltung, Schnittstellen und Messungen und Feedback. Informationen dazu, wo Ihre Organisation heute in den jeweiligen Funktionsbereich fällt und Ziele für zukünftiges Wachstum festlegen, finden Sie unter "Informationen zum Platform Engineering Capabilities Model".
Was ist eine interne Entwicklerplattform?
Eine interne Entwicklerplattform konzentriert sich auf die internen Entwicklungspraktiken eines Unternehmens. Sie definieren eine Reihe empfohlener und unterstützter Entwicklungspfade für die Produktion und "ebnen" einen Weg durch sie mit einer internen Plattform.
Um eine reale Analogie zu verwenden, beginnen neue Wege oft als Schmutzwege, aber wenn mehr Menschen sie nutzen, sind sie gepflastert, um die Sicherheit zu verbessern und gleichzeitig Geschwindigkeit und Durchsatz aufrechtzuerhalten. Gepflasterte Pfade innerhalb einer internen Entwicklerplattform haben ähnliche Ziele. Sie sind darauf ausgelegt, Entwickler durch kritische Anforderungen und Standards zu führen, ohne die Geschwindigkeit der Entwicklerbereitstellung zu beeinträchtigen. Dies wird durch die Bereitstellung von Entwicklerteams mit standardisierten, sicheren und skalierbaren Self-Service-Funktionen erreicht. Gleichzeitig machen Sie den Betrieb und Ihre IT-Organisation immer noch einfach, um sicherzustellen, dass die zugrunde liegende Infrastruktur und Tools effizient, konform und kostengünstig sind. Während einige Wege teilweise gepflastert werden können, reduziert ein vollständig gepflasterter, goldener Weg die kognitive Belastung für alle Beteiligten.
Entwickler sind die primären Verbraucher oder Kunden einer internen Entwicklerplattform. Automatisierung und Zentralisierung ermöglichen effiziente Vorgänge und sorgen gleichzeitig dafür, dass die Anforderungen der Projektbeteiligten wie Compliance erfüllt sind.
Mit dem Plattform-Engineering erstellen Sie diese interne Plattform, indem Sie eine Produkt-Denkweise mit Erkenntnissen aus DevOps und DevSecOps kombinieren, um eine Reihe von Tools bereitzustellen. Diese Tools bieten ausreichende Automatisierungs-, Tracking-, Governance- und Observability-Funktionen, die Entwicklungsteams natürlich "in die Erfolgsgrube" leiten. Als Plattform engineering Lead für ein multinationales Massenmedienunternehmen:
Plattformtechnik wurde zur Erhöhung der Geschwindigkeit oder Geschwindigkeit bei der Bereitstellung von Produkten eingeführt. Zentrale Teams beseitigen die Notwendigkeit, dass sich jedes Team um Infrastruktur kümmern muss, wodurch die Effizienz erhöht wird... Sie verbessern auch Sicherheit und Sicherheit, da alles vordefiniert ist und Fehler reduziert werden. - Daniel, Cloud Engineer, Fortune 500 Media Company
Eine interne Entwicklerplattform hilft Ihnen, spezielle Kenntnisse über den gesamten Entwicklungs- und Betriebslebenszyklus hinweg zu zentralisieren und zu skalieren, indem sie kognitive Belastung und manuelle Schritte reduzieren oder beseitigen.
Inkrementelles Erstellen von Entwicklerplattformen mit Fokus auf Self-Service und Automatisierung
Die Implementierung einer erfolgreichen Plattform-Engineering-Strategie erfordert Arbeit – aber die Entlohnung lohnt sich. Es ist nicht ungewöhnlich, dass Teams mit weniger als 20 Einzelpersonen Tausende von Entwicklern und Hunderten von Projekten unterstützen können.
Das Erstellen einer internen Entwicklerplattform ist jedoch eine Reise. Wir empfehlen keinen Big Bang-Ansatz oder einen Top-down-gesteuerten Aufwand. Ein wichtiger Aspekt des Plattform-Engineerings ist die Anwendung einer Produkt-Denkweise, bei der Sie Entwickler, Machine Learning-Experten oder Data Scientists als Kunden behandeln. Als plattformingenieur bei einem Technologieunternehmen:
[Es gibt] zwei Hauptprobleme, die [unsere] Plattform-Engineering-Tools entwickelt wurden, um sie zu lösen. Zunächst wurde die Bereitstellung von Diensten mithilfe eines Self-Service-Modells erleichtert. … Der zweite bestand darin, automatische Supportsysteme wie Leistungsmetriken und Anwendungsverfügbarkeit bereitzustellen. Ziel war es Entwicklern, schneller und effizienter zu arbeiten und gleichzeitig alle erforderlichen Informationen zur Problembehandlung und Optimierung ihrer Anwendungen zu haben. - Alex, Lead Cloud Architect, Großes Technologieunternehmen
Keine beiden Unternehmen sind gleich, also berücksichtigen Sie die spezifischen Bedürfnisse Ihrer internen Kunden , um einen inkrementellen Kurs durch diese Reise zu erstellen. Indem Sie eine Reihe von Kernbausteinen einrichten, die Sie im Laufe der Zeit zusammenstellen, können Sie sicherstellen, dass Ihre interne Entwicklerplattform über genügend Wert verfügt, den Entwicklungsteams zu Befürwortern werden und sie auf dem Weg verwenden möchten. Verwenden Sie diese Informationen, um eine dünnste lebensfähige Plattform, ein mindestfähiges Produkt für Ihre Plattform zu erstellen) und von dort aus zu wachsen.
Der wichtigste Punkt ist, dass Sie über alle Investitionen nachdenken möchten, die Sie in diesen Bereichen als wichtige Bausteine für Ihre Plattform-Engineering-Reise machen. Anschließend können Sie sich auf das Erstellen von zusammenhängenden Kleben mit Ihren benutzerdefinierten Investitionen konzentrieren, um ihrem Unternehmen einen einzigartigen Mehrwert zu verleihen, anstatt alles von Grund auf neu zu erstellen.