Nov 302010
 

opensource
Article By: Roberto Sedycias

Quando abbiamo iniziato il progetto del nostro sito web, abbiamo capito che i costi del software proprietario sarebbe stati troppo elevati per le nostre risorse finanziarie. La nostra unica opzione era quella di fare uso di software Open Source.

Tuttavia, all’interno del Open Source ci sono un sacco di software tra cui scegliere, e tocca all’analista/programmatore scegliere quelli che meglio si adattano agli obiettivi del progetto.

Nel nostro caso, abbiamo scelto Linux come nostro sistema operativo. Tuttavia abbiamo dovuto affrontare una grande domanda: Quale distribuzione Linux? Ci sono decine di distribuzioni linux, ciascuna con vantaggi specifici, a volte con o senza servizi a pagamento.


Abbiamo scelto Slackware Linux perché pensavamo che sarebbe stata la migliore per soddisfare le nostre esigenze, in termini di stabilità e affidabilità. Slackware è una distribuzione conservatrice, nel senso che offre nelle sue versioni dei pacchetti di distribuzione, kernel e librerie di terze parti, solo una volta che è stato dimostrato che sono stabili e affidabili. Come risultato, Slackware è una delle distribuzioni più stabili tra i sistemi operativi Linux presenti sul mercato. Se l’utente desidera avere aggiornamenti recenti di kernel e librerie, si consiglia di cercare una diversa distribuzione.

Un altro motivo per la la nostra scelta di Slackware, è stato la sua interfaccia di testo, che all’inizio può essere un po’ difficile, a lungo andare però, offre una migliore comprensione dell’ambiente Linux. In questo modo la maggior parte delle configurazioni di Slackware sono fatte attraverso gli script di testo.

Una volta che è stato deciso il sistema operativo, abbiamo scelto Apache come nostro web server. Apache è uno dei server web più popolari in internet. Per il linguaggio di programmazione lato server, abbiamo scelto PHP. Che è anchesso, un linguaggio di programmazione molto popolare. La nostra esperienza con Apache/PHP dimostra che questa configurazione è molto affidabile, lavorando molto bene nel nostro ambiente di produzione. Per il linguaggio di programmazione delle postazione di lavoro, abbiamo scelto javascript, che oltre di avere una sintassi semplice, offre un sacco di risorse.

Il web server Apache è veramente un web server completo. Inoltre, può diventare molto complessa con molti setup di configurazione.

Per la nostra banca dati, abbiamo scelto Postgresql. Questo database è stato messo a disposizione al pubblico per più di 15 anni, e oltre ad essere ben debuggato, offre così tante risorse che è diventato una delle migliori opzioni di database con codice Open Source. Estremamente affidabile, Postgresql ha casi in cui ci sono database in produzione con oltre 4 terabyte. Oltre a tutto questo, Postresql è il più popolare database con codice open source. Una questione di marketing? Probabilmente.

Per quanto riguarda il linguaggio di programmazione PHP, abbiamo dovuto utilizzare una applicazione con una struttura orientata agli oggetti. Ci sono molte strutture applicative PHP che sono offerte con licenza Open Source.L’applicazione orientata agli oggetti è molto importante, perché rende la programmazione molto semplice e scalabile fino al punto in cui il sistema può crescere senza molti problemi. Inoltre, aiuta a mantenere il codice PHP separato dal HTML, con l’aiuto di alcune librerie specifiche, come Smarty. Noi facciamo uso delle librerie Smarty e crediamo che sia una risorsa molto importante, che può anche fornire le pagine web più velocemente attraverso l’utilizzo delle sue funzioni di cache.

Un’altra serie molto importante di librerie da segnalare per il linguaggio PHP, sono le librerie PEAR. Nel sito web PEAR, tra le molte librerie offerte, ci sono le interfacce ai database DB e la libreria MAIL_QUEUE, che invia messaggi di posta elettronica attraverso l’uso di database.

Come siamo arrivati alla fine del nostro progetto, abbiamo dovuto utilizzare una sorta di replica di database tempo reale. Per questo abbiamo scelto DRBD ed Heartbeat. L’uso di una replica di database è molto importante e non deve essere rinviata. Dopo solo 3 mesi che il nostro sistema era in produzione, il nostro disco rigido del server si è rotto. Attraverso l’uso di DRBD/Heartbeat siamo stati in grado di mettere il sistema di back up in produzione in pochi secondi, senza perdere alcun dato. La replica con DRBD/Heartbeat è fatta attraverso l’uso di una rete LAN tra il server ed i nodi slave.

Il nostro progetto si avvale anche di ImageMagick (ingrandire e ridurre immagini), iptables (firewall), tsearch2 (ricerca di testo in PostgreSQL) e Mon (compiti di monitoraggio linux).

Una libreria molto importante da segnalare è anche lo pseudo compilatore APC per PHP. La velocità è sempre un fattore critico per i siti internet.

Il nostro sito web è già in produzione e in base alla nostra esperienza possiamo dire che il software Open Source che abbiamo raccolto, si è rivelata estremamente affidabile e stabile.Il Software Open Source può certamente essere un’ottima opzione per sviluppare siti web.

Author Bio
Roberto Sedycias – IT Consultant

Popular Posts:

Flattr this!

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*