Cosa sono il cloud computing e OpenStack

Il mondo dell'informatica è in continua crescita e di pari passo aumenta la richiesta di figure professionali specializzate in grado di lavorare con le più recenti tecnologie.
Uno dei settori a più rapida crescita è quello legato al cloud computing.

In informatica con il termine inglese cloud computing (in italiano nuvola informatica) si indica un paradigma di erogazione di risorse informatiche, come l'archiviazione, l'elaborazione o la trasmissione di dati, caratterizzato dalla disponibilità on demand attraverso Internet a partire da un insieme di risorse preesistenti e configurabili.

Le risorse non vengono pienamente configurate e messe in opera dal fornitore apposta per l'utente, ma gli sono assegnate, rapidamente e convenientemente, grazie a procedure automatizzate, a partire da un insieme di risorse condivise con altri utenti lasciando all'utente parte dell'onere della configurazione. Quando l'utente rilascia la risorsa, essa viene similmente riconfigurata nello stato iniziale e rimessa a disposizione nel pool condiviso delle risorse, con altrettanta velocità ed economia per il fornitore. 
Fra le soluzioni cloud computing la più interessante e attiva è senza ombra di dubbio OpenStack.
OpenStack è una piattaforma di software libero e open source per la gestione di datacenter destinati al cloud computing. La piattaforma software è costituita da diversi componenti interconnessi fra loro che controllano pool di computazione, storage e risorse di rete. Il tutto è gestibile da una CLI (interfaccia a riga di comando) o tramite interfaccia web. Il sistema operativo su cui si basa è Linux.
L'architettura di Openstack è suddivisa nei seguenti moduli:

  • OpenStack Compute (nome in codice Nova), un controller per il cloud computing (la parte principale di un sistema IaaS)
  • OpenStack Object Storage (nome in codice Swift), un sistema di storage scalabile e ridondante
  • OpenStack Image Service (nome in codice Glance), un servizio dove gli utenti possono caricare i dati
  • OpenStack Identity (nome in codice Keystone), un servizio che fonisce le API di autenticazione
  • OpenStack Dashboard (nome in codice Horizon), fornisce una interfaccia grafica, sia per gli amministratori che per gli utenti, per l'accesso e la gestione delle risorse fornite dal cloud
  • OpenStack Networking (nome in codice Neutron, precedentemente Quantum), un sistema per la gestione delle reti e degli indirizzi IP
  • OpenStack Block Storage (nome in codice Cinder), fornisce uno storage persistente a livello di dispositivi a blocchi per il loro utilizzo da parte delle istanze di OpenStack compute

Il corso della Linux Foundation

Un professionista o un utente che vuole specializzarsi in questo settore deve avere dunque diverse competenze.
Diversi sono gli enti certificatori. Uno di questi è The Linux Foundation che anni propone diversi corsi online grazie ai quali gli utenti possono formarsi a distanza con un metodo di apprendimento facile, incentrato sulla pratica e flessibile.

Nelle scorse settimane sono stato contattato da un responsabile che lavora per la Linux Foundation che mi ha offerto la possibilità di provare uno di questi corsi. Sono stato selezionato grazie ad una iniziativa della The Linux Foundation indirizzata ad utenti e bloggers tramite la quale viene offerta la possibilità di provare un corso Linux online per fornire un feedback riguardo la metodologia del corso al fine di migliorarlo.

Il corso in questione è l'LFS252: OpenStack Administration Fundamentals che prepara gli utenti insegnando tutto quello che c'è da sapere per creare e gestire cloud pubblici e privati con OpenStack.
Il corso è pensato per gli amministratori di sistema che sono responsabili dell'infrastruttura cloud OpenStack. Oltre a questi può rivelarsi utile per sviluppatori di applicazioni per l'infrastruttura OpenStack.

Il corso insegna come amministrare e utilizzare i servizi di base di OpenStack. Nel corso imparerete ad utilizzare la gamma completa dei servizi OpenStack, gestire distribuzioini e macchine virtuali OpenStack, creare Infrastructure-as-a-Service enterprise, come eseguire e risolvere problemi con Neutron, Ceph e Nova e tanto altro.

Il programma del corso

Il programma del corso LFS252: OpenStack Administration Fundamentals è il seguente:

  • Course Introduction
  • Cloud Fundamentals
  • Managing Guest Virtual Machines with OpenStack Compute
  • Components of an OpenStack Cloud (Part One)
  • Components of an OpenStack Cloud (Part Two)
  • Reference Architecture
  • Deploying Prerequisite Services
  • Deploying Services Overview
  • Advanced Software Defined Networking with Neutron (Part One)
  • Advanced Software Defined Networking with Neutron (Part Two)
  • Distributed Cloud Storage with Ceph
  • OpenStack Object Storage with Swift
  • High Availability in the Cloud
  • Cloud Security with OpenStack
  • Monitoring and Metering
  • Cloud Automation
  • Course Summary

Il livello di difficoltà

Il corso è caratterizzato da un livello di difficoltà intermedio e necessità di competenze di base nell'uso della riga di comando di Linux. Due sono le distribuzioni utilizzate durante il corso ovvero Ubuntu per la parte inerente DevStack e CentOS per RDO. Di conseguenza dovrete avere dimestichezza con i comandi base delle suddette distro.
Oltre a questo è richiesta una conoscenza nell'amministrazione di sistemi Linux, e concetti come l'amministrazione di rete, lo storage e i sistemi virtuali. Se non avete dimestichezza con questi concetti potete approfondirli nel corso LFS201 Essentials of System Administration.
Altro requisito, che non viene pubblicizzato nel corso per ovvi motivi, è la conoscenza della lingua inglese in quanto tutto il corso e il materiale fornito sarà in inglese. 

Struttura del corso e durata

A tutti gli utenti verrà fornito un anno di accesso online al corso (a partire dalla data di acquisto), a tutti i laboratori online e ai contenuti scritti. Il corso è al 100% online quindi per poterlo seguire vi basterà avere un PC, un browser web e una connessione ad internet.

Il corso è pensato per essere completato in 40/50 ore ma, essendo un corso di tipo autodidattico, ognuno è libero completarlo secondo i propri ritmi di apprendimento, tanto il corso è comunque disponibile per un anno dalla data di acquisto.


Le lezioni

Il corso è suddiviso in capitoli illustrati tramite slide nelle quali verranno proposti i vari concetti da apprendere. Le slide sono chiare e semplici e sono spesso accompagnate da audio descrizioni o video (sottotitolati in inglese che non fa mai male).

Un esempio di slide con video
Alla fine di ogni capitolo verranno proposte una serie di semplici domande sui concetti principali appena appresi. 

Un esempio delle domande che troveremo alla fine di ogni capitolo
Le domande, al pari dei laboratori che più avanti vedremo, hanno lo scopo di migliore l'apprendimento dei concetti. Non ci verrà assegnato un voto e non ci sarà un esame finale per completare il corso quindi non fatevi prendere dall'ansia da prestazione :).

I laboratori on demand

La parte più interessante del corso è quella dei laboratori online on demand. Il corso prevede più di 40 laboratori nei quali potremo impratichirci con i comandi e i concetti di base. Qui sotto potete vedere una demo di un laboratorio on demand



Come potete vedere alla fine di ogni capitolo verranno proposti dei laboratori virtuali grazie ai quali potremo mettere in pratica i concetti esposti.
Per guidare l'utente nello svolgimento degli esercizi viene fornita una guida che ci illustrerà passo passo i comandi da utilizzare. Al termine di ogni laboratorio troveremo una serie di domande sugli esercizi appena svolti. Potremo controllare autonomamente i nostri risultati grazie alle soluzioni ai quesiti che troveremo alla fine di ogni laboratorio.

Le mie considerazioni sul corso

Sono ancora agli inizi del corso ma mi sento ugualmente in grado di dare un giudizio allo stesso. Da quanto ho avuto modo di vedere le slide sono sono incisive e di facile lettura e offrono i giusti concetti di base. I video che accompagnano alcune slide sono anche essei chiari e, grazie ai sottotitoli, è possibile seguirli con più facilità anche da chi non è tanto pratico nell'inglese parlato.
Il materiale didattico dei laboratori è invece impeccabile in quanto fornisce istruzioni passo passo accompagnate da immagini che aiutano ulteriormente l'utente nello svolgimento dei laboratori.
Il mio unico consiglio, prima di frequentare questo corso, è quello di esercitarvi con lingua inglese, in questo modo eviterete di dover fare la doppia fatica di tradurre i concetti per poi metabolizzarli.

Nei prossimi mesi vi terrò aggiornati sui miei progressi e a fine corso vi proporrò un articolo con le considerazioni finali sul corso.

Trovate maggiori informazioni sul corso, il programma e il costo all'indirizzo Essentials of OpenStack Administration (LFS252)