In questa guida illustriamo i passaggi per distribuire un’applicazione e un database di esempio. Sentitevi liberi di usare l’applicazione di esempio qui sotto per i test, ma non fate affidamento su di essa per qualsiasi tipo di uso in produzione. Lo scopo dell’applicazione è quello di testare la distribuzione di Kinsta.

Preferite guardare la versione video?

Esempio di applicazione

Abbiamo creato una piccola applicazione per registrare il meteo e visualizzare i risultati in una pagina. Potrete trovare l’applicazione su GitHub.

Aprire l’applicazione di esempio

Per prima cosa, aprite l’applicazione weatherlogger-js su GitHub e leggete il file Readme incluso per saperne di più. Una volta che avete familiarizzato con l’applicazione, cliccate sul pulsante Fork in alto a destra per eseguire il fork sul vostro account GitHub.

Creare un fork di weatherlogger-js su GitHub.
Creare un fork di weatherlogger-js su GitHub.

Creare una chiave API

L’applicazione richiede una chiave API di OpenWeather. Una volta iscritti, potrete accedere e creare gratuitamente una chiave API che vi permetterà di effettuare 1.000 chiamate API al giorno. Consigliamo di eseguire prima questo passaggio perché la chiave API impiega 10-20 minuti per diventare attiva, tempo che possiamo dedicare alla configurazione della nostra applicazione.

Processi

Quando distribuiamo l’applicazione su Kinsta, dobbiamo eseguire due processi:

  • Un server web dove visualizzare i dati meteo. Può essere avviato utilizzando il comando npm start.
  • Un cronjob che raccoglie i dati meteo ogni pochi minuti. Può essere avviato con il comando npm run weatherLogger

Iniziamo a prepararci per l’esecuzione di questi processi.

Distribuire un database

In MyKinsta, andate alla pagina Applicazioni, cliccate su Aggiungi servizio e selezionate Database nel menu a tendina. Per creare il nostro database di esempio abbiamo utilizzato i seguenti valori nel modulo:

  • Nome del database: weatherloggerdb
  • Nome visualizzato: Weather Logger Database
  • Tipo di database: MySQL
  • Versione: 8.0
  • Abbiamo lasciato inalterati il nome utente e la password del database
  • Posizione del data center: us-east4-a
  • Dimensioni del database: 2 core CPU – 512 MB RAM (Mini)

Cliccate sul pulsante Crea database e il gioco è fatto.

Creare un fork di weatherlogger-js su GitHub.
c.

Distribuire un’applicazione

Andate alla pagina Applicazioni, cliccate su Aggiungi servizio e selezionate Applicazione nel menu a tendina. Cliccando sul campo del repository GitHub, dovrete consentire a Kinsta di interagire con il vostro repository.

Per una guida video, date un’occhiata ai nostri Video Tutorial. Per una documentazione più dettagliata, consultate la sezione Aggiungi un’applicazione.

Per creare la nostra applicazione di esempio abbiamo utilizzato i seguenti valori:

  • Repository GitHub: danielpataki/weatherlogger-js (nel vostro caso, sarà qualcosa come your-organization/weatherlogger-js)
  • Branch predefinito: main
  • Distribuzione automatica su commit: deselezionato
  • Ambiente di runtime: Lascia che sia Kinsta a impostare l’ambiente di runtime
  • Nome dell’applicazione: Weather Logger
  • Posizione del data center: us-east4-a

Cliccate su Aggiungi applicazione e il processo di distribuzione verrà avviato.

Creazione di una nuova applicazione per il nostro esempio.
Creazione di una nuova applicazione per il nostro esempio.

Collegare l’applicazione e il database

Una volta che il database è pronto per le connessioni (viene visualizzato un segno di spunta verde), possiamo collegarlo alla nostra applicazione, anche se questa è ancora in fase di distribuzione. Cliccate sull’applicazione Weather Logger, cliccate su Impostazioni nella barra laterale e scorrete verso il basso fino alla sezione Connessioni interne.

Connessioni interne nella nostra applicazione di esempio.
Connessioni interne nella nostra applicazione di esempio.

Cliccate su Aggiungi connessione e, nella finestra modale/pop-up che vi appare, selezionate il database del Weather Logger. Selezionate la casella Aggiungi variabili d’ambiente per accedere al database, scorrete fino in fondo alla finestra e fate clic su Aggiungi connessione.

Aggiungere una connessione interna per la nostra applicazione di esempio.
Aggiungere una connessione interna per la nostra applicazione di esempio.

Configurazione dell’applicazione

La successiva cosa da fare è aggiungere tutte le informazioni di cui la nostra applicazione ha bisogno sotto forma di variabili d’ambiente. La maggior parte delle informazioni è stata aggiunta automaticamente nella fase precedente, popolando le variabili di connessione al database.

L’unica informazione mancante che è richiesta dall’applicazione è la chiave API di OpenWeatherMap. Nelle Impostazioni, appena sotto la sezione Connessioni interne, troverete la sezione Variabili d’ambiente. Fate clic su Aggiungi variabile d’ambiente e utilizzate OPENWEATHER_KEY come chiave e la vostra chiave API come valore.

Aggiungere la chiave API di OpenWeather alle variabili d'ambiente.
Aggiungere la chiave API di OpenWeather alle variabili d’ambiente.

L’applicazione supporta altre variabili per controllare la frequenza di aggiornamento, le unità di misura utilizzate, ecc. Per maggiori informazioni, consultate la documentazione delle applicazioni.

Configurare i processi

All’inizio abbiamo detto che avremo bisogno di un server web e di un cronjob. Andate alla sezione Processi dell’applicazione e vedrete che un processo web viene creato automaticamente e viene eseguito in modo predefinito su npm start, che è esattamente ciò di cui abbiamo bisogno.

Per impostare il cronjob, fate clic sul pulsante Crea processo e compilate il modulo nella finestra modale/pop-up che vi appare. Per il nostro esempio abbiamo utilizzato i seguenti valori:

Nome: Worker
Tipo: Background job
Comando di avvio npm run weatherLogger
Dimensione pod: nano
Istanze: 1

Poi cliccate sul pulsante Crea processo.

Creazione del processo in background per la nostra applicazione di esempio.
Creazione del processo in background per la nostra applicazione di esempio.

Distribuire l’applicazione

Infine, tornate alla sezione Distribuzioni e fate clic sul pulsante Distribuisci adesso. L’installazione richiede solitamente circa 90 secondi, ma potrebbe essere necessario attendere un po’ di più affinché tutti i processi si attivino correttamente. La prima misurazione del tempo dovrebbe essere registrata dopo pochi minuti. Per verificare che tutto funzioni, date un’occhiata alla sezione Log.

Runtime logs for the example application.
Log di runtime per l’applicazione di esempio.

Dopo un paio di minuti, dovreste vedere i processi andati a buon fine nei log di Runtime. Nell’immagine di esempio qui sopra, la riga 243 mostra che il logger ha iniziato a funzionare (Starting weather logging) e la riga 244 mostra che il server web è in esecuzione (Weather server is up and running). La riga 245 mostra due eventi di registrazione (Weather data retrieved).

Se tornate alla sezione Distribuzioni, dovreste vedere l’URL dell’Ultima distribuzione. Cliccate su questo URL per accedere alla pagina servita dal servizio web:

Pagina del Weather logger che mostra le voci meteo.
Pagina del Weather logger che mostra le voci meteo.