Enter Cloud Suite, il cloud computing IaaS di Enter

Enter Cloud Suite è il servizio di cloud computing IaaS di Enter ed è rivolto a chi vuole crearsi in piena libertà la propria infrastruttura IT.

Use case: cluster web con load balancing

Per provare ad utilizzare appieno le possibilità date da Enter Cloud Suite abbiamo eseguito il setup di una infrastruttura web scalabile formata da 2 cluster: un cluster di webserver con annesso load balancer ed un cluster di database server.

Per costruire l’infrastruttura sono state create:

  • 2 reti (net1 e database), ognuna con la sua subnet di indirizzi IP privati
  • 1 Router per agganciare “NET1” alla rete internet
  • 4 Floating IP per il load balancer ed i 3 nodi web
  • 3 istanze cloud per accogliere i webserver
  • 3 istanze cloud per accogliere i database server
  • 1 Load balancer per il traffico http, a cui sono stati aggiunti come membri i 3 ip privati dei rispettivi server web
  • 3 volumi a blocchi, uno per ogni server web
  • 3 volumi a blocchi, uno per ogni server database

E’ da notare, inoltre, come tutte le operazioni siano pressoché istantanee, sia per la creazione di subnet, sia, soprattutto, per la creazione delle istanze: nel giro di 10-15 secondi è possibile creare contemporaneamente anche 10 istanze, che saranno da subito utilizzabili.

Enter Cloud Suite: use case topology

Per non ripetere la configurazione di ogni nodo web e/o database, si sono create inizialmente solo 2 istanze, una per cluster, al fine di configurare correttamente tutti gli applicativi necessari, eseguire uno snapshot dell’istanza appena configurata e creare le successive semplicemente utilizzando lo snapshot appena eseguito come immagine disco. Ovviamente è necessario modificare alcuni parametri di configurazione nei cloud server creati da snapshot, ma, in ambiente di produzione, suddette operazioni possono essere automatizzate con uno shell script creato ad hoc.

Grazie alle API è possibile anche automatizzare tutte le procedure di aggiornamento utilizzando la pratica dello “swapping”, evitando di dover aggiornare ogni singolo server che compone il cluster web o db. Con questa filosofia, adottata anche da colossi come Facebook o Netflix, si crea un nuovo server partendo da uno snapshot, si testano gli aggiornamenti, si crea un nuovo snapshot con gli aggiornamenti applicati e, sfruttando le api, si crea una nuova istanza aggiornata, si termina la vecchia e si montano i volumi dello storage a blocchi che contengono i nostri dati sui nuovi server aggiornati. L’operazione di sostituzione si conclude nel momento in cui tutte le vecchie istanze sono state terminate.

Questa metodologia è praticabile, per questioni economiche, solo nel momento in cui utilizziamo un vero servizio cloud, come quello lanciato da Enter.

Altra possibilità sfruttabile grazie alle API è quella di poter monitorare il carico dei server e decidere di aggiungere o rimuovere istanze da un eventuale cluster, in maniera tale da avere in ogni momento una infrastruttura che rispecchia le reali necessità del cliente senza aggravi per il proprio portafogli.

Nel momento in cui si scelga di utilizzare un filesystem distribuito come GlusterFS, non sarà necessario smontare e montare i volumi a blocchi dal server vecchio al nuovo, ma basterà semplicemente accendere la nuova istanza e vedersi replicati i dati dell’applicativo in automatico.

Alla stesa maniera, nel caso in cui si decida di utilizzare database NoSQL come Couchbase o Cassandra, basterà creare una nuova istanza, con una immagine opportunamente configurata, per vedere il proprio cluster scalare in maniera trasparente. Nel caso in cui si utilizzi Percona, MariaDB, MySQL Enterprise o PostGre, con un po’ di lavoro è possibile ottenere gli stessi risultati.

E’ da notare che nella topologia di rete generata dal pannello di controllo non è presente il load balancer, pur avendo quest’ultimo un IP assegnato.

Facci sapere cosa ne pensi!

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *