qCloud Manager

Logo

Applicazione per la gestione di server e nodi hardware

View the Project on GitHub Maxelweb/qCloudUNIPD

Introduzione al progetto

by Maxelweb

← Torna indietro

Abstract

Si vuole realizzare un programma per la gestione dell’infrastruttura hardware di una azienda denominata qCloud Solutions che offre servizi Web. L’azienda possiede una server farm in cui vengono erogati dei servizi che si differenziano per varie tipologie in base alle necessità dei clienti. Ciascun server ha un costo base fissato e un costo di risorse che varia in base alla configurazione. I server messi a disposizioni si differenziano per tre tipologie principali:

Ogni servizio erogato fa parte di un nodo hardware. Un nodo hardware costituisce una serie di macchine fisiche che si differenziano per la presenza di virtualizzazione del sistema operativo e per il quantitativo totale di risorse massime.

Per agevolare la gestione ed efficienza dei servizi, l’azienda ha adottato un sistema a punteggi per ogni singolo servizio erogato in relazione al nodo di appartenenza: un server può pesare da 1 a 4 punti risorse. Quando un nodo hardware supera il numero di punti risorse disponibili, viene segnalato tramite warning, così come quando non viene minimamente usufruito. Sfruttare un nodo più del suo potenziale è permesso, ma ciò può causare troppo carico sulle macchine fisiche e provocare downtime.

Infine, ciascun nodo hardware ha un consumo variabile di KW/H basato sulla quantità di macchine attive presenti. Il tutto si differenzia sia a carico minimo (idle) che a pieno carico (full). Tali statistiche permettono di fare previsioni sul costo di mantenimento dei servizi in relazione al guadagno.

Funzionalità del programma

Il programma permette di gestire i nuovi server erogati e di assegnarli a nodi hardware predefiniti. In particolare, sono presenti le seguenti funzionalità:

Premesse: dall’idea al progetto

L’idea di fondo del programma si basa sul fatto che l’applicazione permetta di gestire tutto il servizio aziendale principale attraverso una infrastruttura di rete già predisposta, che ha le seguenti premesse:

Da queste premesse si è costruito e adattato il progetto affinché si potesse ottenere il risultato più vicino a quello pensato. A livello implementativo si è scelto di lasciare in sola lettura il file XML che contiene i nodi, mentre i server possono essere caricati con un file esterno, di cui fa uso la parte di gestione file.