WEBVTT

00:00.330 --> 00:01.710
Istruttore: per ottenere i risparmi

00:01.710 --> 00:03.900
sui costi e l'efficienza previsti, il cloud computing

00:03.900 --> 00:06.540
si basa in larga misura sulla virtualizzazione.

00:06.540 --> 00:08.280
Ora, utilizzando la virtualizzazione,

00:08.280 --> 00:10.380
è possibile collocare numerosi server logici

00:10.380 --> 00:12.210
su un singolo server fisico.

00:12.210 --> 00:15.150
Questo a sua volta riduce la quantità fisica di spazio, energia e raffreddamento

00:15.150 --> 00:18.060
necessaria all'interno dei nostri data center.

00:18.060 --> 00:20.220
Inoltre, utilizzando la virtualizzazione possiamo

00:20.220 --> 00:22.950
ottenere livelli più elevati di disponibilità, avviando server

00:22.950 --> 00:25.770
virtuali aggiuntivi ogni volta che ne abbiamo bisogno.

00:25.770 --> 00:27.870
Questa capacità di fornire dinamicamente

00:27.870 --> 00:29.580
risorse di memoria e CPU è uno dei vantaggi

00:29.580 --> 00:31.920
principali del cloud computing.

00:31.920 --> 00:33.690
Sebbene i vantaggi del cloud computing

00:33.690 --> 00:35.670
siano molteplici, ci sono ancora numerosi

00:35.670 --> 00:37.680
problemi di sicurezza da considerare.

00:37.680 --> 00:39.090
La maggior parte degli stessi problemi

00:39.090 --> 00:40.620
di sicurezza che si riscontrano con i server

00:40.620 --> 00:43.140
fisici vengono trasferiti anche nell'ambiente cloud.

00:43.140 --> 00:45.780
Spesso i dirigenti pensano che il passaggio al cloud

00:45.780 --> 00:47.130
risolverà tutti i loro problemi,

00:47.130 --> 00:49.260
ma non è mai davvero così.

00:49.260 --> 00:52.050
Quando si utilizza la virtualizzazione, uno o più server logici

00:52.050 --> 00:54.270
risiedono su un singolo server fisico.

00:54.270 --> 00:57.240
A tal fine, utilizziamo un software specializzato,

00:57.240 --> 00:58.890
noto come hypervisor.

00:58.890 --> 01:00.870
L'hypervisor controlla la distribuzione

01:00.870 --> 01:03.390
di tutte le risorse, come il processore, la memoria

01:03.390 --> 01:05.700
e la disponibilità del disco rigido.

01:05.700 --> 01:08.880
In sostanza, l'hypervisor emula una macchina fisica in modo

01:08.880 --> 01:10.320
che il sistema operativo e

01:10.320 --> 01:12.360
tutte le sue applicazioni non si rendano

01:12.360 --> 01:15.060
conto di operare in un ambiente virtuale.

01:15.060 --> 01:17.700
Attualmente gli hypervisor si dividono in due categorie:

01:17.700 --> 01:19.890
hypervisor di tipo uno o bare metal e hypervisor

01:19.890 --> 01:22.230
di tipo due o hosted.

01:22.230 --> 01:23.730
Confrontando i tipi di hypervisor

01:23.730 --> 01:25.710
bare metal con quelli hosted, l'unica differenza

01:25.710 --> 01:28.290
principale dal punto di vista della sicurezza è che con i tipi

01:28.290 --> 01:30.330
hosted dobbiamo assicurarci che anche il sistema

01:30.330 --> 01:31.770
operativo sottostante sia adeguatamente

01:31.770 --> 01:34.080
protetto e patchato.

01:34.080 --> 01:35.730
Dal punto di vista delle prestazioni,

01:35.730 --> 01:38.100
il bare metal sarà più veloce e più efficiente della

01:38.100 --> 01:39.990
sua controparte ospitata.

01:39.990 --> 01:42.270
Un'altra opzione di virtualizzazione è nota

01:42.270 --> 01:45.780
come virtualizzazione basata su container, o containerizzazione.

01:45.780 --> 01:48.780
Con questo tipo, non viene utilizzato alcun hypervisor, ma ogni

01:48.780 --> 01:51.930
container si basa su un sistema operativo comune come base per ciascuno

01:51.930 --> 01:54.270
di essi; mentre ogni container condivide lo stesso

01:54.270 --> 01:55.620
sistema operativo sottostante,

01:55.620 --> 01:57.180
ogni container può avere i propri

01:57.180 --> 01:59.160
binari, librerie e applicazioni che possono

01:59.160 --> 02:00.660
essere personalizzati per le proprie

02:00.660 --> 02:02.820
esigenze.

02:02.820 --> 02:04.860
Attualmente la virtualizzazione basata su container

02:04.860 --> 02:06.930
viene utilizzata quasi esclusivamente con Linux

02:06.930 --> 02:09.120
come sistema operativo sottostante.

02:09.120 --> 02:12.210
La virtualizzazione basata su container utilizza inoltre meno risorse

02:12.210 --> 02:14.460
rispetto a una virtualizzazione di tipo uno o due,

02:14.460 --> 02:16.110
perché non richiede una propria copia

02:16.110 --> 02:19.290
del sistema operativo per ogni singolo container.

02:19.290 --> 02:21.960
Molti fornitori di servizi cloud hanno fatto un ulteriore passo

02:21.960 --> 02:25.110
avanti nella virtualizzazione con l'infrastruttura hyperconverged.

02:25.110 --> 02:27.000
Ciò consente al fornitore di integrare completamente

02:27.000 --> 02:29.160
lo storage, le reti e i server, senza dover apportare

02:29.160 --> 02:31.410
modifiche all'hardware.

02:31.410 --> 02:33.300
Si affidano invece a software e tecnologie

02:33.300 --> 02:34.860
di virtualizzazione per eseguire

02:34.860 --> 02:36.750
tutte le integrazioni.

02:36.750 --> 02:38.940
Possiamo gestire tutto questo da un'unica interfaccia

02:38.940 --> 02:40.710
o da un dispositivo senza doverci preoccupare

02:40.710 --> 02:43.110
di tutte le soluzioni dei fornitori sottostanti.

02:43.110 --> 02:45.330
La virtualizzazione delle applicazioni è un altro

02:45.330 --> 02:47.040
tipo di virtualizzazione comunemente

02:47.040 --> 02:50.040
usato per creare ulteriore sicurezza per l'host sottostante.

02:50.040 --> 02:52.920
La virtualizzazione delle applicazioni è una tecnologia software

02:52.920 --> 02:54.660
che incapsula i programmi informatici

02:54.660 --> 02:56.130
dal sistema operativo sottostante

02:56.130 --> 02:58.050
su cui vengono eseguiti.

02:58.050 --> 02:59.790
Un'applicazione completamente virtualizzata

02:59.790 --> 03:02.130
non è nemmeno installata in senso tradizionale, anche

03:02.130 --> 03:04.890
se viene comunque eseguita come se lo fosse.

03:04.890 --> 03:06.690
Con la virtualizzazione delle applicazioni,

03:06.690 --> 03:08.940
è possibile eseguire applicazioni legacy progettate

03:08.940 --> 03:11.490
per un sistema operativo obsoleto come Windows XP o

03:11.490 --> 03:14.670
Windows 7 su un sistema operativo più moderno, o addirittura eseguire

03:14.670 --> 03:17.430
software multipiattaforma, come le applicazioni Android

03:17.430 --> 03:20.280
su un computer Windows.

03:20.280 --> 03:22.680
Molti fornitori di cloud offrono anche VDI,

03:22.680 --> 03:24.840
o infrastruttura desktop virtuale.

03:24.840 --> 03:27.480
Ora la VDI consente a un provider cloud di offrire un sistema

03:27.480 --> 03:29.880
operativo desktop completo agli utenti finali da

03:29.880 --> 03:31.530
un server centralizzato.

03:31.530 --> 03:34.200
L'utilizzo di questo approccio offre numerosi vantaggi in termini di sicurezza.

03:34.200 --> 03:36.390
Ad esempio, un'organizzazione con cui collaboravo

03:36.390 --> 03:39.240
creava una nuova immagine di desktop virtuale per ogni utente

03:39.240 --> 03:41.610
al momento dell'accesso mattutino.

03:41.610 --> 03:43.590
Questo desktop non era persistente, quindi

03:43.590 --> 03:46.170
anche se veniva sfruttato da un utente malintenzionato, veniva

03:46.170 --> 03:48.300
distrutto non appena l'utente si scollegava, o

03:48.300 --> 03:50.160
a mezzanotte di ogni giorno, distruggendo

03:50.160 --> 03:52.470
di fatto la capacità dell'attaccante di rimanere persistente

03:52.470 --> 03:55.020
sul desktop di quell'utente finale, anche se veniva installato

03:55.020 --> 03:56.880
del malware.

03:56.880 --> 04:00.240
Un altro grande uso della virtualizzazione è quello di creare una sandbox.

04:00.240 --> 04:01.680
Ora, una sandbox consente di

04:01.680 --> 04:04.410
creare un ambiente isolato in cui è possibile analizzare

04:04.410 --> 04:07.170
virus, worm, trojan e altre minacce informatiche all'interno

04:07.170 --> 04:09.630
di un sistema operativo guest.

04:09.630 --> 04:11.580
Ora, poiché si trova in questa sandbox

04:11.580 --> 04:14.400
virtuale che si trova all'interno di una macchina virtuale

04:14.400 --> 04:16.830
isolata, è possibile garantire che non si possa

04:16.830 --> 04:20.130
infettare il proprio computer che la ospita come sistema operativo

04:20.130 --> 04:22.260
host o hypervisor sottostante.

04:22.260 --> 04:24.120
Quando si lavora come analista di cybersicurezza,

04:24.120 --> 04:27.240
si utilizzano spesso le sandbox per l'analisi del malware, soprattutto

04:27.240 --> 04:29.670
quando si effettua un'analisi dinamica del malware,

04:29.670 --> 04:31.680
in cui si prende un pezzo di malware, lo si esegue

04:31.680 --> 04:34.980
e si identifica cosa succede quando il malware viene eseguito su quel particolare

04:34.980 --> 04:37.710
sistema operativo guest.

04:37.710 --> 04:39.540
Un altro buon uso delle macchine virtuali

04:39.540 --> 04:42.030
è la virtualizzazione multipiattaforma.

04:42.030 --> 04:45.870
Ad esempio, utilizzo un MacBook Pro come macchina principale.

04:45.870 --> 04:48.450
Quindi, se volessi testare alcune applicazioni software

04:48.450 --> 04:50.040
per diversi sistemi operativi,

04:50.040 --> 04:52.080
potrei andare a prendere nuove macchine

04:52.080 --> 04:53.730
per ognuno di questi sistemi operativi,

04:53.730 --> 04:55.590
ad esempio avere un portatile per Windows,

04:55.590 --> 04:58.560
uno per Linux e uno per Mac.

04:58.560 --> 05:00.450
Ma se utilizzo la virtualizzazione,

05:00.450 --> 05:03.090
posso invece effettuare la virtualizzazione

05:03.090 --> 05:06.120
cross-platform utilizzando un sistema ospitato sul

05:06.120 --> 05:08.100
mio MacBook Pro con un software come

05:08.100 --> 05:10.680
VMware, Parallels o VirtualBox per poter installare

05:10.680 --> 05:12.300
questi sistemi operativi guest

05:12.300 --> 05:15.510
sopra il mio ambiente Mac OS esistente.

05:15.510 --> 05:17.040
Questo mi permetterà di testare tutti

05:17.040 --> 05:18.990
i software, indipendentemente dal sistema

05:18.990 --> 05:20.520
operativo di cui hanno bisogno, e

05:20.520 --> 05:22.320
di vedere come interagiranno.

05:22.320 --> 05:24.360
Questo è ottimo soprattutto per gli sviluppatori

05:24.360 --> 05:26.220
web, perché quando creo il mio sito

05:26.220 --> 05:28.980
web voglio essere sicuro che funzioni su Windows 10,

05:28.980 --> 05:32.940
Windows 11, Mac, Chromebook, iPhone, Android o qualsiasi altro dispositivo,

05:32.940 --> 05:36.420
e poter testare tutto questo in un'unica macchina utilizzando

05:36.420 --> 05:38.790
la virtualizzazione è una grande risorsa per

05:38.790 --> 05:41.670
noi sviluppatori.

05:41.670 --> 05:44.430
Un altro grande utilizzo della virtualizzazione è la formazione.

05:44.430 --> 05:46.440
È possibile creare ambienti di laboratorio che sono

05:46.440 --> 05:47.940
impostati in modo che le persone possano

05:47.940 --> 05:51.600
andare a fare pratica su un sistema operativo reale utilizzando queste macchine virtuali.

05:51.600 --> 05:53.220
Ad esempio, quando si studiano le

05:53.220 --> 05:55.470
varie certificazioni CompTIA, se si acquista

05:55.470 --> 05:57.900
il corso diontraining. com, sono dotati

05:57.900 --> 06:00.480
di laboratori pratici integrati.

06:00.480 --> 06:03.390
Questi laboratori consentono di accedere al nostro

06:03.390 --> 06:06.060
ambiente basato sul cloud e di eseguire azioni su

06:06.060 --> 06:08.700
sistemi Linux, sistemi Windows 10, sistemi Windows

06:08.700 --> 06:11.520
Server e altro in modo sicuro e protetto, senza alcun

06:11.520 --> 06:13.620
impatto sull'ambiente di produzione

06:13.620 --> 06:16.440
perché tutto è isolato in quest'area di formazione,

06:16.440 --> 06:18.900
o sandbox di formazione.

06:18.900 --> 06:20.850
Un altro aspetto positivo dell'utilizzo di macchine

06:20.850 --> 06:22.590
virtuali per un ambiente di formazione o di

06:22.590 --> 06:24.930
laboratorio è la possibilità di eseguire istantanee in vari

06:24.930 --> 06:28.110
punti e poi riprendere proprio da dove si era creata l'istantanea.

06:28.110 --> 06:31.200
Ad esempio, quando tenevo i miei corsi di persona, creavo

06:31.200 --> 06:34.320
delle macchine non funzionanti con Windows 7 e proponevo

06:34.320 --> 06:35.640
ai miei studenti A+ diversi

06:35.640 --> 06:38.040
problemi da risolvere.

06:38.040 --> 06:40.260
Gli davo la macchina virtuale, la accendevo, la ripristinavo

06:40.260 --> 06:42.210
dall'ultimo punto sicuro, che era quello in

06:42.210 --> 06:43.470
cui l'avevo rotta, e poi gli facevo

06:43.470 --> 06:44.880
cercare di capire cosa non andava

06:44.880 --> 06:47.220
e come potevano risolverlo.

06:47.220 --> 06:49.290
Questo è un ottimo utilizzo delle macchine virtuali

06:49.290 --> 06:50.430
nella formazione.

06:50.430 --> 06:52.770
E man mano che si prosegue negli studi e si inizia

06:52.770 --> 06:55.290
a conoscere Linux, Windows, gli ambienti server,

06:55.290 --> 06:57.720
Mac OS e altre cose del genere, è possibile avviare

06:57.720 --> 06:59.370
diverse macchine virtuali che contengono

06:59.370 --> 07:01.350
questi sistemi operativi guest ed esercitarsi

07:01.350 --> 07:04.680
in un ambiente sicuro e protetto.

07:04.680 --> 07:05.970
L'ultima cosa da discutere

07:05.970 --> 07:07.710
è il concetto di emulazione, perché

07:07.710 --> 07:11.220
molti confondono l'emulazione con la virtualizzazione.

07:11.220 --> 07:13.350
L'emulazione comporta l'utilizzo di un

07:13.350 --> 07:15.330
sistema che imita un altro sistema.

07:15.330 --> 07:17.580
Con la virtualizzazione, viene creata e utilizzata

07:17.580 --> 07:20.580
un'istanza virtuale di un particolare hardware.

07:20.580 --> 07:23.460
Quindi, in realtà, si utilizza una nuova macchina fisica

07:23.460 --> 07:25.440
rappresentata da un software.

07:25.440 --> 07:27.570
Con un emulatore, invece, un software traduce

07:27.570 --> 07:29.910
l'ambiente in tempo reale per fingere che si

07:29.910 --> 07:31.920
tratti di qualcos'altro.

07:31.920 --> 07:33.780
Ad esempio, se volessi giocare a un

07:33.780 --> 07:36.000
vecchio gioco del Super Nintendo sul mio MacBook

07:36.000 --> 07:39.510
Pro, potrei scaricare un emulatore del Super Nintendo come OpenEmu,

07:39.510 --> 07:41.580
che tradurrà il codice del gioco in tempo

07:41.580 --> 07:44.970
reale in istruzioni comprensibili al mio Mac.

07:44.970 --> 07:47.070
Con la virtualizzazione, il software in esecuzione

07:47.070 --> 07:49.560
può accedere fisicamente all'hardware della macchina, il

07:49.560 --> 07:52.860
che lo rende molto, molto più veloce rispetto all'uso di un emulatore.

07:52.860 --> 07:55.230
Quando conviene usare un emulatore invece

07:55.230 --> 07:56.970
della virtualizzazione?

07:56.970 --> 07:58.830
Se avete bisogno di eseguire un sistema operativo

07:58.830 --> 08:00.750
destinato a un altro tipo di hardware, come

08:00.750 --> 08:03.570
ad esempio un Super Nintendo su un computer Mac o Windows, allora

08:03.570 --> 08:05.400
dovrete usare un emulatore.

08:05.400 --> 08:06.780
Se si desidera eseguire un software

08:06.780 --> 08:09.090
destinato a un sistema operativo diverso, come un Android

08:09.090 --> 08:11.130
progettato per funzionare su un processore ARM,

08:11.130 --> 08:13.020
ma si dispone di un processore Intel e di un sistema

08:13.020 --> 08:14.550
operativo Windows, anche in questo

08:14.550 --> 08:17.550
caso gli emulatori saranno la scelta giusta perché si ha a che fare con

08:17.550 --> 08:20.190
un hardware sottostante diverso.

08:20.190 --> 08:22.080
D'altra parte, se avete bisogno di alta velocità

08:22.080 --> 08:23.250
e migliori prestazioni, è meglio

08:23.250 --> 08:25.590
utilizzare una soluzione di virtualizzazione.

08:25.590 --> 08:27.660
Ricordate però che con la virtualizzazione

08:27.660 --> 08:29.850
si limita l'esecuzione di software codificato

08:29.850 --> 08:33.060
per il particolare hardware sottostante del processore.

08:33.060 --> 08:37.920
Normalmente, la maggior parte di noi utilizza processori basati su x86 o x64, per cui si esegue

08:37.920 --> 08:40.650
Windows, Linux o Mac, o uno qualsiasi di questi tre sistemi

08:40.650 --> 08:42.870
operativi su questo tipo di sistemi con la virtualizzazione

08:42.870 --> 08:45.660
funzionerà benissimo.

08:45.660 --> 08:47.490
Ma se si cerca di eseguire un sistema operativo

08:47.490 --> 08:49.050
progettato per un processore ARM,

08:49.050 --> 08:51.000
non funzionerà con la virtualizzazione e si

08:51.000 --> 08:52.620
dovrà usare un emulatore.

08:52.620 --> 08:55.110
In generale, la maggior parte delle volte si usa la

08:55.110 --> 08:57.120
virtualizzazione invece di un emulatore,

08:57.120 --> 08:58.800
perché è più veloce ed efficiente

08:58.800 --> 09:00.450
e la maggior parte delle cose sono

09:00.450 --> 09:03.240
scritte per funzionare su un processore x86 o x64.

09:03.240 --> 09:05.070
Ma ancora una volta, se avete bisogno

09:05.070 --> 09:06.540
di eseguire qualcosa per un processore

09:06.540 --> 09:08.990
diverso, dovrete usare un emulatore.
