Il deployment è quella serie di operazioni e procedure che sono necessarie per "mettere in produzione", ovvero rendere disponibile, un sistema, una rete, un insieme di software etc. È una delle fasi finali del ciclo di vita del software, che si presenta quando viene conclusa una sessione di sviluppo (il rilascio di una nuova release ad esempio). In questa fase bisogna predisporre tutto l'ambiente (cosiddetto "ambiente di produzione") perché tutto funzioni correttamente: quindi si procede all'installazione del nuovo software e compiono operazioni come l'aggiornamento di altre applicazioni o dei database.
In questo articolo ci concentreremo sul deployment di applicazioni Ruby on Rails, analizzando le varie strategie che si possono adottare per implementare una soluzione stabile ed affidabile sulla quale far eseguire le nostre applicazioni.
Ruby on Rails (da ora in poi solo Rails) ci ha abituato ad una semplicità ed immediatezza che pochi framework riescono ad offrire, ad esempio l'avvio di un'applicazione Rails è banale, basta il comando:
# script/server
lanciato nella directory radice della nostra applicazione. L'applicazione parte con tanto di Web server integrato (webrick o mongrel se presente).
Questo è un modo molto semplice per provare le nostre applicazioni: non abbiamo bisogno di configurare alcun Web server per lo sviluppo e non abbiamo problemi di permessi. Il rovescio della medaglia in questo caso consiste nelle prestazioni scadenti, soprattutto se si utilizza webrick come Web server.
Il motivo, grossolanamente, è dato dal fatto che webrick, soprattutto se in modalità 'development', ricarica buona parte dell'applicazione ad ogni richiesta, causando un notevole calo di prestazioni.
Per ovviare a questo problema si possono intraprendere principalmente due strade:
In questo articolo utilizziamo mongrel affiancato da apache 2 (con il modulo mod_proxy_balancer) per il bilanciamento del carico, perchè è stata adottata con soddisfazione da praticamente tutta la comunità Rails.
Nota: è stata rilasciata una versione di mod_Rails dai ragazzi di www.phusion.nl, nel momento in cui scriviamo è ancora un esperimento, ma chissà! Magari finalmente un degno concorrente di mod_php, visto che mod_ruby non ha riscosso molto successo.
Guida ActiveSupportUna panoramica sulle funzionalità più importanti di ActiveSupport:... |
Guida Ruby On Rails 2Scoprire le novità di Ruby on Rails 2, memorizzare i dati con... |
Guida Ruby e il WebUn percorso alla scoperta delle potenzialità offerte da Ruby nella... |
Ogni mercoledì, direttamente nella tua e-mail: articoli, guide e tutorial su Ruby e Ruby on Rails .
Iscriviti alla newsletter