Avete una applicazione PHP 5 o 7? È giunto il momento di modernizzarla!
Mi chiamo Antonio Saponara e mi occupo di security e programmazione per il web dal 1996, quando ho fondato asaconsult.
Quello che succede a tanti clienti è che creano un programma in PHP, usano l’applicazione con successo sviluppando sempre nuove features, così l’applicazione ed i dati in essa contenuti, crescono insieme al business aziendale.
Per anni l’applicazione viene usata regolarmente fino a che una esigenza, una libreria, un aggiornamento del sistema operativo o qualcos’altro non è più compatibile e quindi l’intera applicazione, o una parte di essa, non funziona più come dovrebbe.
Purtroppo, molte di queste applicazioni sono mission-critical ed il loro sviluppo è rimasto fermo proprio perché hanno sempre funzionato benissimo senza dare problemi.
Come risolvere
Mettere in sicurezza (per quanto possibile) l’attuale piattaforma. Risolvere i blocchi imminenti/immediati (driver DB, librerie di sistema, etc.) aggiornando ove possibile il sistema operativo e librerie che bloccano l’applicazione.
Abbiamo risolto parecchie volte problematiche del genere, pianificando l’aggiornamento definitivo con tecnologie all’avanguardia; in questo stadio di solito ci segnalano malfunzionamenti, colli di bottiglia e personalizzazioni come, ad esempio, connettere la piattaforma con servizi terzi per automatizzare alcuni processi aziendali.
Una volta pianificato il tutto si ha una idea più chiara di come procedere alla separazione della applicazione monolite modernizzandola e/o sviluppando parti ex-novo su misura.
Un errore comune in questa fase è quello di creare una nuova applicazione monolitica, o moltissimi microservizi, che andranno orchestrati ed incrementeranno il costo non di poco. Il cloud infatti economicamente può riservare cattive sorprese a fine mese!
È quindi indispensabile progettare una nuova piattaforma equilibrata e su misura per l’utilizzo dell’applicazione, avvalendosi del fatto che in anni di utilizzo pregresso, il cliente ha già una visione chiara del funzionamento, quali sono i difetti, i pregi, cosa vorrebbe migliorare, aggiungere o addirittura togliere!
Un caso concreto.
Un esempio reale è un programma gestionale nato quasi per gioco con PHP 5; questo programma inizialmente doveva solo aiutare nella bollettazione, visto il considerevole numero di oggetti movimentati dall’azienda. Col tempo si è passati alla gestione delle fatture, resi, ordini etc fino a renderlo il gestionale ufficiale dell’azienda. Col crescere dell’azienda, ovviamente, sono cresciuti anche i dati.
Dopo alcuni anni, l’azienda ha necessità di esporre il proprio gestionale sul web per dare accesso agli agenti.
Qui nessun fornitore ha voluto assumersi l’onere di pubblicare un progetto sul web con un PHP vecchiotto, un DB ancora più vecchio e quindi esporre i dati e le procedure a potenziali attacchi.
Con il nostro intervento abbiamo diviso il monolite staccando di volta in volta diverse sezioni (ordini, fatture, ddt, etc) in microservizi aggiornati e funzionanti in modo indipendente.
Alla fine del lavoro abbiamo ottenuto una applicazione che gira sul cloud, dove ogni microservizio può essere aggiornato indipendentemente dal resto dell’applicazione.
Ulteriore vantaggio è che i microservizi interagiscono tra di loro e consentono la creazione di processi in grado di comunicare con servizi esterni, come ad esempio l’Agenzia delle Entrate per la ricezione / trasmissione delle fatture elettroniche.
Recentemente si è verificata l’esigenza di interagire con la rete pan-europea PEPPOL per la quale abbiamo sviluppato un ulteriore microservizio che ha consentito lo sviluppo ed il collaudo finale senza bloccare mai l’attività principale del gestionale.
Si tutto bello, fantastico con il cloud ed i microservizi, ma i costi?
Chi lavora col cloud sa che a fine mese potrebbero esserci dei costi proibitivi! Ma questa storia la racconteremo un’altra volta 😉
In conclusione,
in tutti questi anni abbiamo acquisito una comprovata esperienza nella gestione di problematiche di migrazione ad ammodernamento di software basati su PHP.
Contattateci con fiducia per una consulenza gratuita o per discutere un vostro progetto.