WEBVTT

1
00:00.000 --> 00:05.040
So we've mentioned the concept of virtual machines or VMs, but what exactly are

2
00:05.040 --> 00:11.480
these? Well, when we're thinking about it, this is simply a set of software and

3
00:11.480 --> 00:17.040
it's a presentation of resources to the application that we're installing,

4
00:17.040 --> 00:22.240
meaning that it's going to appear to have CPU, it's going to appear to have

5
00:22.240 --> 00:26.040
memory and all of these other hardware components that we've talked about

6
00:26.040 --> 00:32.100
belonging to a PC or a server. Now this is meant to simulate again having
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

6
00:26.040 --> 00:32.100
belonging to a PC or a server. Now this is meant to simulate again having

7
00:32.100 --> 00:37.800
physical server resources. So I install an application onto this operating

8
00:37.800 --> 00:38.160
system,

9
00:38.160 --> 00:43.680
but it's all part of a virtual machine that once again is in software. So this

10
00:43.680 --> 00:48.000
operating system that we're installing onto the virtual machine, again, it

11
00:48.000 --> 00:48.200
needs

12
00:48.200 --> 00:53.580
to think that it has access to all of these different resources. And so when we

13
00:53.580 --> 00:57.300
see what's actually happening here, part of the responsibility of the

14
00:57.300 --> 01:02.280
hypervisor is to take a portion of the real amount of let's just say memory
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

14
00:57.300 --> 01:02.280
hypervisor is to take a portion of the real amount of let's just say memory

15
01:02.280 --> 01:08.280
here and carve some amount of it up and deliver it to this virtual machine. But

16
01:08.280 --> 01:11.760
then we've got another virtual machine over here with an operating system and

17
01:11.760 --> 01:15.240
an application. And so we're going to need to carve some amount of it and

18
01:15.240 --> 01:15.840
deliver

19
01:15.840 --> 01:20.840
it over here as well. But this is why we can actually improve the efficiency of

20
01:20.840 --> 01:26.300
our overall network and virtual space because remember what we said was one of

21
01:26.300 --> 01:29.620
the problems of the bare metal environment. And that was that if this

22
01:29.620 --> 01:34.620
server let's say was running at 90% utilization and this server over here is
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

22
01:29.620 --> 01:34.620
server let's say was running at 90% utilization and this server over here is

23
01:34.620 --> 01:39.300
running at 10% of the resources, well there was no way for this server to

24
01:39.300 --> 01:47.260
access the resources that are over here on the server that is not very highly

25
01:47.260 --> 01:53.020
loaded. But in this situation we absolutely can manage it this way. And so

26
01:53.020 --> 01:57.780
we can have virtual machines on the host that are running at 10% virtual

27
01:57.780 --> 02:02.260
machines that are running at 90% and in the end it's the physical resources
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

27
01:57.780 --> 02:02.260
machines that are running at 90% and in the end it's the physical resources

28
02:02.260 --> 02:02.860
that

29
02:02.860 --> 02:10.580
matter more so than the virtual resources. So how many virtual machines can run

30
02:10.580 --> 02:10.980
on

31
02:10.980 --> 02:17.990
a single host? Well the answer with all good questions is it depends. It

32
02:17.990 --> 02:18.460
depends

33
02:18.460 --> 02:23.700
because this virtual machine over here is consuming a real amount of memory a

34
02:23.700 --> 02:28.500
real amount of CPU cycles and all of these different resource components. And

35
02:28.500 --> 02:33.100
so once we've exhausted the physical resources by deploying virtual machines
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

35
02:28.500 --> 02:33.100
so once we've exhausted the physical resources by deploying virtual machines

36
02:33.100 --> 02:38.780
that's what defines the limit. So I might see a host that supports 10 to 15

37
02:38.780 --> 02:42.540
virtual machines. I would say in my experience this is a pretty common number

38
02:42.540 --> 02:48.420
that we might expect to see. But I might also have a very large server with an

39
02:48.420 --> 02:54.180
enormous number of CPU and memory types of resources and so maybe we've got 30

40
02:54.180 --> 02:54.300
to

41
02:54.300 --> 02:59.180
40 virtual machines on here and we could even go as low as one virtual machine

42
02:59.180 --> 02:59.420
on

43
02:59.420 --> 03:03.860
the host. Say well why in the world would we do that at that point we're back
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

43
02:59.420 --> 03:03.860
the host. Say well why in the world would we do that at that point we're back

44
03:03.860 --> 03:04.060
to a

45
03:04.060 --> 03:08.780
one-to-one relationship between applications and hosts and there's

46
03:08.780 --> 03:12.100
actually a few reasons for this. First of all the application might require it

47
03:12.100 --> 03:12.580
but

48
03:12.580 --> 03:17.780
second of all we actually get benefits tied to virtual machines that we could

49
03:17.780 --> 03:21.380
accomplish this way rather than installing the application and operating

50
03:21.380 --> 03:26.460
system directly to the hardware we install it as a virtual machine even

51
03:26.460 --> 03:31.460
though it will be the only virtual machine that runs. One of those advantages
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

51
03:26.460 --> 03:31.460
though it will be the only virtual machine that runs. One of those advantages

52
03:31.460 --> 03:36.900
that we can take it will take advantage of I suppose is the idea of migration.

53
03:36.900 --> 03:43.980
Virtual machines are software meaning that we can just move this software

54
03:43.980 --> 03:44.460
around we

55
03:44.460 --> 03:48.820
can move it around because it's just a bunch of zeros and ones on my desk and

56
03:48.820 --> 03:54.980
in memory. So when we think about having multiple hosts I might have a virtual

57
03:54.980 --> 03:59.340
host here but I'm probably going to have more than one virtual host it's pretty

58
03:59.340 --> 04:04.460
common to have at least a handful if not potentially even dozens of virtual
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

58
03:59.340 --> 04:04.460
common to have at least a handful if not potentially even dozens of virtual

59
04:04.460 --> 04:08.940
hosts depending on the size of the data center. And so maybe this virtual host

60
04:08.940 --> 04:13.980
is sitting here running at 90% resource utilization and this host over here is

61
04:13.980 --> 04:19.660
running at let's just actually use more realistic like a 30% utilization. So

62
04:19.660 --> 04:24.180
this is that same situation where we couldn't do anything about this when it

63
04:24.180 --> 04:29.460
was a bare metal architecture. Well now we have let's say 15 virtual machines

64
04:29.460 --> 04:35.100
running on this host over here and 15 virtual machines running over here. And
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

64
04:29.460 --> 04:35.100
running on this host over here and 15 virtual machines running over here. And

65
04:35.100 --> 04:38.060
not all virtual machines are created equal some of them are going to consume

66
04:38.060 --> 04:41.800
more resources and so even though we have the same number where you see that we

67
04:41.800 --> 04:41.900
're

68
04:41.900 --> 04:45.740
consuming vastly different amounts of resources assuming these hosts are

69
04:45.740 --> 04:49.020
built identically. There's nothing saying that they have to be for example

70
04:49.020 --> 04:54.060
this could have maybe 256 gig of memory on the left and this one over here

71
04:54.060 --> 04:58.500
might have 512 gig. We just don't know how exactly it's going to be built out

72
04:58.500 --> 05:03.380
but we've got all kinds of factors to consider in all of this. So what might we
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

72
04:58.500 --> 05:03.380
but we've got all kinds of factors to consider in all of this. So what might we

73
05:03.380 --> 05:09.300
do in this situation? Well what we could do is consider migrating maybe two to

74
05:09.300 --> 05:14.100
three virtual machines from one host to the other. Can we do this? Well

75
05:14.100 --> 05:17.740
absolutely in fact we support two different options we could do a cold

76
05:17.740 --> 05:24.860
migration which requires us to shut the virtual machine down and then we spin

77
05:24.860 --> 05:29.740
it back up we turn it on on a new host. The idea here is that the virtual

78
05:29.740 --> 05:35.500
machine technically lives off of the servers here on the storage array. This
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

78
05:29.740 --> 05:35.500
machine technically lives off of the servers here on the storage array. This

79
05:35.500 --> 05:39.770
is where the files the ones and zeros for the virtual machines are stored and

80
05:39.770 --> 05:40.020
so

81
05:40.020 --> 05:45.420
as long as they both have access to the same storage array then these two hosts

82
05:45.420 --> 05:49.900
can both access that virtual machine so I could turn it off on this host I

83
05:49.900 --> 05:50.060
could

84
05:50.060 --> 05:54.260
turn it on on this host over here and that's known as a cold migration it

85
05:54.260 --> 05:57.900
involves again shutting down the virtual machine. But here's the crazy

86
05:57.900 --> 06:02.020
thing even better than this and feels like black magic is we can actually do a
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

86
05:57.900 --> 06:02.020
thing even better than this and feels like black magic is we can actually do a

87
06:02.020 --> 06:07.780
live migration. Forget the idea of shutting the virtual machine down simply

88
06:07.780 --> 06:13.820
move the virtual machine from one host to the other while staying online the

89
06:13.820 --> 06:19.860
entire time. How on earth do we do this? Well the way this works is again the

90
06:19.860 --> 06:23.460
virtual machine is going to live from a ones and zeros perspective up here on

91
06:23.460 --> 06:29.780
the storage array but it also is going to live here in memory in RAM and so if

92
06:29.780 --> 06:29.860
I

93
06:29.860 --> 06:35.540
can move these ones and zeros over to this host and in and in a as real time as
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

93
06:29.860 --> 06:35.540
can move these ones and zeros over to this host and in and in a as real time as

94
06:35.540 --> 06:40.500
possible shut the virtual machine down on this side and spin it back up on the

95
06:40.500 --> 06:45.140
other side well at that point the virtual machine has not stopped running that

96
06:45.140 --> 06:51.420
entire time and this is the concept of a live migration. Very cool and very

97
06:51.420 --> 06:57.380
powerful it allows me to move virtual machines around and in a way that we

98
06:57.380 --> 07:02.900
barely drop a ping in a lot of cases we don't even drop a ping and so this is a
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

98
06:57.380 --> 07:02.900
barely drop a ping in a lot of cases we don't even drop a ping and so this is a

99
07:02.900 --> 07:10.340
seamless migration to our end users. If they're using the application that's

100
07:10.340 --> 07:14.060
hosted by this virtual machine they shouldn't even know that it moved from

101
07:14.060 --> 07:19.620
one physical host to another physical host. Pretty crazy stuff when we think

102
07:19.620 --> 07:26.260
about it and so because of this again we see some very big benefits to running

103
07:26.260 --> 07:26.540
as

104
07:26.540 --> 07:30.460
virtual machines as opposed to just deploying on to bare metal and this is
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

104
07:26.540 --> 07:30.460
virtual machines as opposed to just deploying on to bare metal and this is

105
07:30.460 --> 07:33.980
again why we might consider doing something like this even though it might

106
07:33.980 --> 07:39.420
be silly at first to think about running a single virtual machine on a physical

107
07:39.420 --> 07:44.220
server a physical host but instead now we've converted to a virtual machine and

108
07:44.220 --> 07:49.220
we get these benefits. For example if I'm going to perform an upgrade or even

109
07:49.220 --> 07:55.100
just a standard maintenance on the host itself well then I can move all the

110
07:55.100 --> 07:59.620
virtual machines to other hosts perform that upgrade or perform the maintenance

111
07:59.620 --> 08:03.740
and then migrate the virtual machines back and again it was seamless to the
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

111
07:59.620 --> 08:03.740
and then migrate the virtual machines back and again it was seamless to the

112
08:03.740 --> 08:09.620
users. I can also perform this concept of dynamic resource management so what

113
08:09.620 --> 08:13.900
we just described where we had a situation where one of our hosts was

114
08:13.900 --> 08:18.900
heavily loaded the other one was lightly loaded. Some of the virtual machine

115
08:18.900 --> 08:23.740
software packages out there will do this on its own dynamically without us

116
08:23.740 --> 08:27.460
intervening. They'll just slide the virtual machines around and make sure that

117
08:27.460 --> 08:32.700
we're maximizing our resources and lastly we do have the concept of surviving
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

117
08:27.460 --> 08:32.700
we're maximizing our resources and lastly we do have the concept of surviving

118
08:32.700 --> 08:37.970
hardware failure as well. Now depending on how the hardware fails if we just

119
08:37.970 --> 08:38.060
all

120
08:38.060 --> 08:42.980
of a sudden lose one of these hosts we might have to rely on cold migration for

121
08:42.980 --> 08:47.060
this other host to spin up the virtual machine but again a lot of software

122
08:47.060 --> 08:52.500
packages that exist out there will help us to do this even in this situation in

123
08:52.500 --> 08:58.900
a seamless live migration style using this concept of high availability. To run

124
08:58.900 --> 09:02.380
essentially a backup instance of the virtual machine over here so that if this
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

124
08:58.900 --> 09:02.380
essentially a backup instance of the virtual machine over here so that if this

125
09:02.380 --> 09:08.220
host goes down we immediately activate this backup instance. So some pretty

126
09:08.220 --> 09:12.740
crazy technology that exists here in the virtual space but again virtual

127
09:12.740 --> 09:17.740
machines enable all of this simply by converting the idea of our physical

128
09:17.740 --> 09:23.700
servers physical bare metal servers to software and then we think about all

129
09:23.700 --> 09:27.300
the things we can do with software we can even copy and paste virtual machines

130
09:27.300 --> 09:31.220
and use them for templates and all kinds of things everything that ties back to
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

130
09:27.300 --> 09:31.220
and use them for templates and all kinds of things everything that ties back to

131
09:31.220 --> 09:36.620
the fact that now that's represented by software.
