Applicazione Rails per intranet aziendale

Ciao a tutti,
vorrei proporre alla mia azienda una soluzione sviluppata in rails, ho
già un prototipo funzionante che mi piacerebbe portare a termine.
Mi chiedevo però cosa comporta dal lato sistemistico, se usare per
esempio mongrel può essere una soluzione stabile o rischierei di fare
brutte figure. La realtà nella mia azienda non è molto tecnologica, c’è
un server web IIS 6 o 7 e un server domino. Ci sarebbero sviluppi anche
per internet ed ho bisogno di qualche informazione da chi ha giÃ
affrontato il problema e può darmi qualche consiglio per non essere
impreparato sulla questione sicurezza, stabilità ecc.

Marco M. wrote:

Ciao a tutti,
vorrei proporre alla mia azienda una soluzione sviluppata in rails, ho
già un prototipo funzionante che mi piacerebbe portare a termine.
Mi chiedevo però cosa comporta dal lato sistemistico, se usare per
esempio mongrel può essere una soluzione stabile o rischierei di fare
brutte figure. La realtà nella mia azienda non è molto tecnologica, c’è
un server web IIS 6 o 7 e un server domino. Ci sarebbero sviluppi anche
per internet ed ho bisogno di qualche informazione da chi ha giÃ
affrontato il problema e può darmi qualche consiglio per non essere
impreparato sulla questione sicurezza, stabilità ecc.

Io ho deployato diverse applicazioni intranet nella nostra azienda (70
collaboratori). Ho usato apache -> haproxy -> mongrel con mo_kerb su
apache per autenticare gli utenti nella lan sul domain controller.
Va tutto alla grande.
Se vuoi sapere cose più precise chiedi.

“apache -> haproxy -> mongrel con mo_kerb su apache”

Mi dai due dritte?
a cosa serve un proxy tra apache e mongrel? Solo per una questione di
performance tramite il load balancer (che so a malapena come si
scrive).
haproxy è solo per sistemi *nix? Alternative per windows?
Per quanto riguarda kerberos … vado a googlare ancora un po.

Grazie per l’illustrazione, al limite di disturberò con qualche domanda.

Michele C. wrote:

Mi dai due dritte?
a cosa serve un proxy tra apache e mongrel? Solo per una questione di
performance tramite il load balancer (che so a malapena come si
scrive).

si. solo per quello. ho una pagina web che fa una tabella tipo
calendario di tutte le assenze dei dipendenti (ferie, uscite per
servizio, ecc), e se uno richiede tutte le assenze in un anno, la query
sotto ci mette 10 secondi. se non ci fosse haproxy potrebbe succedere
che una request finisce sul mongrel che sta facendo la query di 10
secondi, e chi ha fatto quella particolare request deve aspettare che
finisca la prima. haproxy invece fa in modo che le request vadano a
finire sempre su un mongrel libero (se cen’è uno ovviamente).

haproxy è solo per sistemi *nix? Alternative per windows?

non saprei, ma puoi farne a meno se non hai request che ci mettono tanto
tempo.

Per quanto riguarda kerberos … vado a googlare ancora un po.

kerberos serve appunto per non fare mettere agli utenti della intranet
ogni volta user e pass quando accedono alla pagina web.

Nella nostra azienda abbiamo uno stack Rails ben avviato in cui girano
parecchie applicazioni Rails. L’utilizzo di Mongrel + Apache si rende
necessario in quanto Mongrel è un server mono-thread, cioè non prevede
l’utilizzo di più processi o thread (cosa che invece fa apache).

Di conseguenza la soluzione a questo problema prevede l’avvio di più
instanze di mongrel per lo stesso applicativo (vedi mongrel-cluster) e
l’utilizzo di apache come proxy per (tramite load balancer) bilanciare
il carico di richieste tra le varie istanze di mongrel attive.

Inoltre, se sullo stesso sito devono girare più applicativi Rails,
ognuno con una certo percorso (ad es. www.example.com/app1 e
www.example.com/app2) è necessario configurare apache per utilizzare i
VirtualHost e dire a mongrel quale è il prefix path dell’applicativo
(es. prefix=/app1). La configurazione però non è banale e richiede una
certa conoscenza di apache e di mongrel.