Jeder Kunde ist wichtig
Ein zentrales Prinzip des Plattform-Engineerings besteht darin, ihre Kunden zu optimieren. Stellen Sie sich Entwickler als Hauptkunden vor, und konzentrieren Sie sich zuerst auf ihre Bedürfnisse, wenn Sie entscheiden, welche Entwicklungspfade Sie ebnen möchten. Entwickler verwenden alle verschiedene Tools, um ihre Arbeit zu erledigen. Beginnen Sie zunächst klein, und bewerten Sie, ob Sie vorhandene Bildschirme und Oberflächen verbessern können, bevor Sie eine völlig neue interne Entwicklerplattform implementieren.
Unterstützen von Entwicklern mit einer kundenorientierten internen Plattform
Das Denken an Entwickler als primärer Kunde für Ihre interne Entwicklerplattform ist für den Erfolg von wesentlicher Bedeutung. Wir bezeichnen diese Kunden als Entwickler, aber sie können mitglied sein, was das Teamtopologien-Modell als streamorientierte Teams bezeichnet – einschließlich Rollen wie Machine Learning-Experten oder Data Scientists.
Eine erfolgreiche Plattform-Engineering-Praxis ermöglicht Entwicklern und Betreibern. Entwickler und Betreiber haben Autonomie, um Entscheidungen zu treffen, die geschäftswertbringend sind, während sie weiterhin den etablierten Standards, Governance und Sicherheitsregeln entsprechen. Wichtige Projektbeteiligte, die Teams und Experten in bestimmten Subsystemen (Vorgänge, Sicherheit, Compliance und Architektur) ermöglichen, arbeiten mit dem Team zusammen, das diese interne Plattform erstellt, um ihr Fachwissen und bewährte Methoden in Vorlagen und Systemfunktionen zu codieren. Wenn Sie dieses Wissen gleichzeitig in ein System verschieben, reduziert die kognitive Belastung für Entwickler, verbessert Sicherheit, Compliance und Qualität und skaliert diese anderen Rollen, um wirklich einzigartige Probleme zu bewältigen. Es ist jedoch die Entwicklerumgebung, die sicherstellt, dass Ihre Plattform den größten Nutzen für alle Beteiligten zurückgibt.
Dies bedeutet, dass Sie einem kundenorientierten Ansatz zur Planung und Priorisierung Ihrer Plattform-Engineering-Bemühungen folgen.
Identifizieren optimaler Entwicklungspfade zur Optimierung bewährter Methoden
Obwohl Ihre Organisation heute möglicherweise verschiedene Entwicklungspfade zur Produktion hat, besteht ein früher Schritt in Ihrer Plattform-Engineering-Reise darin, zu verstehen, welche Pfade Entwickler verwenden sollen. Diese Aufforderung zu tätigen ist wichtig, da Sie ihre Energie darauf konzentrieren können, einen effizienten Weg durch sie zu ebnen, der weiterhin Entwicklungs-, Betriebs- und Governanceanforderungen erfüllt.
Diese gepflasterten Wege stellen eine bestimmte Gruppe von Entwicklungs- und Observierbarkeitstools, Sprachen, SDKs und Diensten dar, die so gestaltet sind, dass sie den Entwicklungs-, Betriebs- und anderen Beteiligten entsprechen, wie sie ihre bewährten Methoden darstellen. Gepflasterte Wege sollten Ansätze zur Rationalisierung des Onboardings, der Moderation und der Interessenvertretung für die interne Wiederverwendung umfassen. Sie müssen sich diese gepflasterten Pfade nicht als restriktiv oder gezwungen vorstellen, sondern stattdessen die Einschränkung der Entwickler für die Point-Entwicklungsteams, die darin bleiben möchten.
Der Trick besteht jedoch darin, nicht nur zu verstehen, auf welche Wege man sich konzentrieren muss, sondern welche Teile des Weges zuerst gepflastert werden müssen.
Treffen von Benutzern, in denen sie sich befinden
Obwohl es verlockend sein kann, mit einem einheitlichen Portal für alles in Ihrer internen Entwicklerplattform zu beginnen, ist dies nicht der beste Ausgangspunkt.
Ihre Betriebsexperten, Websitezulässigkeitstechniker (SREs) und Entwickler verwenden alle verschiedene Tools, um ihre Arbeit zu erledigen. Die Codierung erfolgt in einer IDE, Technische Systeme wie GitHub und Azure DevOps verwenden Befehlszeilenschnittstellen, und die Zusammenarbeit in Echtzeit erfolgt in Teams und Slack. Oft sind diese Benutzer zufrieden mit diesen Bildschirmen und sind vorsichtig von einer anderen Benutzeroberfläche, sich gedanken zu machen.
Beginnen Sie klein, und bewerten Sie, ob Sie Ihre vorhandenen Bildschirme und Oberflächen verbessern, Plug-Ins oder Erweiterungen erstellen können, bevor Sie mit dem Erstellen neuer benutzerdefinierter Oberflächen beginnen. Fragen Sie sich selbst, reagieren die Benutzer besser auf eine andere neue Benutzererfahrung oder eine verbesserte Version von etwas, das Sie jetzt haben? Wenn Sie sich entschließen, ein Portal von Grund auf neu zu erstellen, berücksichtigen Sie die Idee, dass Sie wahrscheinlich mehrere Schnittstellen über eine API unterstützen möchten. Dadurch werden auch Optionen wie die Verwendung von Frameworks mit geringem Code entsperrt, sodass Sie keine Portalerfahrung von Grund auf neu erstellen und hosten müssen.