Die Entwicklung effektiver Schnittstellen im Plattform engineering umfasst den Übergang von benutzerdefinierten, manuellen Prozessen zu standardisierten und konsistenten Lösungen, die die Bereitstellung und Serviceanforderungen optimieren. In diesem Artikel werden die Phasen der Schnittstellenentwicklung erläutert, die sich auf das Einrichten von Entwicklungsumgebungen und die Diagnose des Anwendungsverhaltens konzentrieren.
Benutzerdefinierte Prozesse
Es gibt eine Sammlung unterschiedlicher Prozesse, um verschiedene Funktionen und Dienste bereitzustellen, die Konsistenz der Schnittstelle wird jedoch nicht berücksichtigt. Benutzerdefinierte maßgeschneiderte Prozesse erfüllen die unmittelbaren Bedürfnisse von Einzelpersonen oder Teams und sind von manuellen Eingriffen abhängig, auch wenn der Anbieter einige automatisierte Implementierungsskripts verwendet.
Wissen über das Anfordern dieser Lösungen wird von Person zu Person geteilt. Der Prozess zum Anfordern eines Diensts fehlt an Standardisierung und Konsistenz. Die Bereitstellung und Verwendung eines Plattformdiensts erfordert wahrscheinlich umfassende Unterstützung vom Funktionsanbieter.
Fehlende zentrale Anforderungen und Standards machen diese Stufe angemessen, wenn das Unternehmen die Erwartungen noch nicht identifiziert und dokumentiert hat. Es kann besonders effektiv für Teams in frühen Phasen Unternehmen oder Plattformbemühungen sein. In diesen Umgebungen bieten Teams die Freiheit, Prozesse und Funktionen für ihre Bedürfnisse zu entwickeln, sodass sie schneller liefern und den Preis der Standardisierung nur dann bezahlen können, wenn sie später erforderlich sind.
Einrichten der Entwicklungsumgebung: Einzelne Ingenieure stellen die Schritte zusammen, die erforderlich sind, um eine Umgebung einzurichten, indem Sie Kollegen fragen, Dokumentationen finden, die ihren eigenen bekannten Praktiken folgen.
Anwendungsverhalten diagnostizieren: Techniker wählen ihre eigenen Tools und Prozesse für die Diagnose des Verhaltens aus. Sie sind für die Durchführung von Schritten für den Zugriff auf Anwendung und Protokolle verantwortlich.
Lokale Standards
Ingenieure und Entwicklungsteams definieren proaktiv, aber informell Standards für verschiedene Funktionen und Dienste, um die Menge an Wissensaustausch zu erhöhen, die innerhalb der Organisation stattfinden können. Informelle Unterstützungsgemeinschaften gehen um diese Standards herum, aber dies hängt von Ressourcen und Engagement von Einzelpersonen und einzelnen Teams ab.
Einrichten der Entwicklungsumgebung: Einzelne Teams definieren ihre eigenen Tools und Prozesse und versuchen, sicherzustellen, dass Techniker innerhalb von Teams an diesen Prozessen festhalten. Kann über Dokumentation oder Container erfolgen, aber die Wahl, wie Tools und Prozesse dokumentiert werden sollen, wird vom Team gesteuert.
Anwendungsverhalten diagnostizieren: Einzelne Teams definieren ihre eigenen Praktiken und Prozesse zur Diagnose des Verhaltens. Teams verlassen sich auf Devops/IT-Team für den Zugriff auf bereitgestellte Ressourcen.
Einheitliche Standardschnittstellen für die Bereitstellung und Beobachtung von Plattformen und Funktionen sind vorhanden und erfüllen die allgemeinen Anforderungen. Benutzer können ermitteln, welche Funktionen verfügbar sind, und können funktionen anfordern, die sie benötigen.
Gepflasterte Straßen oder goldene Wege werden in Form von Dokumentation und Vorlagen bereitgestellt. Diese Ressourcen definieren, wie typische Funktionen mithilfe von konformen und getesteten Mustern bereitgestellt und verwaltet werden. Während einige Benutzer diese Lösungen eigenständig verwenden können, benötigen die Lösungen häufig immer noch tiefes Fachwissen in der Domäne und daher ist die Unterstützung von Betreuern immer noch von entscheidender Bedeutung.
Ein erhebliches Management, das vom zentralen Team benötigt wird, um Vorlagen/Dokumentationen zu verwalten, insbesondere im Hinblick auf die Änderung der Anforderungen von Teams.
Einrichten einer Entwicklungsumgebung: Einige Investitionen in einen gemeinsamen Pfad mit Dokumentationen oder Vorlagen, die die erforderlichen Tools und Prozesse in der gesamten Organisation definieren. Teams können von Standards abdriften, während sie Vorlagen ändern, aber nicht wieder in ein zentralisiertes Team zusammenführen.
Diagnose des Anwendungsverhaltens: Standardpraxis, die für den Zugriff auf und die Diagnose bereitgestellter Ressourcen definiert ist.
Self-Service-Lösungen
Lösungen werden auf eine Weise angeboten, die den Benutzern Autonomie bietet und wenig Unterstützung von Betreuern erfordert. Die Organisation ermutigt und ermöglicht Lösungen, konsistente Schnittstellen bereitzustellen, die die Auffindbarkeit und Portabilität der Benutzererfahrung von einer Funktion zu einer anderen ermöglichen. Während self-service, die Lösungen erfordern Teambewusstsein und Implementierung. Um diese Erfahrung zu verbessern, kann es eine geführte und vereinfachte interne Sprache geben, mit der Benutzer Plattformfunktionen schneller einführen und integrieren können. Dies generiert eine benutzerorientierte, self-serviceable und konsistente Sammlung von Funktionen.
Einrichten der Entwicklungsumgebung: Engineering-Teams hängen von der Plattform zum Einrichten von Entwicklungsumgebungen ab. Das Angebot ist vorhanden, um verfügbare Ressourcen zu ermitteln. Engineering-Teams übernehmen die Plattform ausschließlich für alle Interaktionen. Die Plattform unterstützt den Wissensaustausch durch die Entdeckung und Änderung neuer und vorhandener Vorlagen und erhöht kontinuierlich den Von der Plattform angebotenen Wert.
Diagnose des Anwendungsverhaltens: Tools und Dienste zum Beobachten von Ressourcen/Funktionen, die über die Plattform bei Bedarf bereitgestellt werden. Plattform bietet Angebote zum Diagnostizieren und Beobachten von Ressourcen/Funktionen.
Integrierte Dienste
Plattformfunktionen sind transparent in die Tools und Prozesse integriert, die Teams bereits für ihre Arbeit verwenden. Einige Funktionen werden automatisch bereitgestellt, z. B. Observability oder Identitätsverwaltung für einen bereitgestellten Dienst. Wenn Benutzer auf die Ränder der bereitgestellten Dienste stoßen, gibt es die Möglichkeit, über automatisierte Lösungen hinauszugehen und an ihre Anforderungen anzupassen, ohne die internen Angebote zu verlassen, da Plattformfunktionen als Bausteine betrachtet werden. Diese Bausteine werden verwendet, um transparente und automatische Kompositionen zu erstellen, um die Anwendungsfälle höherer Ebene zu erfüllen und bei Bedarf eine tiefere Anpassung zu ermöglichen.
Interne Plattformteams können bestimmen, welche Funktionen für die Organisation gut funktionieren und anhand dieses Wissens bestimmen können, in welche Bereiche investiert werden sollen, um die Plattform weiter zu verbessern.
Funktionen können auf mehrere Arten erweitert und verpackt werden und bieten maximale Flexibilität zum Bereitstellen, Verwalten und Beobachten von Ressourcen und Funktionen.
Einrichten der Entwicklungsumgebung: Plattformfunktionen sind in die Tools und Prozesse integriert, die Teams bereits für ihre Arbeit verwenden. Kann über CLI, IDE usw. verwendet werden.
Diagnose des Anwendungsverhaltens: Die Plattform richtet automatisch Observability-Funktionen für jede bereitgestellte Anwendung ein. Plattform bietet Angebote für die Interaktion mit Diagnosedaten und bereitgestellter Anwendung.