Hai letto molto materiale su OpenStack e sei in procinto di implementarlo; ma facciamo un passo indietro per capire perché sei così desideroso di abbracciare il cloud. Riflettendo potresti trovare migliaia di ragioni, ma in base alla mia esperienza i motivi base sono due:
- vuoi trarre profitto dal provisioning veloce dell’infrastruttura sia per risparmiare che per la velocità, o entrambe;
- le tue applicazioni hanno pattern di richiesta che variano, per cui in alcuni momenti hai bisogno di una maggiore capacità di calcolo. Puoi godere delle proprietà di scaling del Cloud per creare al volo nuove istanze di moduli chiave nei momenti di picco e spegnerle quando non servono più, liberando in tal modo le risorse dell’infrastruttura per altri compiti e abbassando il TCO, il Costo Totale di Possesso.
La maggior parte dei clienti vuole solo un meccanismo di provisioning veloce per l’infrastruttura. Sia chiaro, è perfettamente a posto e OpenStack svolge alla grande il lavoro.
Ma manca qualcosa; trarrai i massimi benefici dal Cloud quando hai un’applicazione che necessita di risorse on-demand. Pensa ad esempio ad un portale di notizie sportive quando ci sono i Mondiali di calcio o le Olimpiadi, alle fatture e alle bollette a fine mese o a un rincaro dei prezzi proprio quando bisogna trattare una quantità maggiore di dati.
Non sarebbe bello se, una volta identificati carichi di lavoro crescenti, un’applicazione facesse automaticamente scaling per soddisfare le richieste? Credici o meno, questa non è magia ed è anzi assolutamente possibile. Netflix lo fa e posso fare i nomi di tantissimi sistemi SaaS che lo stanno facendo. C’è un solo vincolo: devi poter gestire il codice sorgente delle tue applicazioni. Se hai comprato la tua app “così come è”, contatta il venditore, anche se è difficile che la risposta sia soddisfacente.
Se invece hai il codice sorgente allora puoi adattare la tua applicazione in modo da sfruttare il nuovo ambiente. In questo scenario dovrai intervenire più spesso nel codie per controllare che le applicazioni possono davvero sfruttare l’ambiente cloud, per riconfigurare il load balancer, allocare dinamicamente le risorse, ecc.. Ci sono altri trucchetti che un’app deve adottare per essere “cloudiosa”, ma questo è al di fuori dello scopo di questo libro.
È abbastanza comune che un cliente decida di avere un approccio a fasi al cloud, magari iniziando a sfruttare il provisioning veloce per poi trasformare l’app e adattarla al cloud.
Il viaggio nel mondo del cloud è un viaggio molto lungo e può essere particolarmente di successo, sei pronto a intraprenderlo?