Proseguo la serie di articoli dedicati al Cloud (qui la prima parte), riportando la mia esperienza nella ricerca di un Cloud home-lab e la soluzione che ho scelto.
Cloud home-lab
Come ho avuto modo di spiegare nella prima parte, lo stack Cloud offre una ottima definizione formale dei vari approcci possibili. Ma per chi, come me, volesse avere una visione full-stack senza dover adibire la cantina a datacenter, quali sono le soluzioni possibili?
Partiamo definendo le caratteristiche che desidero avere nel mio sistema:
- Gestire un cluster on premise
- Poter operare sia come IaaS che come PaaS
- Minimizzare gli interventi tecnici
- Minimizzare i costi
- Massimizzare il numero di macchine virtuali
- Minimizzare l'ingombro
Una volta definiti gli obiettivi, ho iniziato a valutare diverse opportunità.
Server rack
Una delle possibili soluzioni sarebbe stata quella di acquistare un server rack usato. Una macchina progettata per supportare virtualizzazione a livello hardware mi avrebbe permesso di partire da zero nell'installazione di un sistema distribuito. Dopo una breve ricerca online ho appurato che sotto i 500€ non avrei preso nulla di utile ai miei scopi, senza contare che l'ingombro e il consumo elettrico sarebbero state due grosse note dolenti. Desisto dall'acquisto e provo a scegliere un altro approccio.
Servizi online
Decido di sacrificare il livello on premise a favore di uno spazio "dematerializzato". Per questo motivo valuto i maggiori provider di servizi Cloud (Amazon, Google, Azure, DigitalOcean, ecc.) cercando di valutare i costi delle virtual machine necessarie per i miei scopi. Senza dubbio è una soluzione comoda: non ho costi di acquisto hardware, di consumo di energia e non devo nemmeno preoccuparmi di eventuali guasti. Potrei gestire l'intera architettura Cloud dal mio PC con una semplice connessione Internet.
Di contro, i costi dell'infrastruttura sono periodici e si aggirano attorno ai 350€/anno. La cifra rientra nel budget, almeno per il primo anno! Non è invece sostenibile/accettabile per me mantenere più a lungo un simile costo. Anche in questa occasione desisto dall'acquisto e cambio approccio.
On premise embedded
Questo approccio deriva da una sinergia delle mie esperienze: usare i sistemi embedded per costruire una infrastruttura cloud. Si tratta di acquistare delle schede Linux embedded ARM dotate di buone risorse e fornire connettività e spazio di archiviazione.
Lasciando da parte la blasonata RaspberryPi, che non soddisferebbe i requisiti in termini di risorse CPU/RAM, decido di ricercare una scheda perfomante ma allo stesso tempo non troppo carica di periferiche inutili (non ho bisogno di uscite audio/video, wifi, Bluetooth, ecc). Dopo una lunga ricerca decido che la Rock64 è la candidata ideale per il mio scopo.
La scheda ha un quad-core ARM 64bit, 4GB di RAM, 1 porta ethernet ed è alimentata a 5V (consumo max 1A). Il cluster sarà composto da 4 schede per un totale di 16 CPU e 16GB di RAM. Sembra proprio essere la soluzione giusta a patto di dover sacrificare la gestione delle Virtual Machine a favore della gestione dei Container...ma questo ultimo punto sarà più chiaro nel prossimo articolo.
Lista della spesa
Ora che la soluzione è chiara, posso finalmente stilare la lista del materiale necessario. Approfitto per aggiungere un altro paio di obiettivi: il sistema deve essere compatto, trasportabile, alimentato da un unico cavo, connesso tramite LAN la mio laptop. Ecco cosa mi occorre:
Materiale | Quantità | Descrizione |
---|---|---|
Rock64 | 4 | Scheda embedded quad-core 4GB RAM |
eMMC 32GB | 4 | Supporto flash memorizzazione di massa |
Dissipatore | 4 | Gestione temperatura CPU |
Cavo USB-Barrel | 4 | Cavo alimentazione USB 5V |
Switch 5 porte | 1 | Switch ethernet |
Cavo ethernet | 5 | Cavi connessione LAN |
Case 4 layer | 1 | Struttura di fissaggio schede |
Alimentatore | 1 | Alimentatore USB 5v 60W |
Nel conto della serva includo anche le spese di spedizione e l'eventualità che il pacco possa essere fermato in dogana, aggiungendo dazi e spese di sdoganamento. Il prezzo rientra nel budget e si attesta attorno ai 400€. Non rimane altro che ordinare il materiale e attendo il corriere da Honk Kong.
Assemblaggio sistema
Il pacco è partito, sono trascorsi 5 giorni e il corriere mi informa che sono stato selezionato per il fermo in dogana...che fortuna! Attendo 2 settimane ed ecco arrivare il mio pacco, sono felice come un bambino con la sua macchinina telecomandata! Scarto tutto frettolosamente e assemblo i vari pezzi, poi procedo con l'installazione del sistema operativo Debian Linux nelle 4 schede e configuro i parametri di rete. Il cluster è pronto e funzionante!
Conclusioni
Non è bellissimo? Per me è porno-informatica. Ora che il sistema base è pronto il prossimo passaggio sarà quello di sfruttare le risorse per orchestrare i servizi cloud. Alla prossima puntata.
Congratulations @henomis! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Do not miss the last post from @steemitboard:
Vote for @Steemitboard as a witness to get one more award and increased upvotes!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Ciao @henomis!
Ho il piacere di invitarti nella nostra numerosissima community dove potrai conoscere tantissimi Italiani e grazie alla quale potrai cambiare totalmente la tua esperienza qui su Steemit.
Mi raccomando, raggiungici tramite questo link di Discord:
https://discordapp.com/invite/QDKPzSp
Se vuoi sapere qualcosa in più di noi, fai un salto su @steempostitalia !
A presto.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Congratulations @henomis! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :
You got your First payout
Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word
STOP
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Congratulations @henomis! You received a personal award!
Click here to view your Board
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit