Jelastic, integrazione evoluta per application server Node.js

Jelastic PaaS offre un’integrazione evoluta per application server Node.js e garantisce una grande scalabilità, unitamente a velocità e fluidità di esecuzione.
La piattaforma è solitamente fornita con numerosi strumenti per ottimizzare le risorse e per rendere l’intero processo di hosting appetibile per gli sviluppatori.
Jelastic supporta numerose versioni Node.js (6.11.5 – 6.14.1, 8.9.0 – 8.11.3, 9.0.0 – 9.11.1 e 10.0.0 – 10.8.0); la compatibilità con le nuove release è possibile grazie a rilasci sempre aggiornati.
Indipendentemente dalla versione scelta per lo sviluppo, la piattaforma assicura un facile roll-back a release precedenti. Si tratta di un processo guidato e facile da attuare, utile soprattutto nel caso si riscontrino problemi o difformità del sistema una volta operato l’upgrade all’ultima variante.

Jelastic PaaS automatizza l’intero processo di distribuzione degli application server Node.js in uso adottando archivi caricati direttamente da una macchina locale o tramite URL esterni. In alternativa è possibile utilizzare pacchetti per il deployment provenienti da librerie esterne (VCS repository), come ad esempio GitHub.

Al fine di migliorare la gestione complessiva dell’infrastruttura, ogni application server Node.js è distribuito con uno specifico strumento di deployment. Package Manager assicura un elevato tasso di standardizzazione e automazione per quanto riguarda i processi di installazione, aggiornamento, configurazione e rimozione.
Nel dettaglio, Jelastic supporta due tipi di gestori di pacchetti: Npm e Yarn.
Npm si occupa di gestire i requisiti principali del progetto e di installare moduli aggiuntivi, pacchetti e applicazioni pronte all’uso.
Yarn si comporta in modo molto simile al precedente componente e, pertanto, non richiede specifiche modifiche per le applicazioni già esistenti. Yarn garantisce velocità, affidabilità e convenienza di alto livello.
La configurazione standard del gestore pacchetti prevede l’uso della componente Npm, ma un passaggio a Yarn è possibile accedendo alla scheda delle impostazioni relativa alle variabili del container.

Jelastic, integrazione evoluta per application server Node.js

Ancora più importante, la disponibilità di specifici Node.js Process Manager, elementi che consentono di controllare il ciclo di vita delle applicazioni, monitorando servizi e mantenendo il progetto selezionato sempre attivo e funzionale. Jelastic PaaS fornisce il supporto per quattro distinti gestori di processo dello stack.
Npm permette di avviare e configurare più processi, mentre Pm2 offre una vasta gamma di funzionalità di gestione delle applicazioni, incluso il monitoraggio dei processi avviati.
Particolarmente interessante il gestore “Forever”, che consente di eseguire continuamente i processi Node.js e di riavviarli automaticamente in caso di errore.
La componente “Supervisor” è invece deputata al monitoraggio delle applicazioni in esecuzione alla ricerca di modifiche; il sistema può riavviare singole App in modo automatico per consentirne il corretto aggiornamento.
La selezione di un gestore preferenziale può essere fatta in fase di ridistribuzione del container, semplicemente modificando la variabile “Process_Manager”.

Per quanto attiene alla gestione domini, è possibile integrare le applicazioni Node.js con un nome di dominio personalizzato, in modo che sia utilizzato al posto di quello di default. In base alla topologia dell’ambiente, è possibile usare due differenti modalità operative. Il reindirizzamento CNAME risulta particolarmente valido se si utilizza un meccanismo di bilanciamento del carico condiviso ed è consigliato per ambienti di sviluppo e test.
Diversamente, “DNS A Record” può essere considerato se si utilizza un IP pubblico ed è capace di gestire carichi di traffico elevati. Si tratta di una soluzione indicata per ambienti di produzione, anche particolarmente complessi.

Per indirizzare gli utenti verso nuove versioni dell’applicazione, senza incorrere in downtime o possibili blocchi, è possibile adottare funzionalità di scambio tra domini o instradare il traffico tra gli ambienti esistenti attraverso metodi API / CLI SwapExtIps.

Una infrastruttura di questo tipo, basata su Jelastic, assicura grande resilienza e scalabilità su entrambi gli assi.
Adottando meccanismi di scalabilità verticale automatica, Jelastic PaaS fornisce dinamicamente la quantità esatta di risorse (RAM e CPU) richieste dai nodi, in base al carico rilevato in tempo reale, il tutto senza necessità di interventi manuali da parte dell’operatore. All’ottimizzazione delle risorse corrispondono importanti risparmi di natura economica, dato che saranno abilitate unicamente le componenti strettamente indispensabili.

Il ridimensionamento orizzontale delle risorse è possibile attraverso il wizard di configurazione e attiene strettamente alla topologia in uso. Le release più recenti consentono di definire la modalità di ridimensionamento preferenziale.
In modalità “Stateless”, ciascun nuovo nodo creato sarà generato a partire dal modello di immagine di base. Scegliendo il meccanismo “Stateful” sarà possibile generare copie in sequenza del file system, dal contenitore principale al nuovo host Node.js.
Sfruttando le funzionalità di scaling automatico orizzontale è possibile aumentare o diminuire il numero di nodi attivi in funzione del carico dell’applicazione.

L’hosting su Jelastic mette a disposizione numerose altre funzionalità integrate, utili per massimizzare i processi e semplificarne l’integrazione. È possibile disporre di connessioni SSL personalizzate, IP pubblici di tipo IPv4 e IPv6, oltre a un’ampia gamma di stack software interamente gestiti.
Il sistema offre una interfaccia di gestione intuitiva e accessi SSH diretti per le attività di manutenzione. Jelastic supporta Open API e Cloud Scripting per automatizzare i processi e prevede la possibilità di innalzare la security end-to-end con firewall e camere di isolamento dedicate.
Si tratta di una versatile architettura che può essere facilmente utilizzata da interi team di lavoro, grazie alle funzionalità di collaborazione ed è già strutturata per semplificare la distribuzione su scala multi-cloud.