Jump to content
Sign in to follow this  
csaffi

Consigli Architettura e Sincronizzazione database

Recommended Posts

Ciao a tutti,

avrei bisogno di un vostro consiglio su come architettare il mio sistema, che attualmente è così composto:

 

- Gestionale legacy

- Applicazione web che estende e migliora parti del gestionale, sviluppata in Vaadin/MySQL, con interazioni legacy col gestionale

- Ecommerce, sviluppato in JSP/MySQL

Dal database del gestionale vengono esportate periodicamente alcune tabelle su un database MySQL, condiviso dall'Ecommerce e dall'Applicazione web.

 

Attualmente, per evitare problemi di sincronizzazione, tutto il sistema è in locale, ma per evitare problemi nella continuità del servizio stavo pensando di migrare alcune parti all'esterno in hosting, magari su cloud con SLA 100%. Se potessi migrerei fuori tutto, per centralizzare, ma non è possibile a causa delle interazioni legacy.

 

L'unica parte del sistema che potrei migrare pare possa essere l'Ecommerce. A tale scopo, vorrei sincronizzare il database MySQL locale con quello remoto. Pensavo ad una replica master-master, che però esporrebbe a problematiche di sicurezza in quanto la replica di MySQL non avviene attraverso HTTP...

 

Cosa ne pensate?

 

Sarei felice di ricevere i vostri consigli, grazie :)

Share this post


Link to post
Share on other sites

Un hosting non ti basterebbe per quello che devi fare, ma dovresti andare verso un VPS o - ancora meglio - un server dedicato.

 

A questo punto puoi tranquillamente creare una VPN tra la macchina remota e la rete locale per veicolare il traffico della replica di MySQL. Il problema che vedo io, pero', e' legato alla stabilita' della connettivita' tra la sede attuale ed il datacenter remoto. Devi valutare quanto potra' essere il carico, quanto la linea e' affidabile e via dicendo.

 

Ciao

Share this post


Link to post
Share on other sites
Un hosting non ti basterebbe per quello che devi fare, ma dovresti andare verso un VPS o - ancora meglio - un server dedicato.

 

A questo punto puoi tranquillamente creare una VPN tra la macchina remota e la rete locale per veicolare il traffico della replica di MySQL. Il problema che vedo io, pero', e' legato alla stabilita' della connettivita' tra la sede attuale ed il datacenter remoto. Devi valutare quanto potra' essere il carico, quanto la linea e' affidabile e via dicendo.

 

Ciao

 

 

Si non intendevo un hosting condiviso, ma un hosting dedicato, magari cloud con SLA 100%...

 

Riguardo la connettività, è proprio uno dei fattori per i quali vorrei migrare in hosting l'ecommerce, in modo che i clienti possano avere sempre la possibilità di consultarlo ed ordinare. In azienda poi, per assicurare una comunicazione affidabile col server remoto, potrei aggiungere una connessione 3G di backup, in modo che se casca l'adsl entra in gioco il 3G.

Share this post


Link to post
Share on other sites
Si non intendevo un hosting condiviso, ma un hosting dedicato, magari cloud con SLA 100%...

 

Io sfido a trovare qualcuno che ti dia uno sla al 100%. Andrei anche principalmente su una VPS od un server dedicato, anziche' una piattaforma cloud. Non ne vedo l'utilita' nel tuo caso.

 

Riguardo la connettività, è proprio uno dei fattori per i quali vorrei migrare in hosting l'ecommerce, in modo che i clienti possano avere sempre la possibilità di consultarlo ed ordinare. In azienda poi, per assicurare una comunicazione affidabile col server remoto, potrei aggiungere una connessione 3G di backup, in modo che se casca l'adsl entra in gioco il 3G.

 

Io considererei l'idea di una SHDSL ed una ADSL, piuttosto che una connessione 3G. Per MySQL hai bisogno di una latenza bassa, quindi ti troveresti con dei problemi. Per non considerare anche il fatto che una connessione 3G puo' facilmente essere altalenante, e potrebbe causarti problemi con la replica di MySQL.

 

Ciao!

Share this post


Link to post
Share on other sites
Io sfido a trovare qualcuno che ti dia uno sla al 100%. Andrei anche principalmente su una VPS od un server dedicato, anziche' una piattaforma cloud. Non ne vedo l'utilita' nel tuo caso.

 

 

 

Io considererei l'idea di una SHDSL ed una ADSL, piuttosto che una connessione 3G. Per MySQL hai bisogno di una latenza bassa, quindi ti troveresti con dei problemi. Per non considerare anche il fatto che una connessione 3G puo' facilmente essere altalenante, e potrebbe causarti problemi con la replica di MySQL.

 

Ciao!

 

 

SLA 100% è offerto da diversi cloud provider, ad esempio Cloud.it, Lunacloud.com, Cloudsigma.com

 

Riguardo la connettività, non è l'unico problema, per avere un servizio HA dovrei avere tutta l'infrastruttura hardware adeguata, con investimenti non proprio trascurabili. La sola SHDSL costa 100euro+iva al mese.

 

E comunque, avendo SHDSL + ADSL, non risolverei il problema di eventuali guasti alle linee telecom. Col 3G invece, da utilizzare solo in situazioni di emergenza, potrei bypassare le linee telecom...

Share this post


Link to post
Share on other sites

Io uso cloud.it e ti assicuro che nel contratto il 100% non c'è. Quelli che dicono gli operatori non credo proprio valga nulla...

Ti cito il contratto:

Uptime del 99,95% su base annuale, di accessibilità tramite rete internet alla Infrastruttura virtuale creata ed

allocata dal Cliente.

- la completa inaccessibilità tramite rete internet alla

Infrastruttura virtuale creata ed allocata dal Cliente per un

tempo complessivo superiore a quello determinato dal

parametro di Uptime garantito da Aruba costituisce

disservizio per il quale, in base alla sua durata, è dovuto

al Cliente, a titolo di indennizzo, il credito determinato ai

sensi del successivo art. 6 del presente SLA.

B) Infrastruttura virtuale creata ed allocata dal Cliente

- Uptime del 99,95% su base annuale, per la disponibilità

dei nodi fisici (server) che ospitano l'Infrastruttura

virtuale;

 

 

EDIT: Anche sul sito Lunacloud non vedo scritta SLA del 100%, ma si parla di altri numeri, dove tra l'altro i rimborsi sono indicati come il 50% della spesa nel caso di 72 ore di down. Personalmente non mi sembra per nulla conveniente.

Share this post


Link to post
Share on other sites
Io uso cloud.it e ti assicuro che nel contratto il 100% non c'è. Quelli che dicono gli operatori non credo proprio valga nulla...

Ti cito il contratto:

 

 

 

EDIT: Anche sul sito Lunacloud non vedo scritta SLA del 100%, ma si parla di altri numeri, dove tra l'altro i rimborsi sono indicati come il 50% della spesa nel caso di 72 ore di down. Personalmente non mi sembra per nulla conveniente.

 

Grazie per la risposta. Comunque il problema non è tanto se esistano cloud provider con SLA 100%, ma è trovare l'architettura giusta al mio scopo.

 

Questi sono gli scenari possibili a mio avviso:

 

Scenario1 (db condiviso)

Ecommerce ed Applicazione web continuano a condividere lo stesso database MySQL, per evitare problemi di sincronizzazione ed incasinarsi con le giacenze dei prodotti. Ma per condividere lo stesso database devono trovarsi entrambe o in locale (come adesso) o in hosting remoto. Se le migro entrambe in remoto si pone il problema della comunicazione tra Applicazione web e Gestionale legacy, la quale avviene tramite un driver windows obsoleto.

 

Scenario2 (db esterno)

Migrare all'esterno solo l'Ecommerce, con replica dei dati master/slave o master/master.

2.1) Nel caso di master/slave (slave db remoto dell'Ecommerce), le scritture dovrebbero essere indirizzate al master, quindi si pone il problema di modificare l'ecommerce e di avere il master locale sempre attivo.

2.2) Nel caso di master/slave (slave db locale dell'Applicazione web), le scritture dovrebbero essere indirizzate al master remoto, quindi si pone il problema di modificare l'Applicazione web e di avere il master remoto sempre attivo.

2.3) Nel caso di master/master, potrebbero sorgere problemi di connettività con conseguenti problemi di sincronizzazione, ritrovandoci con giacenze diverse sui due database.

 

 

Cosa ne pensate?

Share this post


Link to post
Share on other sites

Non hai pensato alla possibilita' di andare in colocation da qualche parte con l'infrastruttura che hai attualmente ?

 

Penso che risolverebbe la questione del driver windows e ti permetterebbe di mantenere quello che gia' hai.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×