WEBVTT 0:00:02.920000 --> 0:00:08.920000 Hello and welcome to this video titled Virtual Machine Resource Considerations. 0:00:08.920000 --> 0:00:14.340000 In this video I'm going to talk about the types of resources that virtual 0:00:14.340000 --> 0:00:19.020000 machines consume and how you have to consider those when thinking about 0:00:19.020000 --> 0:00:23.820000 adding a new virtual machine to your existing hypervisor. 0:00:23.820000 --> 0:00:25.920000 And then lastly we'll talk about where is your VM? 0:00:25.920000 --> 0:00:29.920000 VMs can be located in one of two different places and we'll talk about 0:00:29.920000 --> 0:00:35.440000 that and where that location is can determine other things in your design 0:00:35.440000 --> 0:00:42.660000 considerations. So let's talk about virtual machine resources. 0:00:42.660000 --> 0:00:45.920000 So remember what is a virtual machine? 0:00:45.920000 --> 0:00:50.560000 A virtual machine is like a real computer, a real router, a real firewall 0:00:50.560000 --> 0:00:55.560000 that you've just virtualized but like a real thing, those real things 0:00:55.560000 --> 0:00:57.840000 do consume resources. 0:00:57.840000 --> 0:01:01.300000 They need memory, they need CPU processing power. 0:01:01.300000 --> 0:01:05.720000 So when you're creating a virtualized machine, you still need to factor 0:01:05.720000 --> 0:01:10.680000 that stuff in when thinking about creating the virtual machine from scratch. 0:01:10.680000 --> 0:01:16.520000 So some things you have to think about are how many virtual CPUs are needed? 0:01:16.520000 --> 0:01:19.320000 How many cores? How many sockets? 0:01:19.320000 --> 0:01:21.340000 How many cores per socket? 0:01:21.340000 --> 0:01:26.300000 Now hopefully when you're considering virtualizing something, like for 0:01:26.300000 --> 0:01:33.200000 example, if you're thinking about running a virtualized Cisco iOS router, 0:01:33.200000 --> 0:01:37.400000 okay, well first of all you would go to Cisco's website and you would 0:01:37.400000 --> 0:01:41.380000 download the appropriate software for that virtualized router but along 0:01:41.380000 --> 0:01:45.320000 with that somewhere on that website it would answer these questions. 0:01:45.320000 --> 0:01:50.180000 They wouldn't leave it up to you to guess how many cores, how many sockets, 0:01:50.180000 --> 0:01:52.780000 how many CPU cores are necessary. 0:01:52.780000 --> 0:01:56.880000 They would tell you this particular virtual machine needs this many CPUs 0:01:56.880000 --> 0:02:00.740000 whereas this one needs this many sockets. 0:02:00.740000 --> 0:02:04.560000 It might give you a range of minimum to maximum but you shouldn't have 0:02:04.560000 --> 0:02:07.360000 to guess on what that number is. 0:02:07.360000 --> 0:02:09.540000 Also, how much RAM? 0:02:09.540000 --> 0:02:15.180000 Once again, the developer of that virtual machine who's ever providing 0:02:15.180000 --> 0:02:17.980000 that software to you will tell you that. 0:02:17.980000 --> 0:02:23.100000 For example, if you're creating a Windows 10 virtual machine, all right, 0:02:23.100000 --> 0:02:27.360000 so on my hypervisor one of the virtual machines I want is to basically 0:02:27.360000 --> 0:02:31.400000 be like a Windows 10 box so I can pretend like I have my own laptop right 0:02:31.400000 --> 0:02:36.140000 there. Well Windows 10 itself will tell you what the minimum RAM requirements 0:02:36.140000 --> 0:02:40.480000 are for that operating system so you'll have to keep that in mind when 0:02:40.480000 --> 0:02:42.840000 creating the virtual machine itself. 0:02:42.840000 --> 0:02:45.360000 How much hard disk space will you need? 0:02:45.360000 --> 0:02:51.060000 Remember, all of this is a finite limited resource because all of this 0:02:51.060000 --> 0:02:55.120000 is being implemented on one physical host. 0:02:55.120000 --> 0:03:02.240000 So if I have a physical host that just has 10 gigabits of hard disk space 0:03:02.240000 --> 0:03:06.340000 but the virtual machine I'm thinking of putting on that host tells me, 0:03:06.340000 --> 0:03:09.700000 oh you need a minimum of 90 gigabits hard drive. 0:03:09.700000 --> 0:03:13.040000 Well that's not going to work because that virtual machine is going to 0:03:13.040000 --> 0:03:17.680000 be demanding resources that my host can't actually provide. 0:03:17.680000 --> 0:03:21.640000 Some other considerations you have to be aware of. 0:03:21.640000 --> 0:03:24.340000 Which hypervisors support the VM? 0:03:24.340000 --> 0:03:29.000000 Not all virtual machines support every type of hypervisor out there. 0:03:29.000000 --> 0:03:33.540000 For example, you might be running on your physical server, you might be 0:03:33.540000 --> 0:03:38.540000 running VMware's ESXi and much to your disappointment the particular virtual 0:03:38.540000 --> 0:03:43.080000 machine you want to create might only be supported in Microsoft's Hyper 0:03:43.080000 --> 0:03:46.740000 -V and it isn't supported by ESXi. 0:03:46.740000 --> 0:03:48.580000 So that's something you'd have to think about as well. 0:03:48.580000 --> 0:03:53.360000 Does my hypervisor, does the flavor of hypervisor I'm using support the 0:03:53.360000 --> 0:03:57.140000 virtual machine I want to create on it? 0:03:57.140000 --> 0:04:00.100000 What resources are required by the virtual machine? 0:04:00.100000 --> 0:04:01.200000 We just talked about that. 0:04:01.200000 --> 0:04:04.520000 CPU, memory, hard disk drive, those are the types of things you have to 0:04:04.520000 --> 0:04:05.760000 be concerned about. 0:04:05.760000 --> 0:04:11.600000 And if I create this virtual machine, will there be enough resources left 0:04:11.600000 --> 0:04:15.160000 on the host? Because there might be other virtual machines already on 0:04:15.160000 --> 0:04:20.160000 that host. Do I have enough resources left to add yet another virtual 0:04:20.160000 --> 0:04:24.040000 machine into my existing mix? 0:04:24.040000 --> 0:04:29.680000 And does the host's physical NIC have sufficient bandwidth for all the 0:04:29.680000 --> 0:04:30.920000 virtual machines? 0:04:30.920000 --> 0:04:35.580000 Let's say your physical host that's running Microsoft's Hyper-V or VMware 0:04:35.580000 --> 0:04:40.920000 ESXi. Let's say that physical host only has one NIC card which is kind 0:04:40.920000 --> 0:04:45.480000 of a slow 100 megabit per second fast ethernet NIC card. 0:04:45.480000 --> 0:04:50.020000 Well, that'll be fine if you just have one or two virtual machines in 0:04:50.020000 --> 0:04:54.500000 there. But if we start creating dozens of virtual machines in that host, 0:04:54.500000 --> 0:04:58.180000 that one physical NIC card might not have enough bandwidth to have all 0:04:58.180000 --> 0:05:02.420000 the ingress and egress traffic that all those hosts are sending to it. 0:05:02.420000 --> 0:05:04.720000 We have to consider that as well. 0:05:04.720000 --> 0:05:09.880000 Now another consideration is where is your VM going to be located? 0:05:09.880000 --> 0:05:12.980000 Because it actually could be located in one of two different places. 0:05:12.980000 --> 0:05:16.640000 We could have an on-premise virtual machine which means that the actual 0:05:16.640000 --> 0:05:20.300000 host server is physically on your site. 0:05:20.300000 --> 0:05:21.380000 It's physically in your building. 0:05:21.380000 --> 0:05:22.140000 You can touch it. 0:05:22.140000 --> 0:05:22.960000 You can feel it. 0:05:22.960000 --> 0:05:24.000000 You can move it. 0:05:24.000000 --> 0:05:26.680000 That would be called an on -premises virtual machine. 0:05:26.680000 --> 0:05:31.580000 Or there are providers out there such as Amazon, AWS and Microsoft Azure 0:05:31.580000 --> 0:05:35.060000 that say, hey, use our services. 0:05:35.060000 --> 0:05:39.760000 We've got servers galore in our data centers and we'll host your virtual 0:05:39.760000 --> 0:05:41.420000 machine for you. 0:05:41.420000 --> 0:05:45.680000 That would be considered a cloud -based virtual machine. 0:05:45.680000 --> 0:05:49.260000 Now, there are pros and cons to each of these. 0:05:49.260000 --> 0:05:51.820000 I'd just like to highlight these real quickly here. 0:05:51.820000 --> 0:05:56.780000 The pros and cons of on-premises versus cloud-based virtual machines. 0:05:56.780000 --> 0:06:00.960000 So if you decide, I'm going to buy my own server. 0:06:00.960000 --> 0:06:05.000000 I'm going to load VMware's ESXi on it or I'm going to load Hyper-V on 0:06:05.000000 --> 0:06:08.680000 it and I'm going to put my own VMs on the server because I feel good about 0:06:08.680000 --> 0:06:11.300000 having that thing right there where I can see it. 0:06:11.300000 --> 0:06:15.460000 So you want to have an on-premises virtual machine implementation. 0:06:15.460000 --> 0:06:19.540000 Well, the positive side to that is, hey, let's say your company loses 0:06:19.540000 --> 0:06:21.300000 internet connectivity. 0:06:21.300000 --> 0:06:26.980000 Your charter cable or time-owner cable or AT&T, whoever your ISP is, they 0:06:26.980000 --> 0:06:31.920000 screw up and for the next few hours or the next few days, heaven's forbid, 0:06:31.920000 --> 0:06:34.560000 you have no internet connectivity. 0:06:34.560000 --> 0:06:37.880000 Well, yeah, that kind of stinks but it's not going to affect your virtual 0:06:37.880000 --> 0:06:40.840000 machines. Your virtual machines are on-premise. 0:06:40.840000 --> 0:06:45.300000 So as long as your own local area network, your own LAN is working, you 0:06:45.300000 --> 0:06:48.480000 can still get to those VMs and still can use them for whatever you want 0:06:48.480000 --> 0:06:52.340000 to do. So you don't need internet connectivity. 0:06:52.340000 --> 0:06:56.940000 Now, the downside or this could be a positive side depending on how you 0:06:56.940000 --> 0:07:01.200000 see it, is that you personally as a network administrator or the network 0:07:01.200000 --> 0:07:04.340000 engineer, you're going to be responsible for all that. 0:07:04.340000 --> 0:07:06.120000 You're responsible for that machine. 0:07:06.120000 --> 0:07:10.620000 You're responsible for picking it out, making sure you selected the right 0:07:10.620000 --> 0:07:14.120000 amount of resources on the machine like the correct CPU, the correct amount 0:07:14.120000 --> 0:07:16.940000 of hard disk space, the correct amount of RAM. 0:07:16.940000 --> 0:07:20.860000 You're responsible for loading the hypervisor onto it and if you screw 0:07:20.860000 --> 0:07:24.220000 that up, you'll have to troubleshoot it and fix that. 0:07:24.220000 --> 0:07:27.640000 You're responsible for creating the VMs and monitoring them and making 0:07:27.640000 --> 0:07:31.040000 sure that they're not overwhelming the host itself. 0:07:31.040000 --> 0:07:33.920000 It's all your responsibility. 0:07:33.920000 --> 0:07:37.700000 The positive side to this is it's a fixed cost. 0:07:37.700000 --> 0:07:43.600000 In other words, once you spend that chunk of money to buy the host, another 0:07:43.600000 --> 0:07:49.360000 chunk of money to buy VMware's ESXi as an example and load it onto that 0:07:49.360000 --> 0:07:53.060000 host and maybe another chunk of money to buy the Windows operating system 0:07:53.060000 --> 0:07:56.840000 and Linux operating system and Microsoft, whatever operating systems you're 0:07:56.840000 --> 0:08:00.380000 going to want to virtualize, once you're done with that, your spending 0:08:00.380000 --> 0:08:04.400000 is done. There will be some incremental spending to keep the power on 0:08:04.400000 --> 0:08:09.900000 and to keep that thing cooled with HVAC, but by and large, your initial 0:08:09.900000 --> 0:08:12.320000 expenditures are pretty much finished. 0:08:12.320000 --> 0:08:13.800000 That's a positive. 0:08:13.800000 --> 0:08:18.500000 Now, if you choose to do a cloud-based virtual machine, we have different 0:08:18.500000 --> 0:08:22.940000 considerations. Number one, clearly, we have to have internet connectivity. 0:08:22.940000 --> 0:08:27.140000 If our internet connectivity goes down, we can't reach those virtual machines. 0:08:27.140000 --> 0:08:33.140000 If that's critical to our business, that could be a real big downer. 0:08:33.140000 --> 0:08:37.880000 Number two, the positive side is the maintenance of the host has now been 0:08:37.880000 --> 0:08:39.920000 transferred to the cloud provider. 0:08:39.920000 --> 0:08:44.340000 I am no longer concerned with providing enough electricity to that physical 0:08:44.340000 --> 0:08:48.100000 server. I'm no longer concerned with monitoring the temperature of that 0:08:48.100000 --> 0:08:50.840000 server or whether it's getting enough airflow. 0:08:50.840000 --> 0:08:52.820000 That's Amazon's responsibility. 0:08:52.820000 --> 0:08:54.340000 That's Microsoft's responsibility. 0:08:54.340000 --> 0:08:59.580000 Whoever's hosting that physical host in the cloud, they have to do that. 0:08:59.580000 --> 0:09:04.400000 Now, the downside, though, is there is an incremental cost. 0:09:04.400000 --> 0:09:08.960000 Now, typically, it's cheaper upfront because I don't have to buy the hardware 0:09:08.960000 --> 0:09:14.560000 of the server, but these services will typically charge you on a per-minute 0:09:14.560000 --> 0:09:20.280000 basis. Now, it might not seem like a lot, depending on the type of server 0:09:20.280000 --> 0:09:23.320000 you select to host your VMs on. 0:09:23.320000 --> 0:09:27.560000 It might range anywhere from like four cents every minute up to 75 cents 0:09:27.560000 --> 0:09:29.420000 or a dollar every single minute. 0:09:29.420000 --> 0:09:33.200000 But if this is something where once these VMs are installed, you expect 0:09:33.200000 --> 0:09:38.120000 that host to be up and running 24 hours a day, seven days a week, month 0:09:38.120000 --> 0:09:39.880000 after month after month. 0:09:39.880000 --> 0:09:41.520000 That cost is going to keep climbing. 0:09:41.520000 --> 0:09:43.880000 Every single month, you're going to have a bill that you're going to have 0:09:43.880000 --> 0:09:47.080000 to pay. It's not going to be like the fixed cost of one server that you 0:09:47.080000 --> 0:09:49.820000 bought and paid for and then you walked away from. 0:09:49.820000 --> 0:09:53.540000 So those are just some considerations about where your virtual machines 0:09:53.540000 --> 0:09:56.660000 will end up being hosted. 0:09:56.660000 --> 0:09:58.680000 So thank you for watching this video. 0:09:58.680000 --> 0:09:59.880000 I hope you found it to be helpful.