Come distribuire un'applicazione server eterogenea ai clienti?

0

Abbiamo un server applicativo più grande che i clienti vorrebbero avere distribuito localmente.

Consiste in un database di server MySQL, un database REDIS, più server Web per le parti secondarie, un proxy inverso NGINX in modo che questi server Web siano raggiungibili dalla porta 80 e da un server C ++ homegrown.

Tutte le parti secondarie (DB, Webserver, ...) devono essere configurate per essere accessibili l'una dall'altra.

Al momento (per uso interno) la distribuzione e la configurazione sono fatte a mano; ma per poterlo distribuire ai clienti, vorremmo avere una soluzione pronta all'uso che viene assemblata da alcuni script di compilazione.

Che cosa suggeriresti?

  1. Manutenzione di una VM che viene appena configurata e quindi distribuita?
  2. Mantenimento di alcuni script di installazione o pacchetto
  3. Qualcos'altro?

Di solito preferiremmo 2. come sembra il modo più naturale e lasciare che il cliente decida se vuole usare un vero server o una VM. Sembra anche che la creazione automatica di macchine virtuali sia piuttosto costosa.

I problemi che affrontiamo sono i componenti solitamente non incorporati come MySQL e NGINX. La configurazione NGINX è memorizzata in / etc / nginx /. Non penso che i pacchetti .DEB possano sovrascrivere la configurazione NGINX straniera, né è una buona pratica. Lo stesso con MySQL.

È anche possibile incorporare MySQL / NGINX / Redis ma questo non è un compito banale.

    
posta nob 02.01.2012 - 16:02
fonte

1 risposta

2

Per tutte le piattaforme supportate, crea pacchetti che inseriscono le giuste dipendenze ed eseguono script per la configurazione. Cioè debs per Ubuntu / Debian, rpm per Redhat / Centos.

Ciò ti comprerà anche un facile aggiornamento se necessario.

    
risposta data 02.01.2012 - 16:23
fonte

Leggi altre domande sui tag