Iniziamo ora a illustrare una seconda modalità di installazione delle applicazioni nel cloud. Invece che utilizzare server di produzione all’interno della piattaforma Instant Developer Cloud, utilizzeremo server in altri cloud, o anche in modalità on-premise, sempre che essi siano raggiungibili dalla console, cioè siano pubblici su internet.
Lo scopo dei server My Cloud è quello di permettere di riutilizzare una propria architettura Cloud per la distribuzione delle applicazioni sviluppate con Instant Developer Cloud. Questo può essere necessario se, ad esempio, si deve operare in una regione dove Google Cloud Platform non è disponibile, come la Cina, o se ci sono altri vincoli di progetto.
In mancanza di vincoli specifici, l’utilizzo di un server My Cloud non è mai conveniente rispetto ad un server Instant Developer Cloud in quanto le operazioni di gestione del server dovranno essere eseguite manualmente. Nel caso di utilizzo di server My Cloud, tuttavia, le operazioni di controllo delle applicazioni potranno essere effettuate tramite la console di Instant Developer Cloud.
In particolare le seguenti operazioni di gestione del server dovranno essere eseguite manualmente:
- Gestione del sistema di disaster recovery.
- Gestione del database server.
- Controllo delle performance del server.
- Riavvio del server.
- Configurazione domini, alias e certificati.
- Aggiornamento del sistema operativo e delle patch di sicurezza.
- Messa in sicurezza del server. Controllo della sicurezza nel tempo.
Inoltre, Pro Gamma non fornirà supporto tecnico sulla particolare infrastruttura server utilizzata.
Per poter gestire con successo i server My Cloud è quindi necessaria una conoscenza sistemistica completa dell’architettura server utilizzata.
Tramite la console potranno essere eseguite tutte le operazioni di installazione, configurazione e verifica del funzionamento delle applicazioni. Pro Gamma potrà fornire supporto tecnico su quanto concerne la gestione delle applicazioni su server My Cloud.
Acquisto del servizio di interconnessione #
Prima di poter utilizzare un proprio server in modalità My Cloud è necessario acquistare il servizio di interconnessione con la console, che permette poi di gestirne le applicazioni.
L’acquisto inizia dalla lista dei server della propria organizzazione, cliccando sul pulsante Aggiungi server my cloud.
Oltre alla scelta della taglia del server, in base al numero di processi worker utilizzabili, sarà possibile anche aggiungere i servizi aggiuntivi come Sincronizzazione, Cloud Connector e Analytics. Si noti che i servizi di backup giornaliero o orario non sono disponibili in questa configurazione. Tutti i prezzi indicati sono annuali.
A questo punto il nuovo server entrerà nella lista dei server disponibili e sarà possibile prepararlo per il collegamento vero e proprio.
Preparazione di un server My Cloud #
Prima di poter collegare alla console di Instant Developer Cloud un proprio server, è necessario prepararlo installando il framework di base.
Dalla pagina di impostazioni del server My Cloud, cliccare il pulsante Cambia versione, e scegliere la versione del framework (solitamente l’ultima).
Di seguito l’elenco delle operazioni da eseguire per preparare il server My Cloud. Gli esempi dei comandi sono relativi ad un server Linux Ubuntu in cui si esegue l’installazione da parte di root a partire dalla cartella /idcloud .
Installazione di Node.js
La versione di riferimento è Node.js 16.4. Per installare la versione si può far riferimento alla documentazione di Node.js, oppure seguire i seguenti passi:
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
Installazione di npm e pm2
Per installare pm2 è consigliabile aggiornare prima la versione di npm e successivamente installare pm2.
npm install npm@latest -g
npm install pm2 -g
Installazione di Postgresql 13
La versione di riferimento è Postgresql 13.3. Per installare la versione si può fare riferimento alla documentazione oppure eseguire i seguenti passi:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add
sudo apt-get update
sudo apt-get -y install postgresql-13
Installazione del pacchetto di versione
Eseguire le seguenti operazioni:
- Copiare sul server il file di versione scaricato tramite il comando Cambia versione dalla pagina di impostazioni del server My Cloud e poi decomprimerlo in una cartella.
- Creare la cartella idcloud in root:
mkdir /idcloud
- Rinominare e spostare la cartella ottenuta dalla scompattazione del pacchetto di versione in /idcloud/idserver ad esempio tramite il seguente comando:
mv update_*** /idcloud/idserver
- Creare le seguenti cartelle con i seguenti comandi:
mkdir /idcloud/config
mkdir /idcloud/idserver/apps
mkdir /idcloud/idserver/apps/apps
mkdir /idcloud/idserver/apps/db
mkdir /idcloud/idserver/apps/backups
mkdir /idcloud/node_modules
mkdir /idcloud/idserver/log
- Scaricare il file config-example.json sul server nella cartella /idcloud/config/ e rinominarlo in config.json, ad esempio con il comando seguente:
mv config-example.json /idcloud/config/config.json
- Modificare il contenuto del file config.json impostando le seguenti proprietà:
appDirectory: /idcloud/idserver/apps
alias: lista di IP o domini del server separati da virgola (,)
dbUser: postgres username
dbPassword: postgres password
consoleURL : https://console.instantdevelopercloud.com/CCC",
Aggiornamento dei moduli di Node.js
Alla prima installazione e per tutti i nuovi aggiornamenti è necessario aggiornare i pacchetti node modules per allinearsi alla definizione contenuta in package.json. Per ottenere questo risultato occorre spostarsi nella cartella /idcloud/idserver
cd /idcloud/idserver
e lanciare il comando:
npm install
Aggiungere e configurare utente indert
Occorre ora aggiungere l’utente giusto per l’esecuzione del framework di Instant Developer Cloud.
- Aggiungere l’utente e il gruppo indert: sudo adduser indert
- Assegnare i permessi alla cartella idcloud
sudo chown -R indert:indert /idcloud
sudo chmod -R 755 /idcloud
- Assegnare i permessi di scrittura alla cartella db
chown -R postgres:postgres /idcloud/idserver/apps/db
Avviare server.js con PM2
Infine occorre configurare PM2 per avviare il server Node.js:
cd /idcloud/idserver/server
pm2 start server.js
pm2 save
pm2 startup ubuntu
Collegamento alla console
Una volta completata la procedura di installazione, è possibile completare la configurazione del server nella console, inserendo i seguenti dati nell’ultimo riquadro:
- Indirizzo IP pubblico del server.
- Protocollo di connessione (lasciare HTTPS).
- Porta HTTP (lasciare il valore di default indicato).
- Porta HTTPS (lasciare il valore di default indicato).
- Porta Node.js (lasciare il valore di default indicato).
Per completare la procedura di collegamento, cliccare il pulsante Connetti il server in alto nella pagina. Al termine della procedura il server risulterà connesso e sarà possibile installare e gestire le applicazioni.
Installazione delle applicazioni #
L’installazione delle applicazioni su un server My Cloud funziona nello stesso modo dei server della piattaforma Instant Developer Cloud. Per poter installare applicazioni, il server My Cloud deve risultare connesso alla piattaforma.
L’unica differenza riguarda la configurazione dei processi worker per l’applicazione. Siccome il server My Cloud ha un limite sul numero di processi worker utilizzabili in funzione della sua taglia, la configurazione dei processi tiene conto di questo limite.
Gestione delle applicazioni #
La gestione delle applicazioni installate su un server My Cloud funziona nello stesso modo dei server della piattaforma Instant Developer Cloud. Per poter gestire le applicazioni, il server My Cloud deve risultare connesso alla piattaforma.
Gestione del server #
La gestione di un server My Cloud tramite la console di Instant Developer Cloud ha funzionalità limitate rispetto ai server della piattaforma. In particolare non sono previste le seguenti pagine e le relative funzionalità:
- Monitoraggio delle attività: il sistema di monitoraggio delle attività non è disponibile.
- Configurazione dei worker: avviene solo a livello di applicazione.
- Backup: il sistema di backup e ripristino del server non è disponibile.
Limitazioni #
I server My Cloud non possono essere utilizzati per ospitare soluzioni basate su Instant Developer Chatbot, Instant Developer Support e per installare il configuratore di Instant Developer Creator.
I server My Cloud inoltre non possono essere usati come server per il test automatico delle applicazioni.