Il giusto server per lo sviluppatore web. Test e deploy nella cloud

Il mondo IT sta velocemente migrando verso un nuovo modello di sviluppo e deployment delle applicazioni, il cloud computing e la virtualizzazione forniscono sempre più flessibilità anche negli ambienti di sviluppo. Vantaggi e consigli per adottare questo modello.

Flessibilità, l’importanza di avere ambienti pre-configurati per lo sviluppo

La maggior parte degli sviluppatori ha poche competenze nel lato sistemistico, e così spesso il setup di un ambiente di test e produzione richiede ore di lavoro, rubate alla programmazione. Bisogna tenere presente che soprattutto per il test di applicazioni web, gli ambienti da creare per il test possono essere diversi, e per velocità spesso si preferisce replicare un intero ambiente anche per la modifica di pochi parametri, in modo da poter poi confrontare direttamente come si differenziano le performance o il comportamento del software. Questa è una delle ragioni che ha portato il cloud computing ad avere grande successo e più ancora gli ambienti con template e immagini di sistema già pronti.

Oggi esistono servizi virtuali e di cloud computing IaaS che offrono immagini già pronte contenenti ambienti di sviluppo web già pronti all’uso: il classico esempio è l’ambiente LAMP, si acquista il server virtuale e questo contiene già tutto per far funzionare la propria applicazione, ma come dicevamo non sempre è sufficiente. Da MongoDB a configurazioni ad hoc di PHP (come PHP-FPM) passando per ambienti in cui vengono richiesti componenti come XCache o APC, sono tante le varianti che oggi si trovano e che necessitano di essere configurate ad hoc per il funzionamento dell’applicazione: poter avere un ambiente già pronto, con un piccolo canone mensile o orario, spesso fa risparmiare ore di lavoro ai team di sviluppo e permette di replicare lo stesso ambiente più volte senza dover ogni volta rieseguire tutte le installazioni e configurazioni.

Non solo, spesso questi ambienti esterni, nella cloud, sono molto utili per dare accesso al cliente nella visione di quanto si sta facendo, un compito più complesso se pensiamo di doverlo fare in locale, oltre ai problemi di sicurezza legati all’apertura della propria rete locale verso Internet. Nel caso di WeTalk Group, per prendere un esempio concreto, da pochi mesi il nostro sistema è passato ad utilizzare esclusivamente MongoDB, con un database complessivo di quasi 10 GB di dati: non avendo in ufficio alcuna macchina dedicata esclusivamente a server di test, abbiamo preferito utilizzare direttamente una VM esterna per poter eseguire li tutti i nostri test di sviluppo, facendo si che MongoDB venisse configurato una sola volta e potesse garantirci le performance che ci servivano. Perchè? Sui nostri server in ufficio avremmo dovuto allocare quasi 12 GB di memoria RAM per poter sfruttare al meglio la nostra configurazione con l’utilizzo del DB in RAM, in produzione, online, all’interno di un server virtuale, abbiamo potuto acquistare questa quantità di risorse ad un prezzo molto conveniente, con la possibilità di replicare il nostro “template” in pochi minuti e avviare un server simile anche per poco tempo. 

Duplice vantaggio, al di la delle risorse dedicate e della connettività a 100Mbit/s che ci permette di eseguire test più reali su come risponda la nostra applicazione sotto carico, abbiamo la possibilità di avere tutti i componenti già pronti nel caso di una nuova installazione. Questo rivoluziona il modo di fare Provisioning di nuovi ambienti, per alcuni provider infatti non dobbiamo procedere nemmeno alla prima configurazione di sistema, come detto esistono template già pronti con tutto quello che serve, dobbiamo solamente portare li nostro codice e attendere di utilizzare l’istanza virtuale. 

 

SelfServer, Server Virtuali online on demand per CMSQuesto articolo è offerto da SelfServer, il brand di Enter Srl che offre server virtuali già pronti all’uso per diversi utilizzi, dallo sviluppo web ad ambienti virtuali pronti per l’uso dei più comuni CMS. Il server virtuale dedicato allo sviluppo Web con PHP, MySQL, MongoDB e PostgreSQL mette a disposizione un ambiente dedicato virtuale con 2 GB di RAM e 2 Core CPU a soli 21 Euro al mese, in promozione. Scopri tutte le caratteristiche di SelfServer, piattaforma cloud basata su OpenStack per la massima scalabilità.