5 suggerimenti per passare da un monolite a microservizi e micro frontend

Stai cercando di abbandonare l'architettura monolitica delle tue applicazioni legacy? Ecco 5 suggerimenti per aiutarti nella transizione.

Entando - martedì 12 novembre 2019
Tags: Micro Frontend Microservices

Microservizi e micro frontend svolgono un ruolo chiave nella modernizzazione delle applicazioni web, in particolare quando un’azienda cresce e una struttura monolitica inizia ad ostacolare gli obiettivi tecnologici dell'organizzazione.

Quando le decisioni vengono rallentate e gli aggiornamenti vengono ritardati a causa della complessità della tua organizzazione, del tuo codice o di entrambi, puoi prendere in considerazione la possibilità di abbandonare l'attuale architettura dell'applicazione legacy.

Modernizzare l'architettura dell'applicazione con microservizi e micro frontend porterà vantaggi alla tua azienda in diversi modi. Ad esempio, sarai in grado di autorizzare i team autonomi a prendere decisioni rapidamente e senza dover fare i conti con la burocrazia. Sarai anche in grado di adottare un approccio più iterativo agli aggiornamenti per aumentare la velocità dell'innovazione, oltre a riutilizzare determinati servizi su più applicazioni per aumentare l'efficienza complessiva.

La tua organizzazione potrebbe avere l'obiettivo di passare da un monolite a microservizi e micro frontend, ma il processo di modernizzazione presenta diverse sfide.

Ecco 5 suggerimenti per effettuare questa transizione.

1. Inizia con la fine già in mente.

Prima di iniziare la transizione da un monolite a un'architettura a microservizi e micro frontend, decidi quali funzionalità vuoi disaccopiare in microservizi e micro frontend. Il disaccoppiamento di alcune funzionalità sarà più importante di altre.

Le esigenze e gli obiettivi specifici della tua azienda determineranno quanto vuoi ridurre il tuo monolite. Potresti non voler trasferire determinate capabilities, a seconda del livello di sfida che un microservizio o un micro frontend presenterà in relazione all'efficienza aggiuntiva che fornirebbero.

L'intenzionalità è la chiave. Pensa strategicamente a quali microservizi e micro frontend ti darebbero il ROI migliore per l'impegno del tuo team. Questi servizi aggiungono un livello di complessità al codice della tua applicazione, quindi dovrai assicurarti che la complessità aggiunta comporti comunque altri vantaggi.

Le funzionalità della tua applicazione che sono fondamentali per la tua attività e che potrebbero cambiare frequentemente dovrebbero essere sviluppate come microservizi e micro frontend.

2. Fai una transizione graduale, iniziando con le funzioni meno complesse.

L'adozione di una metodologia di migrazione "big bang" può dare alla tua organizzazione una lavagna pulita creando un'applicazione completamente nuova da zero, comporta anche un notevole rischio. Un approccio più misurato è la transizione graduale dell'applicazione legacy.

Disaccoppia gradualmente le funzionalità, a partire dalle funzionalità meno complesse e vitali per la tua applicazione. Quindi continua a trasferire le funzionalità con livelli crescenti di complessità, passando infine alle transizioni più difficili.

3. Sviluppa nuove funzionalità come microservizi o micro frontend.

Uno dei periodi migliori per implementare un nuovo modo di sviluppare è quando stai sviluppando qualcosa di nuovo da zero. Anche se potrebbe non essere possibile creare un'applicazione completamente nuova con un'architettura a microservizio e micro frontend, è possibile aggiungere nuovi componenti in questo modo.

Quando il tuo team sviluppa nuove funzionalità per la tua applicazione, rappresenta un'ottima opportunità per svilupparle come microservizi e micro frontend, riducendo le dimensioni relative del tuo monolite.

Aggiungendo nuove funzionalità come servizi piuttosto che come parte del monolita, inizierai a sperimentare i vantaggi di una struttura a microservizi e micro frontend. E perlomeno, non aggiungerai ulteriore complessità al monolita che stai già cercando di rendere più gestibile.

4. Focus su l'automazione di test e deployment.

Per preparare la tua organizzazione alle complessità di un'architettura a microservizi e micro frontend, dovrai concentrarti sulla realizzazione di automazioni e test in ogni fase dei cicli di sviluppo, deployment e rilascio.

Ciò significa implementare una pipeline in cui test e deployment automatizzati consentono integrazione e delivery continui. Dopo aver stabilito questi sistemi con il tuo monolito, puoi estenderli più facilmente a microservizi e micro frontend.

Data la sua maggiore complessità, l'applicazione dovrebbe essere sviluppata per tollerare il fallimento di un determinato servizio. Ogni servizio dovrebbe essere attentamente monitorato in tempo reale dal team responsabile e, se possibile, il processo di rilevazione di un guasto e ripristino del servizio dovrebbe essere automatizzato.

5. Stabilire una cultura organizzativa attorno alle pratiche DevOps.

Una transizione di successo da una struttura monolitica a un ecosistema di microservizi e micro frontend richiede modifiche alla struttura organizzativa. Senza abbracciare una filosofia DevOps, la tua organizzazione non sarà in grado di fare questa transizione in modo efficace.

Prenditi del tempo per pensare a qualsiasi struttura organizzativa, politica o procedura che funga da barriera alla collaborazione tra i team. Potrebbe essere necessario reinventare il modo in cui vengono prese le decisioni. Concentrati sulla coltivazione di team interfunzionali che hanno il potere di sviluppare le proprie soluzioni creative e reagire rapidamente ai problemi e alle opportunità che si presentano.

L'architettura delle applicazioni e la cultura organizzativa devono lavorare insieme per consentire metodologie di sviluppo che producano applicazioni moderne. Questa transizione richiederà tanta intelligenza emotiva e leadership organizzativa quanto esperienza nello sviluppo.

Possiamo aiutarti!

Entando è una piattaforma open source per la creazione di applicazioni enterprise basata su un'architettura a microservizi e micro frontend. Ti consentiamo di modernizzare il tuo stack in modo incrementale supportando architetture applicative personalizzate per ogni organizzazione.

Con Entando, è possibile migrare applicazioni legacy una alla volta per offrire vantaggi concreti.

White_Paper_cover.png

Learn How To Create Better Apps, Portals, & Websites--Faster.

This white paper outlines how your organization can accelerate UX innovation by developing with micro frontends on Kubernetes, as well as how a micro frontend platform can help you execute this methodology more effectively.