Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Balance zwischen Autonomie und Ausrichtung
Mikro-Frontend-Architekturen sind stark auf Teamautonomie ausgerichtet. Es ist jedoch wichtig, zwischen Bereichen zu unterscheiden, die Flexibilität und unterschiedliche Lösungsansätze unterstützen können, und Bereichen, in denen Standardisierung erforderlich ist, um eine Abstimmung zu erreichen. Führungskräfte und Architekten müssen diese Bereiche frühzeitig identifizieren und Investitionen priorisieren, um ein Gleichgewicht zwischen Sicherheit, Leistung, betrieblicher Exzellenz und Zuverlässigkeit von Mikrofrontends zu finden. Um dieses Gleichgewicht zu finden, sind folgende Aufgaben erforderlich: Erstellung, Testen, Veröffentlichung und Protokollierung, Überwachung und Alarmierung von Mikro-Frontends.
Erstellung von Mikro-Frontends
Im Idealfall sind alle Teams darauf ausgerichtet, die Vorteile in Bezug auf die Leistung der Endbenutzer zu maximieren. In der Praxis kann dies schwierig sein und möglicherweise mehr Aufwand erfordern. Wir empfehlen, mit einigen schriftlichen Richtlinien zu beginnen, zu denen mehrere Teams im Rahmen einer offenen und transparenten Debatte beitragen können. Teams können dann schrittweise das Cookiecutter-Softwarepuster übernehmen, das die Erstellung von Tools unterstützt, die eine einheitliche Methode zur Gestaltung eines Projekts bieten.
Mit diesem Ansatz können Sie Meinungen und Einschränkungen berücksichtigen. Der Nachteil ist, dass diese Tools erhebliche Investitionen in die Erstellung und Wartung erfordern und sicherstellen müssen, dass Hindernisse schnell behoben werden, ohne die Produktivität der Entwickler zu beeinträchtigen.
End-to-end Testen für Mikro-Frontends
Das Testen von Einheiten kann den Eigentümern überlassen werden. Wir empfehlen, frühzeitig eine Strategie zu implementieren, um Mikro-Frontends, die auf einer einzigartigen Shell laufen, übergreifend zu testen. Die Strategie beinhaltet die Möglichkeit, Anwendungen vor und nach einer Produktionsversion zu testen. Wir empfehlen, Prozesse und Dokumentationen für technische und nichttechnische Mitarbeiter zu entwickeln, um kritische Funktionen manuell testen zu können.
Es ist wichtig sicherzustellen, dass Änderungen weder das funktionale noch das nicht funktionierende Kundenerlebnis beeinträchtigen. Eine ideale Strategie besteht darin, schrittweise in automatisierte Tests zu investieren, sowohl für wichtige Funktionen als auch für Architekturmerkmale wie Sicherheit und Leistung.
Veröffentlichung von Mikro-Frontends
Jedes Team hat möglicherweise seine eigene Methode, seinen Code bereitzustellen, Meinungen einzubeziehen und seine eigene Infrastruktur zu nutzen. Die Kosten der Komplexität bei der Wartung solcher Systeme wirken in der Regel abschreckend. Stattdessen empfehlen wir, frühzeitig in die Umsetzung einer gemeinsamen Strategie zu investieren, die durch gemeinsam genutzte Tools durchgesetzt werden kann.
Entwickeln Sie Vorlagen mit der CI/CD-Plattform Ihrer Wahl. Teams können dann die vorab genehmigten Vorlagen und die gemeinsame Infrastruktur verwenden, um Änderungen an der Produktion zu veröffentlichen. Sie können frühzeitig damit beginnen, in diese Entwicklungsarbeit zu investieren, da diese Systeme nach einer anfänglichen Test- und Konsolidierungsphase selten nennenswerte Updates benötigen.
Protokollierung und Überwachung
Jedes Team kann über unterschiedliche Geschäfts- und Systemkennzahlen verfügen, die es für betriebliche oder analytische Zwecke verfolgen möchte. Das Cookiecutter-Softwaremuster kann auch hier angewendet werden. Die Bereitstellung von Ereignissen kann abstrahiert und als Bibliothek zur Verfügung gestellt werden, die von mehreren Mikrofrontends genutzt werden kann. Um ein Gleichgewicht zwischen Flexibilität und Autonomie zu erreichen, sollten Sie Tools für die Protokollierung benutzerdefinierter Metriken und die Erstellung benutzerdefinierter Dashboards oder Berichte entwickeln. Die Berichterstattung fördert die enge Zusammenarbeit mit den Produkteigentümern und reduziert die Feedback-Schleife der Endkunden.
Durch die Standardisierung der Bereitstellung können mehrere Teams zusammenarbeiten, um Kennzahlen zu verfolgen. Beispielsweise kann eine E-Commerce-Website die Benutzerreise vom Mikrofrontend „Produktdetails“ über das Mikrofrontend „Warenkorb“ bis hin zum Mikrofrontend „Kauf“ verfolgen, um Interaktionen, Kundenabwanderung und Probleme zu messen. Wenn jedes Mikro-Frontend Ereignisse mithilfe einer einzigen Bibliothek protokolliert, können Sie diese Daten als Ganzes nutzen, sie ganzheitlich untersuchen und aufschlussreiche Trends identifizieren.
Warnfunktion
Ähnlich wie bei der Protokollierung und Überwachung profitieren Warnmeldungen von einer Standardisierung, die ein gewisses Maß an Flexibilität bietet. Verschiedene Teams reagieren möglicherweise unterschiedlich auf funktionale und nicht funktionale Warnmeldungen. Wenn jedoch alle Teams über eine konsolidierte Methode verfügen, um Warnmeldungen auf der Grundlage von Kennzahlen auszulösen, die auf einer gemeinsamen Plattform gesammelt und analysiert werden, kann das Unternehmen teamübergreifende Probleme identifizieren. Diese Funktion ist bei Ereignissen im Incident-Management nützlich. Warnmeldungen können beispielsweise wie folgt ausgelöst werden:
-
Erhöhte Anzahl von JavaScript clientseitigen Ausnahmen in einer bestimmten Browserversion
-
Die Zeit bis zum Rendern hat sich bei Überschreitung eines bestimmten Schwellenwerts erheblich verschlechtert
-
Erhöhte Anzahl von 5xx-Statuscodes bei der Nutzung einer bestimmten API
Je nach Reifegrad Ihres Systems können Sie Ihre Anstrengungen auf verschiedene Teile Ihrer Infrastruktur verteilen, wie in der folgenden Tabelle dargestellt.
Annahme |
Forschung und Entwicklung |
Aufstieg |
Reife |
---|---|---|---|
Erstellen Sie Mikro-Frontends. |
Experimentieren Sie, dokumentieren Sie und teilen Sie Erkenntnisse. |
Investieren Sie in Tools, um neue Mikro-Frontends zu entwickeln. Evangelisiert die Adoption. |
Konsolidieren Sie die Werkzeuge für den Gerüstbau. Drängen Sie auf Akzeptanz. |
Testen Sie Mikro-Frontends von Ende zu Ende. |
Implementieren Sie Mechanismen zum manuellen Testen aller zugehörigen Mikrofrontends. |
Investieren Sie in Tools für automatisierte Sicherheits- und Leistungstests. Untersuchen Sie Feature-Flags und die Serviceerkennung. |
Konsolidieren Sie Tools für Serviceerkennung, Tests in der Produktion und automatisierte end-to-end Tests. |
Veröffentlichen Sie Mikro-Frontends. |
Investieren Sie in eine gemeinsame CI/CD-Infrastruktur und automatisierte Releases für mehrere Umgebungen. Verkündet die Adoption. |
Konsolidierung der Tools für die CI/CD-Infrastruktur Implementieren Sie manuelle Rollback-Mechanismen. Drängen Sie auf Akzeptanz. |
Schaffen Sie Mechanismen zur Einleitung automatisierter Rollbacks zusätzlich zu System- und Geschäftskennzahlen und Warnmeldungen. |
Beobachten Sie die Leistung des Mikro-Frontends. |
Investieren Sie in eine gemeinsame Überwachungsinfrastruktur und Bibliothek für die konsistente Protokollierung von System- und Geschäftsereignissen. |
Konsolidieren Sie die Tools für Überwachung und Warnmeldungen. Implementieren Sie teamübergreifende Dashboards, um den allgemeinen Zustand zu überwachen und das Incident-Management zu verbessern. |
Standardisieren Sie die Protokollierungsschemas. Optimieren Sie im Hinblick auf die Kosten. Implementieren Sie Warnmeldungen auf der Grundlage komplexer Geschäftskennzahlen. |