Uno dei punti di forza di Plurimedia è lo sviluppo di applicazioni cloud-native. Fino a poco tempo fa, tutte le nostre applicazioni si basavano su Heroku, un PaaS molto developer-friendly.
Heroku propone agli sviluppatori un’interfaccia di gestione molto comoda, con la possibilità di aggiungere moduli alle proprie applicazioni, quali papertrail per la visione dei log e mongolab per una piccola istanza di mongodb, con pochissimi click.
Data la partnership che ci lega da anni a Red Hat e la competenza aggiunta nei sistemi linux con il mio arrivo in Plurimedia, abbiamo preso in considerazione una migrazione verso Red Hat OpenShift Container Platform, il PaaS su Cloud IBM.
Insieme ad un percorso di studi che sto affrontando parallelamente alla migrazione, il primo passo sulla quale ho dovuto lavorare è stato un consolidamento di quello che è l’approccio cloud-native di Plurimedia.
OpenShift mi ha permesso di riformare - migliorando - i precedenti container presenti nelle nostre repository, per sfruttare al meglio le variabili d’ambiente e le configurazioni offerte da OpenShift stesso - il tutto partendo da un Dockerfile specifico per ogni applicativo.
Red Hat Openshift Container Platform, oltre ad un ambiente sicuro e funzionale, ci consente di personalizzare e configurare l’intera piattaforma seguendo i nostri bisogni. Le funzionalità che ci offre sono davvero molteplici.
Dopo aver consolidato i container e i Dockerfile, è stato mio compito insieme agli altri sviluppatori, definire gli ambienti di sviluppo, di test e di produzione.
Per maggior chiarezza, ogni applicazione avrà uno spazio di progetto dedicato all’interno del quale verranno configurati i 3 diversi ambienti e tutto ciò che serve ad essa per funzionare correttamente.
Per ogni applicazione è possibile definire il numero di container che vengono eseguiti - chiamati in gergo “Pod”, per poter suddividere il carico di lavoro in modo migliore.
È possibile, inoltre, stabilire delle regole di networking, grazie alle Network Policies. Questo tipo di policy ci permette di stabilire una precisa comunicazione tra pod, sia internamente che esternamente.
Non possono di certo mancare le configurazioni per quanto riguarda le utenze. OpenShift ci da la possibilità di creare gruppi e ruoli, sia a livello di progetto che a livello cluster. In questo modo ogni sviluppatore potrà gestire e visualizzare il contenuto che più gli interessa.
Ad oggi, possiamo dire che siamo riusciti ad ottenere il risultato sperato: la migrazione ha avuto un risultato positivo e abbiamo ottenuto più affidabilità e la possibilità di una maggiore customizzazione degli ambienti.