Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Bilanciamento dell'autonomia con l'allineamento
Le architetture micro-frontend sono fortemente orientate all'autonomia del team. Tuttavia, è importante distinguere tra aree che possono supportare flessibilità e approcci diversi per risolvere i problemi e aree in cui la standardizzazione è necessaria per raggiungere l'allineamento. I dirigenti e gli architetti senior devono identificare tempestivamente queste aree e dare priorità agli investimenti per bilanciare sicurezza, prestazioni, eccellenza operativa e affidabilità dei microfrontend. Il raggiungimento di questo equilibrio implica quanto segue: creazione, test, rilascio e registrazione di microfrontend, monitoraggio e invio di avvisi.
Creazione di micro-frontend
Idealmente, tutti i team sono fortemente allineati per massimizzare i vantaggi in termini di prestazioni per l'utente finale. In pratica, questo può essere difficile e potrebbe richiedere uno sforzo maggiore. Ti consigliamo di iniziare con alcune linee guida scritte a cui più team possono contribuire attraverso un dibattito aperto e trasparente. I team possono quindi adottare gradualmente il modello software Cookiecutter, che supporta la creazione di strumenti che forniscono un modo unificato per strutturare un progetto.
Utilizzando questo approccio, è possibile incorporare opinioni e vincoli. Il rovescio della medaglia è che questi strumenti richiedono investimenti significativi per la creazione e la manutenzione e per garantire che i blocchi vengano risolti rapidamente senza influire sulla produttività degli sviluppatori.
End-to-end test per micro-frontend
I test unitari possono essere lasciati ai proprietari. Consigliamo di implementare fin dall'inizio una strategia per testare in modo incrociato i microfrontend eseguiti su una shell unica. La strategia include la capacità di testare le applicazioni prima e dopo un rilascio di produzione. Consigliamo di sviluppare processi e documentazione per personale tecnico e non tecnico per testare manualmente le funzionalità critiche.
È importante assicurarsi che le modifiche non compromettano l'esperienza del cliente funzionale o non funzionale. Una strategia ideale consiste nell'investire gradualmente in test automatizzati, sia per le funzionalità chiave che per le caratteristiche dell'architettura come sicurezza e prestazioni.
Rilascio di micro-frontend
Ogni team potrebbe avere il proprio modo di distribuire il proprio codice, elaborare opinioni e la propria infrastruttura. Il costo della complessità legato alla manutenzione di tali sistemi è in genere un deterrente. Consigliamo invece di investire tempestivamente per implementare una strategia condivisa che possa essere applicata mediante strumenti condivisi.
Sviluppa modelli con la piattaforma CI/CD preferita. I team possono quindi utilizzare i modelli preapprovati e l'infrastruttura condivisa per apportare modifiche alla produzione. È possibile iniziare a investire in questo lavoro di sviluppo sin dall'inizio, perché questi sistemi raramente necessitano di aggiornamenti significativi dopo un periodo iniziale di test e consolidamento.
Registrazione di log e monitoraggio
Ogni team può avere metriche aziendali e di sistema diverse che desidera monitorare per scopi operativi o di analisi. Il modello software Cookiecutter può essere applicato anche qui. L'erogazione degli eventi può essere riassunta e resa disponibile come libreria utilizzabile da più micro-frontend. Per bilanciare la flessibilità e garantire l'autonomia, sviluppate strumenti per la registrazione di metriche personalizzate e la creazione di dashboard o report personalizzati. Il reporting promuove una stretta collaborazione con i proprietari dei prodotti e riduce il ciclo di feedback dei clienti finali.
Standardizzando la distribuzione, più team possono collaborare per tenere traccia delle metriche. Ad esempio, un sito di e-commerce può tracciare il percorso dell'utente dal microfrontend «Dettagli del prodotto» al microfrontend «Cart», al microfrontend «Purchase» per misurare il coinvolgimento, il tasso di abbandono e i problemi. Se ogni microfrontend registra gli eventi utilizzando un'unica libreria, puoi utilizzare questi dati nel loro insieme, esplorarli in modo olistico e identificare tendenze approfondite.
Avviso
Analogamente alla registrazione e al monitoraggio, gli avvisi traggono vantaggio dalla standardizzazione con spazio per un certo grado di flessibilità. Team diversi potrebbero reagire in modo diverso agli avvisi funzionali e non funzionali. Tuttavia, se tutti i team dispongono di un metodo consolidato per avviare avvisi basato su metriche raccolte e analizzate su una piattaforma condivisa, l'azienda può identificare i problemi tra i team. Questa funzionalità è utile durante gli eventi di gestione degli incidenti. Ad esempio, gli avvisi possono essere avviati nel modo seguente:
-
Numero elevato di eccezioni JavaScript lato client in una particolare versione del browser
-
Tempo di rendering notevolmente ridotto oltre una determinata soglia
-
Numero elevato di codici di stato 5xx quando si utilizza una particolare API
A seconda della maturità del sistema, è possibile bilanciare gli sforzi su diverse parti dell'infrastruttura, come illustrato nella tabella seguente.
Adozione |
Ricerca e sviluppo |
Salita |
Maturità |
---|---|---|---|
Crea micro-frontend. |
Sperimenta, documenta e condividi quanto appreso. |
Investi in strumenti per costruire nuovi micro-frontend. Evangelizza l'adozione. |
Consolida gli utensili per ponteggi. Spingi per l'adozione. |
Prova i micro-frontend dall'inizio alla fine. |
Implementa meccanismi per testare manualmente tutti i micro-frontend correlati. |
Investi in strumenti per test automatizzati di sicurezza e prestazioni. Esamina i segnali di funzionalità e l'individuazione dei servizi. |
Consolida gli strumenti per l'individuazione dei servizi, i test in produzione e i test automatizzati. end-to-end |
Rilascia i micro-frontend. |
Investite in un'infrastruttura CI/CD condivisa e in versioni automatizzate in più ambienti. Evangelizza l'adozione. |
Consolida gli strumenti per l'infrastruttura CI/CD Implementa meccanismi di rollback manuali. Spingi per l'adozione. |
Crea meccanismi per avviare rollback automatici in aggiunta alle metriche e agli avvisi di sistema e aziendali. |
Osserva le prestazioni dei microfrontend. |
Investite in un'infrastruttura e una libreria di monitoraggio condivise per la registrazione coerente degli eventi di sistema e aziendali. |
Consolida gli strumenti per il monitoraggio e gli avvisi. Implementa dashboard interteam per monitorare lo stato generale e migliorare la gestione degli incidenti. |
Standardizza gli schemi di registrazione. Ottimizza i costi. Implementa gli avvisi basati su metriche aziendali complesse. |