Freigeben über


Befähigen von Entwicklern durch Self-Service mit Schutzvorrichtungen

Self-Service mit Leitplanken ist das Prinzip, Entwicklungsteams zu befähigen, ihre eigenen Entscheidungen innerhalb einer Reihe von klar definierten Parametern oder Leitplanken zu treffen, die von wichtigen Projektbeteiligten festgelegt und vereinbart werden. Projektbeteiligte können Sicherheits-, Betriebs- und Architekturteams im gesamten organization.

Die Idee hinter Self-Service mit Leitplanken besteht darin, dass Entwicklungsteams das gewünschte Maß an Autonomie beibehalten können, um unabhängig Entwicklungsentscheidungen zu treffen, während Automatisierung und Richtlinien den Projektbeteiligten helfen, sicherzustellen, dass Sicherheit, Compliance, Vorgänge, Standards und Kosten ordnungsgemäß verwaltet werden. Die Aktivierung dieser Automatisierung erfordert eine Zusammenarbeit zwischen Teamlinien, damit Entwickler, Operatoren und Spezialisten mehr tun können, ohne die erforderliche Governance zu beeinträchtigen. In Kombination mit einer verbesserten Ermittlung und Wiederverwendung innerhalb organization definierten Leitplanken können sich Entwickler darauf konzentrieren, so schnell wie möglich geschäftlichen Nutzen zu erzielen.

[Wir sagen Entwicklern,] machen Sie sich keine Sorgen darüber, wie alles funktioniert, schalten Sie sie einfach ein oder aus, füllen Sie sie aus, fügen Sie eine Zeichenfolge in alles ein, was Sie tun müssen, und es ist im Grunde Self-Service in dieser Hinsicht, wo sie eine Infodatei haben und sie Eingaben, Ausgaben und sie können einfügen, was sie möchten. - Daniel, Cloud Engineer, Fortune 500 Media Company

Das Ziel der Bereitstellung einer Self-Service-Erfahrung für Ihre gepflasterten Pfade besteht darin, die Arbeit von Entwicklern zu reduzieren und gleichzeitig Transparenz für Entwicklungsteams, Vorgänge und Das Management zu bieten. Die Idee ist, dass Sie eine Benutzeroberfläche für eine bestimmte Aufgabe erstellen, die eine minimale Lernkurve aufweist, teilweise dank der zugrunde liegenden Automatisierungs- und Datenaggregationsfunktionen. Über Aktivitäten wie die Infrastrukturbereitstellung hinaus können diese Erfahrungen Zugriff auf wichtige Funktionen für Überwachung, Richtlinien, Incidentverwaltung und vieles mehr bieten. Die Idee erstreckt sich auf die Ermittlung und Freigabe interner APIs, SDKs sowie gemeinsam genutzter Tools und Dienste. Diese Erfahrungen reduzieren den Mehraufwand, sodass sich Entwicklungsteams darauf konzentrieren können, Dinge zu erledigen.

Die Zeit, die benötigt wird, um mit einem Projekt oder einer Aufgabe zu beginnen, ist ein weiterer motivierender Faktor für Self-Service-Erfahrungen. Eine Analogie, die häufig für eine interne Entwicklerplattform verwendet wird, besteht darin, dass sie ähnliche Funktionen wie digitale Geschäfts-zu-Unternehmen-Storefronts bietet. Digitale Läden sind von Natur aus so konzipiert, dass sie ihren Kunden helfen, sich selbst zu bedienen. Sie können mehr Durchsatz verarbeiten als herkömmliche Ladenfronten, da sie Möglichkeiten bieten, Interessantes zu entdecken und zu erfüllen, ohne mit jemandem sprechen zu müssen. Mit dieser Analogie sind Entwickler der Kunde, und die interne Entwicklerplattform bietet ähnliche Self-Service-Erfahrungen. Ähnlich wie bei einem Einzelhändler richten Betreiber, Plattformtechniker und andere Rollen dann einen Katalog von Elementen ein, die Entwickler anfordern können, die für organisatorische Schutzmaßnahmen konzipiert sind.

Sie können sich beispielsweise vorstellen, dass ein Entwickler Zugriff auf ein neues Tool anfordert, als ob er eine digitale Ladenzeilenbestellung tätigen würde. Wie bei einer Bestellung möchte der Entwickler, sobald die Anforderung übermittelt wurde, in der Lage sein, den Fortschritt nachzuverfolgen und zu wissen, wann er abgeschlossen ist. Im Hintergrund sollte die Anforderung automatisch an den richtigen Erfüllungsanbieter weitergeleitet werden, um den Bedarf zu erfüllen. Sie können sich eines Ihrer CI/CD-Systeme (Continuous Integration and Delivery) als einen Fulfillment-Anbieter vorstellen, ein GitOps-Tool oder eine präskriptive Anwendungsplattform als zweites und ein Workflowautomatisierungstool für manuelle Prozesse als drittes. In allen Fällen kann der Entwickler Elemente aus einem klar definierten Katalog auf die gleiche Weise selbst bereitstellen.

Weitere Informationen zur Implementierung dieser Konzepte finden Sie unter Anwenden von Softwareentwicklungssystemen und Entwerfen einer Self-Service-Grundlage für Entwickler.

Verwenden des Alles-als-Code-Musters

Die Verwendung von Infrastructure-as-Code (IaC) über Cd-Pipelines (Continuous Delivery) und GitOps-Tools ist ein wichtiger Bestandteil der Self-Service-Aktivierung. Auf diese Weise können Sie Bicep, Terraform, Helm-Diagramme und andere Tools verwenden, um Cloudressourcen nach Bedarf zu erstellen und zu zerstören. Da die Konfiguration Ihrer Cloudinfrastruktur genau wie Code in einem Quellcoderepository verwaltet wird, können Sie grundsätzlich alle Vorteile eines Git-Repositorys wie Sicherheit und Überprüfbarkeit anwenden.

Plattformentwicklungsteams können IaC bei der Bereitstellung gängiger Infrastruktur und Tools nutzen, aber dies ist nicht der einzige Vorteil eines IaC-Ansatzes. Sie können das Muster "als Code" für andere Szenarien anpassen, einschließlich Sicherheit als Code und Richtlinie als Code (über Tools wie Azure Policy und Open Policy Agent). Nach diesem Verfahren wird eine Konfigurationsdatei, in der Regel YAML oder JSON, in das Repository gepusht. An diesem Punkt wird ein Workflow ausgelöst, der die Datei verarbeitet. Diese Dateien können ein App-Repository wie dependabot.yml oder CODEOWNERS sein, oder sie können in einem separaten zentralen Repository verwaltet werden. Sie können dies sogar auf Ihre eigenen Szenarien ausweiten, um alles als Code (EaC) realitätsfern zu machen.

Entwickler können auf jede dieser EaC-Vorlagen mit einem zentralen Katalog verweisen, der Ihre Self-Service-Erfahrungen unterstützt und standardmäßig bewährte Methoden fördert.

Erfahren Sie mehr über das Alles-als-Code-Muster.

Erstellen von richtigen Startvorlagen & Einrichten der richtigen Governance

Wir erstellen Module für unsere [Entwickler]... Anstatt also selbst über ein Back-End schreiben oder sich Sorgen machen zu müssen, müssen sie sich nur um ihren Anwendungscode kümmern. - Daniel, Cloud Engineer, Fortune 500 Media Company

In der Softwareentwicklung streben wir nach Kapselung, Modularität und Zusammensetzbarkeit beim Entwerfen von Anwendungen. Sie sollten diese Denkweise auch auf die Plattformentwicklung anwenden, indem Sie Vorlagen erstellen. Sie können beispielsweise eine Reihe zentral gesicherter, wiederverwendbarer IaC-Vorlagen als Bausteine für die Infrastruktur erstellen und verwenden.

Diese können zu einer maßgeschneiderten Anwendungsvorlage kombiniert werden, die sich auf diese und andere EaC-Bausteine (Alles als Code) bezieht und sich auf andere Aktivitäten wie das Erstellen eines Quellcoderepositorys, das Seeding von Beispielcode oder das Bereitstellen von Konfiguration und Beispielcode für empfohlene Beobachtungstools erstreckt. Diese IaC-, EaC- und Anwendungsvorlagen können dann von einem zentralen, gesicherten Speicherort wie einem Repository, dem Katalog in Azure-Bereitstellungsumgebungen (ADE) oder Azure Container Registry (ACR) für cloudnativ gespeichert oder referenziert werden.

Wenn die richtigen Startvorlagen mit automatisierter Governance, Überprüfung und Richtlinienkonfiguration kombiniert werden, können sie Entwicklern helfen, vom ersten Tag an richtig zu bleiben.

Grafik der Plattformentwicklung beginnen richtig und bleiben Sie in der Übersicht über die Vorlagen richtig.

Richtige Vorlagen starten

Anwendungsvorlagen können verwendet werden, um Ihre definierten, gepflasterten Pfade für mehrere wichtige Entscheidungen und Aktionen zu bootstrapieren, die Entwickler im Verlauf eines Projekts übernehmen. Diese startgerechten Vorlagen sollten sichere, kontrollierte Entwicklungsmethoden einrichten und Entwicklern den schnellen Einstieg ermöglichen, indem sie eine Automatisierung ermöglichen, die Zugriff auf die benötigten Tools ermöglicht, CI/CD-Pipelines konfiguriert, die Infrastruktur und den Anwendungsstapel bereitstellt und ein Repository mit Quellcode für die Kesselplatte konfiguriert, das die benötigten SDKs oder Verweise auf APIs enthält.

Indem diese Anwendungsvorlagen auf andere zentralisierte Vorlagen (z. B. IaC-Vorlagen) verweisen, kann jeder dieser einzelnen Bausteine zu eigenen Startvorlagen werden, um die Verwendung in vorhandenen Anwendungen zu optimieren. Diese Vorlagen sind von zentraler Bedeutung für die Aktivierung von Self-Service-Erfahrungen, da sie nicht nur Ausgaben definieren, sondern auch verfügbare Optionen, aus denen Entwickler auswählen.

Behalten Sie die richtige Governance

Vorlagen sollten jedoch mehr als nur das Bootstrapping eines Entwicklungsaufwands erledigen. Sie sollten auch die Kontrolle und Governance durch Richtlinien- und Sicherheitsüberprüfungen einrichten, die erforderlich sind, um während des Projektlebenszyklus richtig zu bleiben. Als weiteres Beispiel können Vorlagen Branchschutzregeln einrichten, um nicht autorisierte Merges in der Produktion zu verhindern. Da Vorlagen bewährte Methoden und allgemeine Konfigurationen erfassen, sind sie eine der wichtigsten Techniken zur Optimierung der Kosten für Tools, Anbieter und Teams.

Abrufen der richtigen Kampagnen

Wenn Ihr Vertrauen in Ihre gepflasterten Pfade steigt, können Sie schließlich die zugrunde liegenden einzelnen Bausteine verwenden, die Sie in Ihren Anwendungsvorlagen zusammengestellt haben, um vorhandene Anwendungen auf einen gepflasterten Pfad zu verschieben. Da Ihre internen Kunden bereits den Wert Ihrer pilotierten gepflasterten Pfade sehen, können Sie eine interne Get Right-Kampagne ausführen, um einen bidirektionalen Dialog mit anderen Anwendungsteams zu erstellen. Entwickler können erfahren, wie sie ihre Anwendung migrieren, während das Plattformentwicklungsteam gleichzeitig mehr über die Verbesserung der Plattform für sie erfahren kann.

Erfahren Sie mehr über das Starten der richtigen Vorlagen mit stay right Governance.

Diagramm ihrer eigenen Reise

Angesichts der Bandbreite der Erfahrungen, die Ihre Self-Service-Funktionen abdecken könnten, ist dies ein wichtiger Schwerpunkt für Ihre Investitionsbemühungen und planen und priorisieren , damit Ihre interne Entwicklerplattform inkrementell Einen Mehrwert bietet. Der Weg jedes organization bei der Erstellung seiner internen Entwicklerplattform ist unterschiedlich, und wenn Sie einer Produktmentalität folgen, können Sie die wichtigsten Orte ansprechen, die zuerst Self-Service-Erfahrungen benötigen.

Erfahren Sie mehr über die Diagrammerstellung einer Plattformentwicklungsreise.