Distribuire l'applicazione PHP sul servizio clienti indipendentemente dall'ambiente

3

La nostra azienda ha sviluppato un'applicazione "Cloud" PHP (CakePHP) in esecuzione sui nostri server, ora abbiamo alcuni clienti che vorrebbero utilizzare il nostro servizio e fare integrazioni ai loro sistemi locali. I sistemi locali sono dietro un firewall che non verrà aperto per consentirci di accedervi dal "Cloud", quindi è necessario implementare il nostro sistema sui loro server.

Come farlo in un modo che ci renda in grado di:

  1. Rendilo indipendente dalle versioni software esistenti sul server (potrebbe essere una vecchia versione di PHP installata o qualcosa di simile che non possiamo aggiornare).
  2. Aggiorna il sistema.
  3. Traccia l'utilizzo del sistema (addebitiamo in base alle funzionalità che l'utente può attivare, nessun problema su Cloud se avessimo accesso al database)

Penso che possiamo supporre che il server abbia accesso a Internet. L'installazione iniziale verrà eseguita da noi tramite VPN o sul sito, in alternativa possiamo consentire al cliente di installarlo se la procedura è abbastanza semplice.

Pensiamo di poter risolvere 2 e 3 lasciando che il sistema faccia richieste a qualche tipo di "server di licenze" che dobbiamo costruire. C'è una buona pratica qui o maby un software pronto per l'uso?

Il problema più grande per noi è 1., stiamo cercando di configurare una macchina virtuale (i client non avranno vmware quindi stavamo parlando di qualcosa come virtualbox che può essere eseguito su un SO esistente) che l'intero sistema con tutti delle sue dipendenze andranno avanti, eccoci anche alla ricerca di consigli sulle migliori pratiche. Mamma un ambiente virtuale non è un buon modo per andare?

Qualsiasi aiuto o pensiero è appannato!

    
posta Sultanen 31.07.2015 - 17:31
fonte

2 risposte

1

Potresti voler controllare Docker (come un'immagine VM) come un modo per "containerizzare" la tua implementazione. In questo modo, qualsiasi sistema operativo in grado di eseguire il modulo docker può prelevare il contenuto in container e utilizzarlo nello stesso modo in cui lo si desidera. Esistono numerosi moduli Docker esistenti che potresti persino iniziare con i quali contenere php, immagini di database, ecc. L'unico problema sarebbero i tuoi requisiti di licenza e quello che ti serve per usare Docker nel tuo caso particolare. Sto usando Docker per java, database e front-end web per un mio cliente.

    
risposta data 04.08.2015 - 04:27
fonte
0

È possibile utilizzare un provider di hosting cloud come Microsoft Azure, che non è in alcun modo limitato alle VM di Windows, hanno un sacco di immagini Unix / Linux e ti danno la possibilità di caricare le tue VM. Amazon ha caratteristiche simili.

È possibile creare reti virtuali, web farm, creare connessioni VPN, ecc., gestire più abbonamenti e aggiungere utenti a diversi livelli come ad esempio Contributor e admin di VM. link

Una volta che le immagini / reti sono state impostate nel modo desiderato e gli utenti desiderano avere gli ambienti interni invece del cloud, possono installare Azure Pack, che consente alle funzionalità "Azure" di esistere su un datacenter fisico (o locale VM). link

O semplicemente usa le immagini VM che hai e metti le copie sulla loro VLAN se sono un negozio completamente non Microsoft e lo vuoi ancora in-house.

    
risposta data 03.08.2015 - 15:29
fonte

Leggi altre domande sui tag