Infrastruttura IT


Mi è stato chiesto di progettare un’architettura IT solida per un piccolo studio di consulenza. Nell’articolo relativo alle Computing Infrastructures abbiamo già trattato qualcosa di simile ma relativo alle grandi infrastrutture. Qui mi concentrerò invece su un approfondimento riguardante la progettazione di piccoli sistemi.

Il caso specifico

Vogliamo capire come dimensionare un sistema che deve ospitare 4 postazioni lavoro. Uno schema ad alto livello dell’architettura potrebbe essere il seguente:

Bozza architettura

Nei capitoli successivi analizzeremo le varie sezioni una ad una, per scegliere cosa usare praticamente in questo schema.

Il server

Un server è un “computer” con caratteristiche che lo rendono più adatto a determinati casi d’uso. In alcune circostanze potrebbe essere più conveniente usare un semplice computer consumer affidandogli il ruolo di server invece che usare un server vero e proprio. Per capire se questo è il caso, analizziamo bene le differenze tra i due disposivi.

Struttura della CPU

La CPU (il processore) è il cervello del calcolatore, è il luogo in cui immaginiamo (ed è così) avvenga la magia del calcolo digitale. Ciò che spesso però non fa parte del nostro immaginario è che sulla superficie di silicio che ospita tale componente, solo una piccola parte è destinata agli elementi di calcolo veri e propri, mentre la grande maggioranza dello spazio è occupato da altre risorse. Analizziamo quindi le sezioni di cui è composto un processore, per comprendere così se esistano differenze tra i processori per computer consumer e quelli per server.

Il Core Complex

E’ la sezione di chip relativa al calcolo. In pratica è composta da un modulo (core) ripetuto \(N\) volte (es. 4 per una CPU quad core). Ognuno di questi core è costituito da:

  • le ALU (Aritmetic Logic Unit), ovvero il centro di calcolo vero e proprio;
  • le chache L1 e L2: le memorie più veloci presenti nella macchina. Seguendo il principio del “più la memoria è veloce, più è vicina alle unità di calcolo, maggiore è il suo costo e minore è la sua capienza”, le chaches in questione sono molto piccole e molto costose. Le L1 sono spesso incollate alle ALU e hanno capienza limitata per contenere solo i dati su cui si sta operando nel nanosecondo attuale (es. il numero di una pagina Excel), le L2 sono proprie di ogni core, sono un pò più capienti e un pò più lente (potrebbero per esempio essere usate per memorizzare la pagina excel su cui si sta lavorando);
  • un front end che legge le istruzioni e si occupa di branch prediction (ovvero se il core incontra un if(…), se la condizione è stata incontrata già un buon numero di volte ed aveva sempre lo stesso valore, viene “scommesso” che tale sarà il valore anche questa volta e si effettuano le operazioni propedeutiche ai calcoli del branch corrispondente. Se poi tale scommessa si rivelerà corretta, avremo risparmiato diversi cicli di clock. Se si rivelerà errata, bisognerà ripartire con i calcoli dell’altro branch. E’ utile quando si effettuano operazioni ripetitive, non ideale in task più variegati).

I cores condividono poi una chache più capiente e lenta, detta L3, che è l’ultima memoria SRAM (Static Random Access Memory, più veloci e costose delle classiche DRAM, ovvero quella che in linguaggio informale chiamiamo “RAM”) prima di passare alla DRAM. Qui vengono posti dati condivisi tra i diversi cores.

Comunicazione interna tra i componenti

I componenti interni al chip sono interconnessi al fine di permetterne la comunicazione. Tralasciando il dettaglio tecnico di come ciò avvenga, possiamo distinguere due tipi di approcci:

  • ring bus: c’è un bus unico, e i dati vengono tutti inviati/ricevuti da esso. E’ ok quando i cores sono pochi, ma può generare code eccessivamente lunghe se i cores aumentano molto.
  • connessione diretta: le componenti sono in qualche modo connesse in maniera diretta (es. approccio mesh), così che la latenza di comunicazione sia deterministica.

Comunicazione tra CPU e il mondo esterno

I precedenti moduli sono posizionati all’interno del rettangolo costituente il chip. Ai bordi sono invece piazzate le interfacce per la comunicazione con l’esterno. La loro locazione non è solo una semplice convenzione, è una necessità tecnica: i segnali all’interno del processore sono digitali e lavorano a voltaggi bassissimi (es. 0.8V). Per poter uscire fuori è necessario avere dei “convertitori” posti vicino ai piedini con cui il chip si aggancia alla scheda madre (per questo posizionati sul bordo) che amplifichino e rendano il segnale resistente alle interferenze del mondo esterno (i circuiti della scheda madre si comportano come un’antenna). Lavorando a tensioni più alte, questi elementi scaldano, motivo aggiuntivo per cui è conveniente posizionarli nella parte esterna del chip, “lontano” dai core.

I tipi di dispositivi verso i quali la CPU necessita di canali di comunicazione sono due:

  • la DRAM;
  • gli altri devices (es. schede video, dischi di archiviazione, controller RAID,…).

Comunicazione con DRAM

Per quanto riguarda la Dynamic RAM, essa è controllata dall’Integrated Memory Controller (IMC) della CPU. Tuttavia, la DRAM si comporta elettricamente come un condensatore e quindi applica un delay ai fronti di salita/discesa del segnale. Ricordando che il tempo in cui un condensatore si scarica è pari a \(\tau=R_\text{eq}*C\), dove C è proporzionale al numero di banchi di RAM inseriti, ci rendiamo conto che esiste un limite fisico alla quantità di RAM che è possibile connettere direttamente alla CPU. Una soluzione a ciò è usare DRAM dotata di RDIMM, in cui c’è un modulo aggiuntivo (R = register) che abbassa la capacità imposta dalle DRAM al processore.

Comunicazione con altri devices

Gli altri devices sono invece connessi tramite PCIe, le cui iterazioni si differenziano per:

  • numero di line: è l’unità fondamentale del PCe, composta da una coppia di canali in uscita e una coppia di canali in entrata. Questo permette alla CPU di ricevere dati da un componente mentre si sta mandando informazione su un altro. E’ possibile poi scalare l’architettura usando più line a seconda della necessità di banda del componente (es. PCIeX1 per WiFi o schede audio, PCIex4 per SSD NVME,PCIeX8 per controller RAID, PCIeX16 per GPU).
  • generazione: si sono susseguite diverse generazioni di PCIe, ognuna delle quali consentiva prestazioni per line maggiori della versione precedente.

L’interfaccia PCIe soffre di due problemi:

  • i moduli di comunicazione sulla CPU necessitano spazio sui bordi, ma aumentando linearmente la lunghezza di questi ultimi, si aumenta quadraticamente l’area. Questo vuol dire che per avere un’ampia banda PCIe è necessario usare chip molto grandi anche se le unita computazionali e di chache non aumentano.
  • il segnale si degrada facilmente su “lunghe” distanze: sulle schede madri dei computer che comunemente usiamo, i dati possono risultare illeggibili già dopo 2cm. E’ quindi necessario usare piste molto corte per connettere i dispositivi alla CPU oppure, se si vogliono connettere devices più distanti, usare dei materiali più adatti (e costosi) per la scheda madre o installare dei ripetitori che puliscano ed amplifichino (attivamente o passivamente) il segnale sulla pista man mano che si degrada.

Le differenze tra un computer consumer e un server

Questo gigantesco preambolo era necessario per comprendere le differenze che vedremo di seguito e per scegliere consciamente il dispositivo adatto al caso in analisi.

Scriverò adesso un elenco puntato i cui elementi rappresentano i componenti analizzati sopra, spiegando brevemente l’approccio usato da server e consumer computer.

  • Core Complex: il computer punta tutto sulla potenza del singolo core. Le ALU devono essere in grado di gestire carichi pesanti, i programmi degli utenti devono girare velocemente. Un server ha spesso prestazioni peggiori in single-core, ma distribuisce il carico su più cores.
  • Connessioni intra-CPU: proprio a causa del maggior numero di cores, in un server è necessario usare un approccio di connessione intra_CPU “punto a punto”, per rendere la latenza di comunicazione deterministica.
  • Chache L3: è molto più grande sulle CPU da server rispetto a quelle consumer.
  • Comunicazione verso RAM: sui dispositivi consumer, la quantita di DRAM inseribile è spesso limitata dai vincoli fisici precedentemente citati. Sui server, il supporto ai RDIMM permette di supportare una quantità di DRAM maggiore.
  • Comunicazione tra CPU e mondo esterno: i server usano CPU aventi grandi dimensioni, in modo che anche i “bordi” del chip siano spaziosi. In tal modo è possibile piazzare molte piste di comunicazione PCIe ed avere connessioni dirette a banda elevata verso i componenti esterni. Inoltre, grazie sia ai materiali specifici usati per la costituzione della motherboard che all’adozione dei ripetitori di segnale precedentemente citati, è possibile piazzare i componenti anche a grande distanza dalla CPU. Al contrario, i computer consumer hanno piste PCIe limitate e molto vicine alla CPU (es. solo per NVME e GPU). Il resto dei componenti è (nel caso di Intel) connesso tramite un’interfaccia chiamata DMI (Direct Media Interface), che altro non è che un PCIe condiviso per tutti gli altri devices (con conseguente rischio di oversubsciption).

Nel nostro caso, il server deve probabilmente supportare un controller RAID, gestire il traffico di rete di 4 utenti simultanei e garantire l’integrità dei dati archiviati.

Per 4 postazioni di lavoro che svolgono attività d’ufficio (documenti, gestionale, navigazione, email), la potenza di calcolo pura (CPU) richiesta al server è marginale. Un qualsiasi processore consumer moderno (es. un i5 o Ryzen 5) avrebbe cicli macchina in avanzo.

Tuttavia, il vero carico di lavoro in questo scenario non è computazionale, ma di Input/Output (I/O) e di integrità dei dati. Immaginiamo lo scenario critico: alle 9:00 del mattino, 4 utenti accendono i PC, il sistema di backup sta finendo la sincronizzazione notturna e due consulenti stanno salvando file pesanti sul server.

  • Scenario Consumer: Se usassimo un PC adattato, tutto questo traffico (Rete + Dischi + USB backup) convergerebbe sull’interfaccia DMI. Come visto, questa agisce da “imbuto”. Il rischio non è che il server si blocchi, ma che la latenza schizzi alle stelle, rendendo l’apertura di un semplice file Word esasperante per gli utenti, nonostante la CPU sia scarica.
  • Scenario Server: Utilizzando una CPU dotata di numerose linee PCIe dirette, possiamo collegare la scheda di rete e il controller dei dischi direttamente al processore. Ognuno avrà la sua corsia riservata, garantendo fluidità anche sotto carico simultaneo.

Altri motivi che fanno pendere l’ago della bilancia sul scegliere un server sono il supporto a memorie dotate di ECC (Error Correction Code. Ho approfondito questi argomenti nel corso di System Security all’università di Poznan, probabilmente ci scriverò un articolo di ripasso) e alla presenza di componenti di accesso remoto, che permettono di gestire eventuali crash o malfunzionamenti del server anche se il tecnico non è fisicamente presente in ufficio.

Scelta finale: server.

Gestione dell’OS e archiviazione

In un server è buona cosa migliorare l’affidabilità (in termini di availability) del sistema attraverso la ridondanza dei dati. Non starò qui a spiegare cosa sono i RAID e quali sono le tipologie possibili, dato che l’ho già fatto qui.

Per il sistema in questione ritengo sia una buona scelta mantenersi su scelte semplici, per cui opterei sull’uso di RAID 1 su due dischi identici.

Ho chiesto all’oracolo (Gemini di Google) di cercare per me un server moderno che rispettasse le caratteristiche scritte nel precedente capitolo. Sono stato reindirizzato a questo link, nel quale mi sono trovato davanti ad una miriade di scelte di configurazioni possibili. Tra queste, quelle relative alla ridondanza dei dati sono due:

  • Connettività RAID, con la possibilità di scegliere RAID1. Il server del link (un DELL PowerEdge T360) è dotato di 8 ingressi per HHD/SSD accedibili dagli slot frontali, e la duplicazione sarebbe effettuata su di essi (in gruppo di N dischi, configurabili).
  • Schede di storage ottimizzate per l’avvio ottimizzato, con la possibilità di acquistare un “BOSS-N1 controller”. Mi sono informato su cosa fosse, ed è in pratica un RAID1 molto costoso (900€ aggiuntivi sul sito DELL), implementato in una scheda proprietaria con annessi due SSD M2, dedicato al solo OS, da inserire all’interno del case del server (così da non occupare gli slot accedibili dall’esterno).

Le opzioni tra cui scegliere sono quindi 3:

  • Buttiamo i soldi: se non badiamo al prezzo, possiamo renderci la vita semplice acquistando il modulo BOSS con l’OS preinstallato. Avremmo tutti e gli 8 slot frontali liberi per i dati dell’azienda. Ma ci servono davvero tutti questi slot?
  • Opzione economica e (troppo) semplice: teniamo solo il RAID1, partizioniamo i dischi in C: e D:, e contiamo solo sulla duplicazione effettuatta dal RAID. E’ un’opzione comoda, ma dobbiamo sempre ricordare che Windows, che sia Server, Home o Pro, fa schifo. Se durante un aggiornamento software l’OS decide di cancellare la Partition Table o nonsocosa, possiamo dire addio anche ai dati. Mantenere l’OS fisicamente separato dai dati potrebbe essere una buona scelta a lungo termine.
  • Come la mortadella (costa picca e sapi bella): invece che preservare gli slot frontali per poi probabilmente lasciarli vuoti, li usiamo. Il modulo PERC H755 permette di creare diversi RAID1: possiamo usare due SSD da 500GB in RAID1 per l’OS, e altri due SSD da 1 o 2 TB in RAID1 per i dati.

Come avrete capito, l’opzione 3 è quella che preferisco in questo caso.

Consiglio di non acquistare i dischi direttamente dal sito DELL, perché sono davvero sovraprezzati, ma di comprarli a parte.

I conti della servar

Facciamo un calcolo finale del prezzo del server.

  • Dischi per l’OS: Samsung 870 EVO da 500Gb, \(2*58\text{€}=116\text{€}\).
  • Dischi per i dati: Western Digital Blue da 2 TB, \(2 * 146\text{€} = 292\text{€}\).
  • Adattatori per dischi da 2.52: WORKDONE - 4 Caddy Hard Disk 3,5 Pollici \(50\text{€}\)
  • SERVER - Opzione 1: un’ottima opzione sarebbe acquistare un PowerEdge T360 in questa configurazione, per \(2.657\text{€}\). Il totale del costo del server è quindi \(3.115\text{€}\);
  • SERVER - Opzione 2: un’altra possibilità è quella di prendere un T340 usato, ovvero il modello di due generazioni precedenti al T360. A livello prestazionale va ancora bene per il nostro caso d’uso, ma bisogna stare attenti a trovare un esemplare avente modulo RAID dotato di cache (quello nel link non lo ha) o acquistarne uno e sostituirlo. Sembra una piccolezza, ma la cache rende l’esperienza d’uso davvero migliore ed evita il formarsi di lunghe code di operazioni in scrittura. Il prezzo del server in questo caso sarebbe \(1.800\text{€}\), a cui si aggiungono i \(458\text{€}\) di dischi e adattatori e \(70\text{€}\) del modulo RAID + cache H730P Mini Perc, per un totale di \(2.328\text{€}\).

Le connessioni nella nostra architettura

Ripassando gli appunti del corso di Fondamenti di Internet e Reti, possiamo riscoprire che il modello OSI suddivide le reti IT in 7 livelli. Quando un device manda dei dati ad un altro, questi dati vengono avvolti in diversi strati di header, a partire dal layer superiore (header più interno) fino ad arrivare a quello inferiore (header più esterno). Nel tragitto verso il ricevente, i dati verranno spacchettati un pò alla volta in modo da recapitare il messaggio.

I livelli nello specifico sono:

  • Livelli 5,6 e 7 - App: nati come layer distinti (Session, Presentation, Application) io qui li accorpo perché non utili direttamente a questa trattazione. E’ il livello che l’utente vede nella sua applicazione ed usa i più svariati protocolli di comunicazione.
  • Livello 4 - Transport: quando l’applicazione vuole mandare dell’informazione all’esterno della macchina, impacchetta i dati sotto forma di pacchetti TCP o UDP (esistono altre possibilità, semplifico). Questo è il livello di trasporto.
  • Livello 3 - Network: il pacchetto TCP o UDP viene poi incapsulato in un pacchetto IP, in cui si specifica l’indirizzo IP del destinatario (può essere un PC nella stessa LAN o un dispositivo su internet). Questo è il livello del Router, ovvero il device che connette la LAN dell’ufficio col mondo esterno. Tra i constraints datimi dal richiedente del progetto ci sono l’elevata sicurezza e la possibilità di accedere alla rete locale da remoto; per questo motivo ho scelto di usare un router con un ottimo Firewall integrato e un’interfaccia semplice per configurare funzioni e VPN (Dream Machine Pro).
  • Livello 2 - Data Link: il pacchetto IP viene a sua volta inglobato in un paccheto Ethernet, contenente l’indirizzo MAC del prossimo nodo nel percorso verso la destinazione. Questo nodo (es. il Router della LAN) estrare il pacchetto IP, ne legge l’indirizzo IP del destinatario, decide a quale nodo vicino mandarlo e lo reimpacchetta in un nuovo pacchetto Ethernet. Questo processo continua fino a quando non si arriva al destinatario. Il dispositivo che gestisce l’indirizzamento tra i devices interni alla LAN usando i loro MAC è lo switch. Nella rete in questione avremo parecchi dispositivi (4 clients, il server, eventuali stampanti e devices connessi alla rete) per cui è importante avere tante porte e un’ampia banda. Vista la scelta del router, ho deciso di optare per uno Standard 24 PoE della stessa marca, perché ho visto che questa accoppiata mi permette di gestire sia Router che Switch dalla stessa comoda schermata di amministrazione.
  • Livello 1 - Fisico: è il mondo fisico alla base dei livelli superiori. Il cavo che scegliamo per trasmettere informazioni all’interno della LAN (noi useremo CAT6) o le frequenze su cui trasmette il wifi (2.5 o 5 GHz) sono parte di questo livello (l’ufficio non è molto grande, per cui come WiFi access point useremo due di questi).

Il ricevente del dato, lo spacchetterà nel verso opposto, dal layer 1 al 7.

Il prezzo della sezione “rete” si attesta quindi a \(340+340+2*150=980\text{€}\). Il totale fino ad adesso è \(4.095\text{€}\).

Come criterio di sicurezza, proporrò inoltre di segmentare la LAN in 3 sottoreti:

  • la prima per i devices critici (Server e clients che dovrebbero essere riservati al lavoro);
  • la seconda per i dispositivi dei dipendenti ed eventuali altri devices (es. stampanti) che, a casa di software potenzialmente vecchi o vulnerabili, potrebbero fungere da punti di accesso ai dati sensibili se connessi alla stessa LAN;
  • infine una sottorete per i clienti, così che eventuali devices infetti non possano accedere alle prime due sottoreti.

Difese da attacchi esterni

Sono principalmente due i punti su cui possiamo installare sistemi di difesa per il nostro sistema: il punto di accesso alla rete esterna e i singoli nodi della rete.

Protezione da attacchi provenienti dai punti di accesso alla LAN

Riguardo al primo punto, il router scelto nel capitolo precedente non si limita a spacchettare i dati fino all’IP per reindirizzarli, ma li spoglia completamente fino al livello 7 per confrontarli con pacchetti malevoli noti, in modo da bloccare alla radice della LAN un’eventuale intrusione.

Anche la segmentazione della LAN citata precedentemente contribuisce a questo scopo.

Un altro punto di vulnerabilità da questo punto di vista è sicuramente quello dell’accesso degli utenti tramite VPN; il protocollo di comunicazione è criptato e sicuro, ma il rischio è che siano gli utenti stessi a non conservare in maniera appropriata la chiave di accesso, dando la possibilità a terzi di accedere. Per questo motivo è assolutamente necessario usare una qualche sorta di Multi-Factor Authentication, in modo da abbassare drasticamente le probabilità di un attacco di questo genere (anche se in possesso della password, si è impossibilitati ad accedere senza il secondo fattore di autenticazione).

Protezione da infezione di uno dei nodi interni alla rete

Per quanto riguarda la protezione sui singoli nodi (es. caso in cui un utente connette una chiavetta infetta) è necessario installare un antivirus. Ve ne sono di due tipi:

  • Signature Based Antivirus: è il funzionamento degli antivirus vecchiostampo e si basa su un grande elenco di hash corrispondenti a file infetti noti. In pratica si controlla se tra i files del dispositivo ce ne sia qualcuno il cui hash corrisponde a uno degli hash noti e, in tal caso, scatta l’allarme infezione. Il problema di questo approccio è ovviamente il fatto che se il malintenzionato cambia anche un solo bit del file malevolo, l’hash sarà diverso e l’infezione non viene individuata.
  • Behavior Based: è il funzionamento degli antivirus di nuova generazione. Invece che basarsi su un confronto con vulnerabilità note, si analizza il comportamento dei processi sul sistema. Se un processo inizia ad eseguire comportamenti strani e incoerenti, viene fermato istantaneamente e il computer sul quale il processo è eseguito viene escluso dalla rete, in modo che non possa infettare il server.

Un’opzione potrebbe essere quella di abbonarsi a Microsoft 365 Business Premium, ottenendo sia Windows Defender Behaviour Based per i 4 client + server, che tutti gli altri servizi office, se sono necessari. In questo caso, il prezzo annuale è di circa \(350\text{€}/\text{anno}\). Un’altra opzione allo stesso prezzo è Sophos Intercept X Advanced, che però non include le funzionalità office di Microsoft.

Teoricamente, un’altra accortezza da rispettare per limitare la possibilità dell’infezione di un nodo della rete è quella di rispettare il principio della Least Privilege: gli utenti devono avere il numero minimo di permessi di sistema necessari a svolgere le loro attività comodamente. Non serve che gli utenti lavorino su un profilo Admin, possono svolgere tutto su dei profili User che, in caso di infezione, rendono più difficile all’attaccante accedere alle risorse sensibili di sistema a causa della mancanza di permessi. Si useranno gli account Admin solo in caso di modifiche volontarie al sistema.

In ogni caso, considerando anche la spesa annuale dell’Antivirus insieme alle altre componenti, siamo giunti ad un prezzo di \(4.445\text{€}\).

Sistemi di backup dei dati

Il RAID1, analizzato nel primo capitolo, non è una forma di backup. Il RAID1 migliora l’availability del sistema, mitigando l’impatto di eventuali danni agli SSD, ma se un intruso entra nel server ed elimina i dati da un disco, tale modifica avverà anche sul secondo.

L’unico modo per ripararsi da tale pericolo è quello di effettuare dei veri backup. Idealmente, il metodo più solido è quello di seguire la regola del 3-2-1-1-0:

  • 3 Copie dei dati: non basta l’originale + 1 copia. Statisticamente, se si ha solo 1 backup, c’è una probabilità non nulla che il backup sia corrotto proprio nel giorno in cui serve. Con 3 copie (1 Produzione + 2 Backup), la probabilità di fallimento simultaneo tende a zero.
  • 2 Media diversi: non tenere tutto su dischi dello stesso tipo. Se un bug del firmware colpisce gli SSD Samsung, potremmo perdere tutto. Qui usiamo: SSD (Server) e HDD meccanici (NAS, come vedremo tra poco).
  • 1 Copia Off-site: i dati devono uscire fisicamente dall’ufficio. Se c’è un incendio, un allagamento o un furto fisico (ladri che portano via Server e NAS), i dati locali sono persi. Serve il Cloud o un disco da portare a casa.
  • 1 Copia Immutabile: il backup, una volta scritto, viene “bloccato” a livello di file system o API. Nessuno può cancellarlo o modificarlo per un tempo prefissato (es. 30 giorni), nemmeno l’amministratore.
  • 0 Errori: i backup vanno testati. Un backup che non hai mai provato a ripristinare è solo un file inutile che occupa spazio (Schrödinger’s backup).

Un modo per implementare ciò potrebbe essere dividere l’architettura in livelli di backup:

  • Livello A: Produzione (Il Server Dell): il primo livello di “backup” è il server DELL. Qui è possibile attivare una funzione di Windows Server chiamata “Volume Shadow Copy”, la quale fa una “foto” del disco due volte al giorno (es. 12:00 e 18:00). In questo modo, se un utente sovrascrive un file Excel per sbaglio, fa Tasto Destro -> Proprietà -> Versioni Precedenti e se lo recupera da solo velocemente. Non è un vero backup (sta sullo stesso disco), ma è molto comodo.
  • Livello B: Backup Rapido (Il NAS Synology): consiste in un NAS posizionato in un’altra stanza o in un armadietto blindato, collegato via rete LAN. Il NAS non deve essere una “cartella condivisa” accessibile da Windows (altrimenti l’eventuale Ransomware cripta anche quella). Il NAS deve “tirare” i dati a sé. Per farlo si usa un Software specifico (Active Backup for Business - ABB): sul Server Dell installiamo un piccolo “agente”. Il NAS si connette al Server e scarica l’intera immagine del sistema (Bare Metal). In questo modo, se il Server Dell muore (es. scheda madre bruciata), si può ripartire subito sostituendo la macchina e copiandovi l’intera immagine backuppata oppure sfruttando la funzionalità del NAS Synology, che può accendere una macchina virtuale che è la copia esatta del server in pochi minuti, permettendo di lavorare mentre si aspetta il server nuovo.
  • Livello C: Disaster Recovery & Immutabilità (Il Cloud): nel caso pessimo in cui entrino i ladri e rubino Server e NAS, i backup fin’ora ipotizzati sono inutili. La soluzione a ciò è l’Immutable Cloud: il NAS prende i backup fatti durante la notte e ne invia una copia criptata su un Cloud (es. Synology C2). Configurando poi il Cloud in modalità “Governance” o “Compliance”, quando il file di backup viene caricato sul Cloud, gli viene applicato un “lucchetto temporale” (es. 30 giorni). In questo modo, se si verifica lo scenario apocalittico in cui l’hacker entra nella rete, cripta il Server, scopre la password del NAS, entra nel NAS e cancella tutti i backup locali e poi prova anche a cancellare i backup sul Cloud per chiedere un riscatto (deve essere davvero molto motivato questo hacker), il Cloud risponde: “Errore: cu ti canusci”. L’hacker non può cancellarli, nemmeno se ha la password. È matematicamente bloccato.

Visto che siamo in un piccolo studio, probabilmente quest’ultimo livello C può essere sostituito da una semplice copia offline dei dati, che può essere trasportata a casa quando si lascia l’ufficio.

Per implementare tutto ciò, le spese necessarie sarebbero:

Il prezzo complessivo dell’architettura fino ad ora è quindi di \(5.078\text{€}\).

I clients

Per i PC client potremmo anche andare sull’usato e risparmiare moltissimo, dato che il grosso del lavoro lo farà il server. Tuttavia in questo caso mi è stato richiesto di rivolgermi al mercato del nuovo per un approccio future-proof.

Un altra richiesta che mi è stata posta è stata quella della possibilità di lavorare in remoto: idealmente ogni utente dovrebbe avere un fisso e un portatile. Tuttavia questo approccio di “doppia macchina” per ogni utente ha diversi svantaggi:

  • considerando di avere un budget di 1200 euro per ogni utente, se prendiamo due macchine dovremo accontentarci di due dispositivi economici, che poi andranno a svolgere esattamente lo stesso ruolo. Se invece acquistiamo una sola macchina portatile, possiamo spendere l’intero budget per avere il massimo della qualità e delle prestazioni.
  • con due macchine per ogni utente si avrebbero 8 licenze di accesso al server da pagare (se si usa quella per singolo dispositivo), e il doppio di macchine per cui pagare e gestire l’antivirus e gli aggiornamenti software.

La soluzione migliore è quindi secondo me quella di acquistare solo macchine portatili di alta qualità, unite ad una docking station che permetta di “tramutarle in computer fissi” una volta che si arriva in ufficio.

Per la singola postazione, ipotizzo la seguente configurazione (mi rivolgo ai prodotti HP perché mi sono sembrati in questo caso i migliori per rapporto qualità prezzo):

  • Computer: HP EliteBook 8 G1a 16 pollici oppure HP EliteBook 8 G1a 14 pollici a seconda che l’utente preferisca più spazio sul display per lavorare oppure una migliore portabilità. Il prezzo per ogni esemplare è \(1.074\text{€}\). Per essere ancora più convinti che acquistare un PC top è meglio di un fisso medio possiamo analizzare la seguente tabella, che compara il portatile scelto con il fisso precedentemente inserito in un preventivo provvisorio del progetto (i benchmark usati sono Cinebench R23 e 3DMark Time Spy).
Comparazione PC fisso e portatile
  • Docking station: l’utente deve essere libero di trasportare il lavoro dove vuole, ma avere la possibilità di ritornare alla sua postazione fissa, stabile e comoda. Per questo, inclueremo per ogni notebook una Docking Station HP USB-C dal costo di \(167\text{€}*4=668\text{€}\). In questo modo è possibile switchare dalla configurazione portatile a quella fissa con la semplice connessione di un cavo type-c, che darà accesso ad alimentazione, display (uno o più), stampanti, dischi esterni, rete cablata, …
  • Monitor: il display del portatile scelto è ottimo quando si è in mobilità, ma non va bene per le sessioni di lavoro quotidiane, dove è necessaria una dimensione maggiore. Per questo motivo si connetteranno alla docking station uno o più monitor esterni. Per quanto riguarda questo aspetto, la situazione su cui adattare il progetto è la seguente:
    • è già presente un buon monitor per una delle postazioni, ed anche una buona webcam. Acquisteremo quindi i monitor per le altre 3 postazioni;
    • due delle postazioni saranno anche usate per colloqui personali con i clienti, quindi si vuole adattarle a tale scopo;
    • 3 delle postazioni devono essere dotate di webcam, una può farne a meno.

    Dati questi vincoli, la mia idea è quella di:

    • lasciare una delle postazioni così com’è (col monitor già presente). Non sono necessari webcam, speakers o microfoni aggiuntivi dato che la postazione non è incentrata sulla multimedialità e per la fruizione di contenuti lavorativi sono più che sufficienti gli ottimi microfoni, webcam e speakers del portatile.
    • per la seconda postazione da lavoro, acquistare un monitor Lenovo L27i-4A Monitor da 27” con casse integrate (prezzo di \(160\text{€}\)). Ometteremo per questa postazione la webcam dedicata dato che è già presente un’ottima webcam microsoft in azienda, e sono comunque presenti anche la webcam e il microfono del portatile.
    • per ciascuna delle due postazioni da “confronto diretto” con i clienti, acquisteremo:
      • una cerniera articolabile per doppio monitor (quella nel link supporta fino a \(9kg\), i monitor che sceglieremo ne pesano \(3.5\) ciascuno) da \(30\text{€}\) circa. In questo modo, nel momento in cui si vuol mostrare qualcosa al cliente seduto dall’altra parte della scrivania, basterà ruotare un monitor e attivare la duplicazione dei display. La cerniera sarà coadiuvata da …
      • … altri due Lenovo L27i-4A Monitor da 27” (\(2*160\text{€}=320\text{€}\)).
      • In questo caso, per ogni postazione serve anche una webcam. Invece che acquistare un monitor con webcam già integrata, che avrebbe inspessito le cornici di uno dei display, reso gli schermi non uguali tra loro (scomodo visto che si userà in modalità doppio schermo) e avrebbe condannato l’utente ad una qualità di ripresa mediocre, preferisco rivolgermi ad una webcam dedicata: la Logitech Brio 500 (\(82\text{€}\)). Questa videocamera ha la copertura privacy integrata, microfono con riduzione del rumore, un’ottima qualità video e angolazione regolabile. Inoltre è piccola, elegante e si adatta ai bordi sottili dei display scelti.

      Il prezzo complessivo per le due postazioni di “confronto diretto” è di \(864\text{€}\).

Il “prezzo clients” totale è quindi di \(1.074\text{€}*4+668\text{€}+160\text{€}+864\text{€}=5.988\text{€}\).

Se volessimo aggiungere anche delle periferiche di input potremmo optare per qualcosa di economico ma pratico ed elegante, come per esempio una Logitech MK295, al prezzo di \(30\text{€}*4=120\text{€}\). Essendo wireless e potendo connettere sia mouse che tastiera con una sola usb, minimizziamo il numero di porte occupate sulla dock station e il numero di cavi presenti sulla scrivania.

Il totale di spesa fino ad ora è di \(5.988\text{€}+5.078\text{€}+120\text{€}=11.178\text{€}\).

UPS - Uninterruptible Power Supply

Abbiamo speso \(11.178\text{€}\), sarebbe un peccato se uno sbalzo di corrente o un fulmine ci bruciasse tutto in un istante. Per questo motivo, è importante installare nella nostra architettura anche una rete di UPS. Studiamo qui di seguito un approccio intelligente.

UPS per i clients

Iniziamo dalla parte facile: i clients. Nella nostra implementazione stiamo usando dei portatili, che hanno quindi la batteria integrata. Questo vuol dire che, anche nel caso saltasse la corrente, i computer avrebbero minimo 4 ore di autonomia per poter terminare il lavoro con calma e salvare. Qui le cose che dobbiamo difendere dal “pericolo blackout” sono la dock USB e i monitor.

Per quanto riguarda altri devices (es. stampanti), sconsiglio di connetterli all’UPS dato che non sono dispositivi essenziali e sottrarrebbero autonomia ai devices realmente indispensabili.

Facciamo un piccolo calcolo del consumo dei dispositivi che il gruppo di continuità dovrà sostenere, sia nel caso “normale” che nel caso “pessimo”:

  • Consumo normale: essendo il PC “sempre connesso” alla dock, e quindi probabilmente al 100% di batteria nel momento del blackout, assorbirà pochissima corrente dalla presa. Per mantenerci conservativi, ipotizziamo un consumo di \(40-60 \text{Watt}\). Consideriamoci anche nel caso pessimo delle postazioni con due display: il loro consumo complessivo si attesterebbe a \(17.5 \text{Watt}*2=35\text{Watt}\) In totale si ha un consumo di \(80-90 \text{Watt}\).
  • Caso pessimo: se invece ci troviamo nella situazione in cui il portatile è completamente scarico ed assorbe tutti i \(100\text{Watt}\) messi a disposizione dalla docking station, il consumo complessivo si attesterebbe attorno ai \(140-150 \text{Watt}\).

Servono degli UPS in grado di mantenere la postazione attiva per una quindicina di minuti a pieno carico, in modo da poter chiudere il lavoro con calma e salvare correttamente.

Una scelta intelligente potrebbe essere quella di acquistare degli APC ES BE850G2 (prezzo di \(138\text{€}*4=552\text{€}\)) con prese 8 schuko direttamente sul corpo dell’UPS, in modo da minimizzare il numero di cavi presenti sotto la scrivania (non servono ciabatte, si connette tutto direttamente sul gruppo di continuità). E’ possibile inoltre far passare la connessione ethernet direttamente dentro l’UPS, in modo da proteggere il computer anche da eventuali scariche da fulmine trasportate da tale cavo, e anche connettere l’UPS al computer in questo modo da impostare lo spegnimento automatico di windows quando la batteria raggiunge una cerca soglia minima.

Le caratteristiche indicate dal produttore sono quelle mostrate nella figura in basso (BE850G2).

Autonomia UPS

Le stime sono probabilmente ottimistiche, ma è reale aspettarsi un’autonomia di 50 minuti nel caso “normale” e di una ventina di minuti nel caso “pessimo”. Penso sia un risultato compatibile coi nostri scopi.

UPS per il server

Per delle strambe normative europee, i server venduti in Europa devono avere degli alimentatori super efficenti (categoria silver), anche se ne compri solo uno. Questo tipo di alimentatori si aspetta una sinusoide perfetta come alimentazione, mentre la maggior parte degli UPS fornisce la corrente come onda quadra. Questa incompatibilità genererebbe un brusco spegnimento di Server + UPS, cosa che assolutamente non vogliamo.

Per questo motivo, dobbiamo rivolgerci a dispositivi più costosi, specifici per questo caso.

Facciamo anche in questo caso il calcolo dei consumi:

  • Server:
Consumo Server
  • NAS Synology DS224+ (2x HDD IronWolf): circa \(20 W\).
  • Router Ubiquiti UDM-Pro: consideriamo un consumo medio: di \(33 W\).
  • Switch Ubiquiti USW-24-PoE: \(40 W\).

Per essere conservativi, consideriamo un consumo totale di \(200W\) di media con picchi di \(400W\).

Se prendessimo il CyberPower CP1600EPFCLCD (prezzo di \(363\text{€}\)) avremmo:

  • Scenario Normale (200 Watt): autonomia stimata di circa \(22-25\) minuti.
  • Scenario Picco (400 Watt): autonomia stimata di circa \(9-11\) minuti.

Il prezzo totale della sezione UPS sarebbe di \(552\text{€}+363\text{€}=925\text{€}\). Il prezzo complessivo dell’architettura fino ad ora è di \(925\text{€}+11.178\text{€}=12.103\text{€}\).

Il sistema operativo e le licenze

Il software aziendale usato nell’ufficio in analisi necessita di Windows Server, con rispettiva licenza. Tale licenza copre però solo il server e non dà il diritto agli utenti di connettersi. Per connettersi, serve un biglietto d’ingresso chiamato CAL (Client Access License).

Esistono due tipi di CAL:

  • User CAL (Per Persona fisica): un utente può accedere al server da quanti dispositivi vuole (PC ufficio, Laptop a casa, Smartphone). E’ probabilmente quella consigliata in questo caso, così che gli utenti possano connettersi sia dal device in locale che dal portatile in remoto.
  • Device CAL (Per Dispositivo): un dispositivo (es. il PC della Reception) può accedere al server, chiunque lo usi.

Nota Tecnica: Le User CAL per Windows Server “Standard” non si installano tecnicamente sul server (non c’è un contatore che ti blocca). Sono “pezzi di carta” (Honor Based). Ma se arriva la Guardia di Finanza e hai 10 utenti e 0 CAL, sono volatili per diabetici.

Ci sono due versioni di Windows Server attualmente adoperate:

  • la 2022: stabile, testata e con compatibilità a tutto ciò che è stato creato per windows server fino ad ora;
  • la 2025: appena uscita, con novità interessanti dal punto di vista cloud (non fondamentali in questa architettura) ma con possibili problemi di compatibilià (es. con il NAS).

L’opzione migliore è di certo quella di far girare Windows Server 2022 nel nostro ufficio, ma è possibile farlo sia acquistando le licenze relative a Windows Server 2022, sia quelle relative a Windows Server 2025. Quali acquistare?

  • Caso 1: acquisto licenze 2022: è possibile acquistare la licenza server qui (\(521\text{€}\)) e quella per gli utenti qui (pacchetto per 5 utenti a \(269\text{€}\)). In questo caso il sistema sarebbe supportato fino al 14 Ottobre 2031, ed il prezzo complessivo sarebbe di \(790\text{€}\).
  • Caso 2: acquisto licenze 2025: è possibile acquistare la licenza server qui (\(925\text{€}\)) e quella per gli utenti qui (pacchetto per 5 utenti a \(287\text{€}\)). Microsoft permette di acquistare la licenza 2025 ma installare la versione 2022, ed è quello che si effettuerebbe in questo caso per questioni di compatibilità. L’unico vantaggio tangibile per lo studio in questione sarebbe il supporto esteso fino al \(2.034/35\), a fronte di un costo complessivo di \(1.212\text{€}\). Sono \(422\text{€}\) in più: potrebbe aver senso, non è scontato che lo abbia.

Il prezzo complessivo dell’infrastruttura nei due casi è:

  • WS2022: \(12.103\text{€}+790\text{€}=12.893\text{€}\);
  • WS2025: \(12.103\text{€}+1.212\text{€}=13.315\text{€}\).

Lo schema finale

Possiamo finalmente ri-disegnare lo schema visto all’inizio dell’articolo, inserendovi i componenti realmente usati.

Bozza architettura

Angelo Antona, 21 NOVEMBRE 2025