Offriamo un servizio software B2B per agenzie di logistica negli Stati Uniti. Abbiamo un'applicazione core monolitica sviluppata nel 2014 e cresciuta nel tempo a suon di aggiunte. Ogni giorno circa 1.200 utenti aziendali attivi accedono al sistema e inseriscono dati. La manutenzione è diventata ormai difficilissima persino un semplice aggiornamento delle fatture rischia di rompere cose a caso. Per questo abbiamo stanziato un budget di 70.000 dollari per rifare il sistema da zero con un'infrastruttura moderna.
Il nuovo sviluppatore senior appena entrato nel team sostiene che dobbiamo assolutamente passare a un'architettura a microservizi, creando servizi separati per autenticazione, fatturazione, operatività e reportistica. Il nostro team però è composto da soli 3 sviluppatori e non abbiamo una figura dedicata per l'infrastruttura cloud.
Per un sistema di queste dimensioni e un team di 3 persone, l'approccio a microservizi è la mossa giusta o rischiamo di caricarci di un peso operativo insostenibile? Nel processo di rifacimento del vecchio software, come dovremmo orientarci tra microservizi e un monolite ben strutturato?