Are you looking to learn about virtualization and cloud computing? If so, this video is for you.
We're excited to announce our new Get Hired Interview Program. This program will be available
on Monday November 15th. You can get this program now at our introductory pre-launch
discount at 50% off by entering the coupon code gethired. The link is in the description below.
Hi, my name is Michael Gibbs and I'm the founder and CEO of Go Cloud Architects. And we're an
organization that's dedicated towards building high performance cloud computing and networking
careers. Personally, I've been working in technology for over 25 years and I've been helping
others get their first tech job or get promoted in tech for over two decades. And my absolute
favorite thing in the world is when one of my students calls me and says, "Guess what, Mike?
I just got cloud hired." So we're making this series of videos to help you guys get cloud hired.
In today's video we're going to be talking about virtualization. Now, virtualization
may be one of the most critical things for the cloud architect and cloud engineer to know.
See, when we work on the cloud, the cloud is all virtualization,
literally everything, the whole cloud is virtualization. Whether it's virtualization
of the network or virtualization of the data center, the cloud is virtualization.
So you can see being capable and have strong knowledge of virtualization is
critical for the cloud architect, the cloud engineer, the solution architect or
anybody working in cloud computing. So we're going to talk about virtualization and we're
going to talk about hypervisors, which is one of my most favorite things in the world
because virtualization makes so many wonderful things possible.
So what is virtualization? Virtualization, realistically speaking, is when you take
something, say it's a server or it's a switch and you divide that physical server into multiple,
logical mini switches. So let's say for example, you have an entire pizza. That's one piece and
let's say it's an 18 inch wide pizza. It's a big pizza. It's a beautiful pizza. It's
a nice pizza, but it's one pizza. And you have three family members. Well,
if you take the pizza and divide it into thirds, each one of your three family members gets fed.
What did you do? You took one physical pizza and chopped it into three smaller pizzas.
And that's what server virtualization is. It's when you take a physical server and you chop it
down into multiple logical servers inside of that physical server. So let's go back to the pizza.
The reason virtualization is so important is a long time ago, we all had little pizzas. A little
pizza came on the plate, we would eat the pizza. We were happy. Life was good. And we had little
mini computers that had very slow processors, very little RAM. You know, one application, one server.
Life was good. But imagine the pizzas kept getting bigger. So imagine the pizzas became 18 inches
and then 36 inches and then 56 inches and then a mile wide and then 5,000 miles wide, nobody would
eat that pizza. So if you baked a pizza that was five miles wide, you'd have a lot of rotten pizza
because you'd eat the most you could, you'd be full, you'd stop and it would just go rot.
That would be no good. So if you made a pizza that was five miles wide,
you should get some big pizza cutters and you should share it with the community.
We'll go back into virtualization. Let's go and think about what happened with servers.
The servers I started with had a 10 megahertz CPU. That's right, 10 megahertz.
That 10 megahertz CPU has gone to CPUs that are, say, a 2.6 gigahertz with 128 cores.
Wow. Look at how much that's changed, millions and millions and millions of times stronger. So
now the servers that we can create are so big and because these servers are so big, they can handle
a lot of workloads, more than just a single application. So that's what's going on. That's why
we've adopted server virtualization., because the servers got so big and so strong and so powerful.
We can chop that one server into 20 servers. It's like taking a pizza and chopping it down. Now,
think of it this way. If you used to have a small server that was 1500 Watts, and now you can have
a giant server that's the same 1500 Watts. Now you can take that 1500 watt server and chop it
into 20 of them. So now you've got a very good power efficiency, so the servers in your data
center are going to be maximally utilized, so you don't need a lot of them using a lot of space,
power and cooling. So that's why server virtualization is so critical. Now on the cloud,
when we get to the cloud, guess what? Everything we use is actually going to be a virtual machine.
And say, we're an AWS, and we have an EC2 instance, or we're in a Google cloud and we have
[a Compute Engine 00:04:48] instance, or if we're in Azure and we've got a virtual machine, it's
all going to be a virtual machine and it's going to use this identical virtualization technology.
So we're going to talk about the technologies, because I want you all as cloud architects,
cloud engineers, solution architects, to know how everything works. If you're a cloud architect,
you're a system designer and you can't design systems that you don't understand. So we're
going to make sure before we're done, you have a total understanding of virtualization,
hypervisors, virtual machines, how they work. And of course, we'll go make some just for fun.
So now, how does this virtualization work? Well, we're going to start with a physical server.
And as you can see in this graphic, we've got the physical hardware. Now on this physical hardware,
we are going to put a hypervisor. Now, what does the hypervisor do?
The hypervisor manages the physical resources and the server. So basically think it manages the
memory and the CPU and the disc allocation that's going to be divided amongst the virtual machines.
So think about your physical hardware and then think of this
light hypervisor that's typically an operating system [kernel 00:05:56] and a hypervisor.
And that software then enables you to chop that server into the virtual machines.
Now, in this particular case where we're talking server virtualization, we're talking about
something called a Type 1 hypervisor, because basically you have your physical hardware,
you've got your hypervisor and you have your virtual machines. This is what's done whether
it's Linux virtualization most of the time, or whether it's Windows HyperV, that's technically
our Type 1 hypervisor, even though it's kind of questionable. Whether you're dealing with VMware
ESXi, for example, these are Type 1 hypervisors and this is your traditional environment.
Physical server, hypervisor, logical virtual machine. Now, because each virtual machine is
going to be its own computer, each virtual machine is going to have its own operating
system and its own applications installed and they are going to be completely logically separated.
Now, when virtual machines are sized, they're sized like a server. CPU cores,
memory, disc space, just like that. So when we create our virtual machines, you're going to see
we're going to create them and allocate them in the size we want. So if we wanted to cut
a pizza in thirds, we could choose how to do so. If we wanted to cut a pizza in quarters,
we could choose how to do so. And when we set up our virtualization, we'll be able to virtualize
that server and cut up that server any way we'd like. The same way we could cut up a pizza.
Now, before we do the server demo, I want to talk about another type of virtualization.
And that is called a Type 2 hypervisor. So many of you have run Linux computers as your primary
desktop or a Mac as your primary desktop and had to run some Windows applications, for example,
and you needed to create something to do it. And many people have downloaded an application
like VirtualBox or VMware Player or parallels on their Mac, which enables them to run Windows
on their Mac, for example. That's a perfect example of another type of a virtual machine.
And that is basically like your desktop virtualization, where you have a primary
operating system and you're running multiple virtual machines. Maybe you're a developer and
you have to do something in a virtual machine, maybe you want to test something. Or maybe you're
a Mac user like me, but you need a Windows application, so you create a virtual machine.
That is something different. That is called a Type 2 hypervisor. As you can see in this graphic
in a Type 2 hypervisor you've got your physical hardware, you've got your host operating system.
Then you'll have your Type 2 hypervisor and then your virtual machines. So while this can work,
it's much, much, much slower than you would typically get in server virtualization.
This kind of desktop virtualization is something you're going to do when you need to,
to run other applications. But it's not something the way you would design a server, because the
server goes straight to the hardware, to the hypervisor and then to the virtual machines.
[Losing 00:08:39] that extra operating system can make a big difference in performance. And that's
why many people that don't completely feel so good about server virtualization, it's because they've
had those desktop virtualization experiences and it's an entirely different universe, even
though similar technologies are deployed. Okay. So at this point, what we're going to do is we're
going to go log into our VMware ESXi server and we're going to go create some virtual machines.
Okay. Let's have some fun. Okay. So what I've done is I've logged into one of my personal VMware
ESXi servers. I keep a couple of ESXi servers around and that way, whenever I want to run a
test something or I want to test an architecture, at least test a few ideas, I throw them up on some
of these servers. I set up a couple of servers, virtual machines, some containers, test some
networking things. And it's just great to have a server around the house, or multiple ones.
In this particular case what we're going to do is we're going to set up some fun
virtual machines. And when you're on the cloud provider, if it's AWS, your virtual machines will
be called EC2 instances. If it's Azure, they'll be called virtual machines. If they're Google,
they're going to be called something from Compute Engine, but it's all just a virtual machine. Now,
when you're getting it from the cloud provider, you're picking up a pre-made virtual machine.
But when you do it in the data center, you create your own virtual machine.
So to teach you all about virtualizations, we're going to do it the data center way,
which is the hard way. And then from here, the next time you go to select that EC2 instance,
you just click it and then you click start. You'll know exactly what it is.
So let's go create a virtual machine. So what we'll do from the VMware ESXi server
is we'll click Create. Now VMware ESXi is very common hypervisor, widely used in the
industry by many enterprises to set up server virtualization. So we'll create a new machine.
Now, when we do this, we're going to name the virtual machine. We have to name a virtual
machine because the server needs to have some way to identify the specialty virtual machines
that are inside of that server. Keep track of them somehow, and that's with a name. We'll then select
an operating system version. And then from there, what we'll do is we'll pick an operating system
in this case, we'll pick CentOS 8.0, great for Linux, very similar to Red Hat.
So we'll click Next. Now, at this point, realistically speaking, we select our CPU cores.
Then we select our memory. Say we would want 16 gigabytes, for example, we'd select 16 gigabytes.
We'd select a hard drive size, so let's say 40 gigabytes. And then we would select the type
of networking we would use. And then we will select our operating system installation disc,
which we've installed in our data store browser and it is CentOS Stream 8.0. Now, the last thing
you're going to want to do is under CPU, you're going to want to enable Hardware Virtualization.
So you really want to make sure that all these three things are checked. The next thing you're
going to do is you're going to click Next. Now, at this point, we've actually created that server.
We'll create another one just so you can see it one more time.
We'll create a new virtual machine. We'll name it. We'll call it Test Server Two. Wait...
Spelling errors? Not that it would really matter, but it helps to have things nice,
clean and organized. And then we'll pick another CentOS version. We'll click Next,
we'll click Next. And of course we'll set it up. Now, let's say we want to give this
server more power. We can give this server eight cores. Let's say we want to give this server 32
gigabytes of RAM, we'll give it 32 gigabytes of RAM. We want to make the hard disk bigger this
time. We want to make it 75 gigs, we'll 75 gigs. Whatever we want it to be is going to be pulling
from the available resources that are sitting in that server. We'll click the host device.
From here we'll select the operating system installation disc. We'll click Next and Finish.
Now, at this point we've created the virtual machines and you can see the virtual machines
are there. So the only thing that's next to do on the server is to boot them up and
install the operating system. But I want you to see something before we do this. Let me
show you the actual server. So if you've not worked with server virtualization before,
you've never maybe have seen the actual bare metal server. So what we have is a server here for which
we've installed the VMware ESXI hypervisor. Now, you can note that the CPU is 0% utilized
and you can note that we have 123.3 gigabytes of free available DRAM. And you can see that we have
1.7 terabytes of storage. Now that's right now, because nothing's running on the server. If we use
a virtual machine and the virtual machine takes 32 gigs, it's going to pull it from that 123 gigs,
because it's shared just like that one pizza where we talked about when you... If you chop it up and
take off pieces and give pieces away, you have less. So we're going to see that as less memory.
Typically speaking in a server virtualization environment, people have terabytes of RAM in these
things because it's more Ram that's necessary than CPU cores, but that's server architecture and it's
way beyond the scope of what we're doing here today, but I just wanted to walk you through.
As you can see from this hypervisor, you can see what the server is. You can see who makes it,
the number of cores, the DRAM, but let's go back to our virtual machines. Now we're with our
virtual machines. Now let's boot up one of these virtual machines. So we're going to install the
CentOS operating system. I'm going to speed that install up. I'll walk you through the first part,
but I'm going to speed up the rest of it, and then we'll show you when it's completely booted.
Let's put up the server. Let's start it. Okay, here we go. Server's coming up. Make sure you
click inside that window to install the operating system. We're going to now install CentOS. Note,
it's going to boot just like a computer. We're now in the bio, so that computer now you can see the
operating system is being loaded from the image that CDDVD. Now you can see the installation's
going to start and now we're to pick our installation. So let the installer first begin.
And if those of you guys have never done a Linux install, this is exactly how you would do it.
So now we have the install screen. So first we're going to choose US English because we're in the US
and then we're going to click Continue. Now, sometimes
this takes a little bit. The next thing we need to do is tell it where we're going to
install it. So we're going to tell it the hard drive and it's going to be the VMware
virtual disc we created. Now, the next thing is we have to select a
server or server with [inaudible 00:15:10] or whatever operating systems desires are.
In practicality, you'll never use a server with a graphical user interface in Linux. You're going
to use a server. You're going to shut down for security purposes as many things as you can. And
that graphical interface is just one additional thing that can be hacked. So when you're
going to really lock down your systems, you're going to make it have as little open ports as
possible, as little opening service as possible. So we're going to run a bare metal server... Or
not a bare metal server, we're going to run a server, but nothing, no graphical install.
Next thing we're going to do is we're going to give it a root password.
This is going to be the password for this system.
So this is going to be the most secure one. Make sure it's a good password.
Then we'll click Done. Now, you may want to also make sure your network is turned
on and plugged in. Otherwise it won't get an IP address when it boots. Now at this point,
it's just installing the server. Now, what'll happen is the interfaces are going to be created,
the hard drives are going to be created. All these things are going to be done. And
then the packages will be installed. The [inaudible 00:16:32] will be installed.
The system will reboot and we will have a fully operational Linux server.
There you have it. The operating system has been completely installed.
Now it's time to reboot our CentOS server.
Now that we're on the console part, what we'll see is the server's going to reboot.
Notice it says VMware, and that's the bios that you would see instead of the traditional bios. Now
we're ready to reboot. Now we'll come and we'll watch the system boot just like any Linux server.
And we're up. There you see it, we went to a
server that had a VMware ESXi hypervisor installed. We created two virtual machines.
On one of the virtual machines we set up CentOS Stream 8 and we installed the operating system.
Thank you so much for watching this video on server virtualization and virtualization and
cloud computing. I hope you've enjoyed this video. We consider server virtualization to be one of the
critical cloud architect skills. So this is part of our Cloud Architect Fundamental Skills series.
Hope you've enjoyed this video and I look forward to seeing you in another video very soon.
It was so nice having you join us for this video today. Let me tell you about some free
services we do for the cloud community. Once per week we actually have a free
question and answer session on live on YouTube where you can come and ask us
any questions you want about building your career related to cloud computing
or networking, and we'll answer them in real time for you, because we want to get you to your goals.
Several more times per week, we have guests from industry. Industry experts that I've
known for decades that are movers and shakers that have changed the world, that can give you
information so you can build the best career. I invite them periodically. They are on my show.
If there's a chance to do some free training on our channel,
we'll do it live because we want you all to have the best skills for the best career.
So please subscribe and hit the bell.
I look forward to seeing you and I look forward to assisting you in your technology career.
Thank you so much. This is Michael Gibbs from Go Cloud Architects.