Creare un cluster WordPress su Jelastic Cloud di Aruba
Jelastic Cloud di Aruba è una piattaforma versatile che consente l’installazione di applicazioni auto-scalabili, che cioè al variare del carico scelgono automaticamente le risorse di esecuzione e quindi ottimizzano i costi fatturati.
Jelastic integra i benefici del cloud di piattaforma (PaaS, platform as a Service) con un approccio a container (CaaS, container as a service) che minimizza gli interventi tecnici e riduce gli sprechi in fattura. La semplicità di setup e la scalabilità bidimensionale di Jelastic Cloud di Aruba riducono i costi d’ingresso, di manutenzione e di esecuzione, ottimizzando i costi in tutte le fasi del ciclo di vita dell’applicazione.
Jelastic Cloud per lo sviluppo di applicazioni
Jelastic Cloud è particolarmente efficace anche come ambiente di sviluppo e test delle applicazioni. Grazie ai container, le modifiche al codice possono essere fatte senza creare problemi né di servizio, né di errore sui dati. Queste operazioni possono essere impostate su diversi livelli di accesso, funzionalità utilissima per aziende piccole, in crescita o già grandi.
In particolare, aziende più strutturate possono aver necessità d’un accesso classico ai container. Jelastic Cloud implementa SSH e altre interfacce, permettendo qualsiasi intervento anche da linea di comando o da script. L’ottica di sviluppo è la CI/CD, Continuous Integration and Continuous Delivery.
Questo approccio permette quindi sia di avviare un progetto dall’inizio, sia di ampliare o riprogettare un servizio già esistente, eventualmente ampliando in multi-cloud i servizi provenienti da diversi fornitori.
Il Marketplace di applicazioni
Le risorse necessarie sono disponibili in cluster di elaborazione sui quali è possibile installare soluzioni già pronte, dette Auto-Scalable Clusters in One Click: WordPress, Magento, MySql, Drupal, GlassFisch, Cyclos, Springboot, JBoss, PostgreSQL, Oracle WebLogic, WildFly. Le applicazioni disponibili sul marketplace sono oltre 60.
L’installazione e la gestione avvengono attraverso un’interfaccia utente ricca e di semplice uso.
Oltre ai cluster già pronti, sull’interfaccia utente sono disponibili numerosi add-on: DripStat, Env Start/Stop Scheduler, File Synchronization, Git-Push-Deploy Add-On, Ioncube Add-On, Let’s Encrypt Free SSL, Magento Data Migration, New Relic APM e NGINX Amplify.
Creare un cluster WordPress in Alta Disponibilità (High Availability)
Tra i cluster già pronti c’è anche quello relativo a WordPress. Selezionando sul pannello Marketplace il WordPress Cluster, viene lanciata una installazione automatica su container, la cui orchestrazione (semiautomatica) è molto semplificata.
L’interfaccia utente permette di impiegare linguaggi di sviluppo (Java, Python, Go, Node.js, Ruby), database (MySql, PostgreSQL, Maria DB, Mongo DB, Couchbase, Redis) ed application server (Apache, Nginx-PHP, LiteSpeed) in un’amplissima gamma.
Volendo eseguire WordPress in un cluster ad alta disponibilità, abbiamo scelto LiteSpeed come Application server e il database MariaDB anch’esso in cluster configurato per HA. Al tutto abbiamo aggiunto una CDN Premium per ottimizzare le prestazioni della rete e il certificato SSL Let’s Encript, con rinnovo automatico.
Vediamo come configurare il tutto.
Lanciare il cluster dal Marketplace
L’installazione si fa in pochissimi passaggi. Andando sul marketplace si clicca su WordPress Cluster e si arriva ad un pannello con un menu a tendina e alcuni box a spunta. Il menu permette di fare una prima regolazione automatica della strategia di scaling (basso, medio o alto), mentre i box a spunta permettono di abilitare il web server, la versione di database, la CDN premium, i certificati Let’s Encrypt (con rinnovo automatico) e la funzionalità multi sito di WordPress.
Fatte le scelte desiderate si clicca su Install e si lancia l’installazione. L’operazione richiede alcuni minuti.
Alla fine si ottiene un primo box sullo schermo con un url di amministrazione e relativa coppia username/password. Le credenziali degli altri servizi installati vengono inviate per posta elettronica.
Grazie a queste informazioni si accede al pannello di controllo di WordPress, completo di tutte le componenti scelte. Attraverso il suo pannello di controllo si possono personalizzare molte opzioni, tra le quali uno scaling più granulare (orizzontale/verticale), l’url del sito (con relativo DNS) e molte altre opzioni.
Nel caso in cui serva poi, su WordPress può essere impostata la modalità multi sito, ovvero la gestione di più blog a partire dalla stessa installazione del CMS. Ciascun blog o sito ha i suoi contenuti, ma i file del sistema CMS e quelli di installazione (database, temi e anche plug-in) restano comuni.
Una soluzione completa, ad esempio WordPress, richiede la scelta dell’application server per PHP, la scelta di un database, l’impostazione dell’HTTP sicuro e l’eventuale personalizzazione delle policy di scalabilità. Le varie operazioni passano dal marketplace di Aruba, che attiva le opzioni e rilascia le password di accesso all’amministrazione dei servizi.
L’application sever LiteSpeed
Parlando di application server, i più noti sono Apache ed Nginx. Negli ultimi tempi sta suscitando molto interesse una nuova soluzione: LiteSpeed è un webserver PHP altamente scalabile con prestazioni elevate e basso consumo di memoria. È basato sulle best practices dell’hosting PHP, sfruttando i vantaggi delle implementazioni Apache e NGINX e integrando le proprie ottimizzazioni.
La sua struttura comprende una veloce architettura ad eventi con una serie di migliorie ed ottimizzazioni che la rendono ideale anche per applicazioni già clusterizzate.
L’architettura basata su eventi (come quella di Nginx), rispetto al processo Apache, garantisce prestazioni fino a 10 volte migliori con minori risorse, ancorché in piena compatibilità (compresi mod_rewrite, .htaccess e mod_security).
LiteSpeed offre ottimizzazione individuale per gli hosting più popolari, tra i quali WordPress, Magento, Drupal, Joomla ed altri. Ulteriori funzionalità prevedono cache ESI, ottimizzazione CSS e JavaScript, ottimizzazione delle immagini, supporto per cache browser e oggetti, supporto CDN, WAF integrato, Geo-DNS, Captcha, limitazione IP, funzionalità anti-DDoS all’avanguardia e molte altre funzionalità.
Vediamo come si installa questo componente. Accedendo all’account Jelastic Cloud si clicca su “Nuovo ambiente”. Seguendo la procedura guidata si apre la scheda PHP e come app server si seleziona LiteSpeed. Vanno anche configurate le altre necessità, dal limite sui cloudlet agli IP pubblici ed altri parametri. Ora l’ambiente è pronto per la distribuzione dell’applicazione PHP e l’amministratore riceve una e-mail di conferma.
LiteSpeed è configurabile tramite una console WebAdmin per impostazione predefinita, raggiungibile dall’URL con le credenziali fornite nella mail dopo l’installazione.
La console WebAdmin è un’applicazione molto ben documentata che ha un’interfaccia descrittiva intuitiva con tre aree principali: Generale, Configurazione, Console WebAdmin.
Scalabilità granulare: orizzontale e verticale
Parlando di erogazione del servizio in condizioni di grande richiesta, Jelastic Cloud garantisce la disponibilità in qualsiasi situazione. I parametri di taratura della scalabilità sono molto versatili ed operano su due dimensioni, orizzontale e verticale. La scalabilità orizzontale e la scalabilità verticale, infatti, mappano perfettamente i consumi sui bisogni. Qualora la dinamica fosse ridotta e si abbia un consumo relativamente più costante, però, la modalità di pagamento a canone mensile di Jelastic potrebbe risultare più conveniente di quella a consumo.
Il ridimensionamento delle risorse può essere di tipo orizzontale (si aggiungono più server al cluster, anche in modalità high availability), oppure verticale (modifica dinamica dell’allocazione di risorse RAM e Cpu CPU del singolo server).
Definizione dei ruoli e messa online
A questo punto il CMS è pronto. I vari specialisti possono operare sul servizio in modo indipendente, in parallelo. Il marketing può amministrare le questioni di sua pertinenza senza preoccuparsi delle azioni dell’area sviluppo o DevOps. Per progetti di maggiori dimensioni, più team possono interagire senza problemi grazie alla gestione dei livelli di accesso.