Casi di Studio

Liberarsi dal monolite: la trasformazione architetturale di Orkestro

Questo caso può interessarti se:

il tuo monolite sta rallentando lo sviluppo di nuove funzionalità

vuoi ridurre i rischi legati ai deployment in produzione

cerchi un percorso sicuro di modernizzazione senza impattare il business

Orkestro, startup tecnologica con sede a Londra, ha sviluppato una piattaforma che connette i retailer con servizi di corriere specializzati per le consegne dell'ultimo miglio. La loro soluzione permette alle aziende di selezionare i servizi di corriere ottimali, monitorare le consegne locali e gestire le comunicazioni tra driver e clienti, integrando il tutto con le piattaforme ePOS ed eCommerce esistenti.

I limiti dell'architettura monolitica

Con la crescita del business di Orkestro, l'architettura monolitica ha iniziato a mostrare criticità crescenti a causa della complessità nel rilascio di nuove versioni del software (deployment):

gli aggiornamenti del sistema erano sempre più rischiosi

le profonde interdipendenze all'interno del sistema creavano significativi blocchi nello sviluppo

ogni modifica alla piattaforma portava con sé il rischio di impatti a livello sistemico

l'impossibilità di scalare i singoli componenti stava iniziando a limitare la crescita del business

L'obiettivo, quindi, era chiaro ma ambizioso: trasformare l'architettura mantenendo allo stesso tempo la continuità del servizio per i clienti esistenti. Questo ha richiesto una pianificazione accurata e un'esecuzione precisa per garantire la continuità del business durante tutta la transizione.

Un approccio strategico alla migrazione

La nostra soluzione si è concentrata sul mantenimento della stabilità durante l'implementazione progressiva della nuova architettura. Per raggiungere questo obiettivo, abbiamo sviluppato una strategia completa per affrontare tutti gli aspetti della trasformazione.

Transizione controllata

La prima fase si è concentrata sulla creazione di un ponte tra vecchio e nuovo. Abbiamo modificato il monolite esistente per comunicare efficacemente con la nuova architettura a microservizi, permettendo operazioni parallele. Questo ci ha consentito di sviluppare e testare nuove funzionalità mantenendo quelle esistenti senza interruzioni. Man mano che ogni servizio dimostrava la propria affidabilità, abbiamo metodicamente migrato le funzionalità corrispondenti dal monolite, garantendo una transizione fluida e mantenendo la stabilità del sistema.

Sistema di gestione delle feature

Centrale nella nostra strategia è stata una gestione sofisticata delle features. Questo sistema ha fornito un controllo granulare sulla transizione, permettendo l'attivazione e disattivazione delle funzionalità in runtime e test sistematici in condizioni di produzione.

Architettura basata su messaggi

La nuova architettura si è basata su RabbitMQ come strumento principale di comunicazione, dimostrandosi cruciale per la resilienza del sistema. Questo approccio basato su messaggi ha permesso una comunicazione affidabile tra servizi indipendenti prevenendo fallimenti a cascata. In caso di problemi, il sistema ha mantenuto l'integrità dei messaggi e garantito un recupero efficace dei servizi, fornendo a Orkestro una solida base per la scalabilità futura.

Miglioramenti misurabili

La trasformazione ha portato risultati significativi su più dimensioni operative della piattaforma.

Capacità di deployment

La piattaforma è passata da rilasci bi-settimanali a multipli rilasci giornalieri, abilitando una rapida distribuzione delle feature e una migliore reattività alle esigenze del mercato.

Nuova modularità del sistema

La creazione di oltre 25 microservizi indipendenti ha portato un nuovo livello di modularità al sistema, migliorando sia la manutenibilità che la velocità di sviluppo attraverso operazioni di team autonome.

Continuità di servizio ai clienti

Durante questa trasformazione, la piattaforma ha mantenuto una disponibilità del 99,99%, anche durante i significativi cambiamenti architetturali.

Questi miglioramenti si sono tradotti direttamente in valore di business

time to market più rapido

efficienza operativa migliorata

qualità del servizio costante per gli utenti finali

Questa riprogettazione è stata essenziale sia per la crescita del traffico che per l'agilità nella progettazione di nuovi prodotti. Lavorare con coders51 ci ha aiutato a rifattorizzare la nostra piattaforma mantenendo il focus sullo sviluppo di feature per i nostri clienti. Sfruttare la loro conoscenza del domain driven design e altre competenze ci ha aiutato a instillare migliori pratiche di ingegneria.

Daryl Rodrigo
Daryl Rodrigo
CTO
Orkestro

Evoluzione continua

La piattaforma continua a evolversi grazie a strategie di sviluppo. Man mano che emergono nuove necessità funzionali, le sviluppiamo direttamente come servizi indipendenti, preservando i benefici architetturali raggiunti. In parallelo, continuano a migrare progressivamente le funzioni rimanenti del monolite, prioritizzando in base al valore di business e all'impatto operativo.

Durante questo processo continuo, affiniamo costantemente le nostre pratiche di sviluppo e deployment per migliorare ulteriormente l'efficienza.

Questa trasformazione ha fornito a Orkestro le fondamenta tecniche necessarie per scalare le proprie operazioni in modo efficiente mantenendo una erogazione affidabile del servizio. La nuova architettura supporta i loro obiettivi di crescita garantendo stabilità ed efficienza operativa.

Se anche la tua azienda cerca una evoluzione della tua architettura, sai cosa fare.