Speaker 1: Brought to you by the reinvented two thousand twelve camera.
Speaker 1: It's ready. Are you get in touch with technology? With
Speaker 1: tech Stuff from how stuff works dot com. Hello, everybody,
Speaker 1: welcome to tech stuff. My name is Chris Palette. I'm
Speaker 1: an editor here at how Stuff Works. Sitting next to
Speaker 1: me as usual as senior writer Jonathan Strickland. Hey there,
Speaker 1: and today we're going to talk about virtual machines. Yeah,
Speaker 1: and this is a topic that, uh, that a lot
Speaker 1: of people were kind of curious about. We've got a
Speaker 1: couple of emails about virtual machines and exactly what are
Speaker 1: they and why use them? Um? And it is kind
Speaker 1: of confusing. You think of the word virtual, it means
Speaker 1: it's it's not a physical thing. It just kind of
Speaker 1: virtually exists. So how is that even possible? Well, it
Speaker 1: all has to do with special software, which is fittingly
Speaker 1: called virtualization software. Yeah, I'm guessing that this giant cardboard
Speaker 1: box that I have painted how home and says that
Speaker 1: it's a supercomputer, that's not that doesn't count as a
Speaker 1: virtual machine in the classical sense. In the three year
Speaker 1: old let's play pretend sense you you are aces. It
Speaker 1: was cranking out billions of virtual pedophlops. I'm sure it was,
Speaker 1: but for real quote unquote virtual machines. We're talking about
Speaker 1: special software that essentially partitions of physical machines resources in
Speaker 1: such a way that you can run multiple instances of
Speaker 1: operating systems if you like, or applications that are completely
Speaker 1: independent of one another. There's no there's no real risk
Speaker 1: of them interfering with each other. And um, so you're
Speaker 1: using one physical machine to run multiple instances of some
Speaker 1: sort of application. Uh, that's that's the basic premise. Um,
Speaker 1: why is this important? Well, it's because as the Web
Speaker 1: has evolved, things have gotten really complicated. A lot of
Speaker 1: websites run multi both services, and sometimes these services need
Speaker 1: to use multiple applications. Um, well, it turns out that
Speaker 1: some applications don't work well with others, and if you
Speaker 1: try and run multiple applications on one server, you get crashes.
Speaker 1: Right yeah, I mean so you don't want that to happen. Yeah.
Speaker 1: You also might know this. In another word, you may
Speaker 1: not have known what it was environment. Um, just imagine
Speaker 1: it as a little you know, pretend world on a
Speaker 1: on your web browser might be Java for instance, Right, Yeah,
Speaker 1: that's a good example. Java is as a program pro
Speaker 1: proglamming language. It could be it's very proglam um David, Yeah, exactly. UM.
Speaker 1: That was created by son uh and uh. Basically, you
Speaker 1: when you have Java installed on your computer and you
Speaker 1: go to a, um a website that has Java plug
Speaker 1: in on. It might be, for example, a gaming site.
Speaker 1: You want to play a casual game on your your machine,
Speaker 1: and you go to that thing. You know, all of
Speaker 1: a sudden, you see this thing and it's loading inside
Speaker 1: your window has a little box and it's you know,
Speaker 1: it gives you You might see, especially with Java, the
Speaker 1: orange Java window and it just you know, scrolls open
Speaker 1: and then all of a sudden, whatever it is that
Speaker 1: you're trying to do pops up. Well, that's Java running
Speaker 1: on a virtual machine inside your browser window whatever. You know,
Speaker 1: whether you're using Windows or Linux or or Mac. There
Speaker 1: it is. You know, it's it's a machine inside a machine. Yeah.
Speaker 1: And you might wonder, well, why would you even worry
Speaker 1: about having a machine inside a machine in the first place. Well,
Speaker 1: ideally you would have a single server for every single
Speaker 1: application that you want to run in your service. UM.
Speaker 1: That way you can make sure that one, no, two
Speaker 1: applications are going to interfere with one another. You don't
Speaker 1: have to worry about a server running two of them
Speaker 1: at the same time. Um too, if there's a problem,
Speaker 1: you can actually find out where the problem is very
Speaker 1: quickly because if it's a specific application going down, you
Speaker 1: know which server that belongs to, Like, well, this this
Speaker 1: is the server that runs process A. If Process A
Speaker 1: is going haywire, you know to go to that particular server.
Speaker 1: But here's the problem is that if you've got tons
Speaker 1: and tons and tons of applications, or you have a
Speaker 1: really large operation like let's say I don't know Google,
Speaker 1: that's a good example. Google has thousands of these servers. Well,
Speaker 1: if you do a single server per application in an
Speaker 1: environment like Google, then you would need even more space,
Speaker 1: tons and tons of space and resources physical resources like
Speaker 1: not just the storage facility, but you know, your power
Speaker 1: consumption and uh and cooling systems, things that you need
Speaker 1: to have in order to make servers run properly. Uh.
Speaker 1: But if you were to, you know, look at most
Speaker 1: of these servers running applications, you would notice that the
Speaker 1: servers have become really really power a full, and most
Speaker 1: of them are not running anywhere near capacity like a
Speaker 1: single application takes up only a fraction of the servers
Speaker 1: uh processing power, so you're not really using your physical
Speaker 1: machines to the extent that you need to. The solution
Speaker 1: is virtualization. If you can create a virtual partition within
Speaker 1: that machine so that it can run two different operating systems,
Speaker 1: or even two of the same operating system It doesn't
Speaker 1: have to be different, um, but if it can run
Speaker 1: two of these environments at the same time, you you
Speaker 1: are maximizing that servers resource use. So that way you
Speaker 1: don't have to worry about, Okay, well this servers only
Speaker 1: running at twelve percent capacity. The other great thing about
Speaker 1: it is that, well that means that suddenly you don't
Speaker 1: need all this space anymore. You can run that that
Speaker 1: operation with let's say a thousand servers instead of five
Speaker 1: thousand servers. Now we are talking about huge numbers here,
Speaker 1: but the same thing applies on smaller scales. So operations
Speaker 1: that would only need five or six servers may only
Speaker 1: need two or three. Now there that's the that's the
Speaker 1: broad view of this. But there are some caveats to this. Yeah,
Speaker 1: for instance, you shouldn't max out your server. No, that's
Speaker 1: never a good thing. You're gonna overtax it and it's
Speaker 1: going to make it work even less reliably. Right yeah
Speaker 1: so you so, while it's possible to maybe create multiple
Speaker 1: virtual servers or virtual machines even on a PC, this
Speaker 1: is not just for servers. You can do it with
Speaker 1: PCs two. Um, even though you could do multiple ones,
Speaker 1: you have to remember every single time you do this,
Speaker 1: you're partitioning off part of that computer's resources. So the
Speaker 1: computer as a whole has less you know, each each
Speaker 1: individual instance has has only a fraction of the main
Speaker 1: computers resources. Eventually get to a point where you know
Speaker 1: you have the diminishing law of returns. You know you're
Speaker 1: not or law of diminishing returns, I should say, you don't. Uh,
Speaker 1: you don't get enough output to justified partitioning up the
Speaker 1: server anymore than you already have. Right and um, you
Speaker 1: know that that also applies to desktop computers as well.
Speaker 1: I mean you can you can set up your your
Speaker 1: desktop computer to uh well, depending on what model you have,
Speaker 1: UM to run more than one operating system or multiple
Speaker 1: instances of an operating system. UM. You know, Mac users,
Speaker 1: especially the Intel Mac users, are very familiar with this now,
Speaker 1: or at least a lot of them are because um,
Speaker 1: the Intel Max can run different operating systems, and just
Speaker 1: the mac os that can also run Windows and they
Speaker 1: can run Linux. UM, if you are so inclined, you
Speaker 1: can uh install all three operating systems. Of course, you
Speaker 1: have to partition to hard drive. Was you know what
Speaker 1: Jonathan was saying before. You have to make a separate
Speaker 1: section for each of those. And if you're running software
Speaker 1: like UM against Son's Virtual Box or vm Ware's Fusion
Speaker 1: or Parallels desktop, you can actually access those other operating
Speaker 1: systems at the same time in a virtual environment right
Speaker 1: there on the desktop, and you can you can use
Speaker 1: them at the same time. Now, of course they're all
Speaker 1: using again Jonathan said, the same processor at the same time,
Speaker 1: and after a while it's going to overtax things. But um,
Speaker 1: it is possible to do and you can do this
Speaker 1: on a on a regular Windows box to m vm
Speaker 1: Ware also makes a workstation which I believe allows you
Speaker 1: to run different environments at the same time as well. Sure,
Speaker 1: and there are even businesses that have made an entire
Speaker 1: business model out of this. There's one called in Computing
Speaker 1: in as a name. UM. I went to the Consumer
Speaker 1: Electronics Show this last year two thousand nine, and I
Speaker 1: met with the president of in Computing and it was
Speaker 1: a fascinating tour of the booth. It was one of
Speaker 1: those very small booths all the way, something I probably
Speaker 1: never would have seen. But I received an email and
Speaker 1: I thought, this sounds really interesting. I'm going to take
Speaker 1: some time and go to this, and I'm really glad
Speaker 1: I did. Now in Computing what they've done is they've
Speaker 1: found a system where you can partition up a regular
Speaker 1: PC so that you can create multiple workstations that all
Speaker 1: share that one PCs resources. It's just like the old
Speaker 1: time sharing model on supercomputers. You have to sit there
Speaker 1: and listen to a long winded sales pitch and you know,
Speaker 1: maybe you'll get a free car. I didn't, but then
Speaker 1: I'm pressed, so um no, no, it was. It was
Speaker 1: really a great UH booth tour. But time sharing, for
Speaker 1: those of you who are wondering, that was a system
Speaker 1: where you had a supercomputer. It was a centralized computer,
Speaker 1: and then you had a bunch of dumb terminals, which
Speaker 1: means the terminals didn't have any real native processing power.
Speaker 1: It was just an access point for the user to
Speaker 1: get access to the processing power that was in the supercomputer,
Speaker 1: so you could have multiple people working on this at
Speaker 1: the same time. Now with the supercomputer was a little different.
Speaker 1: It wasn't all partitioned. It was that the computer would
Speaker 1: handle each task separately in time in sequence. So let's
Speaker 1: say Johnny says I need this information, and then he
Speaker 1: says I need this information, while the supercomputer would answer
Speaker 1: Johnny's first and then Susie's. But it was so fast
Speaker 1: that it seemed like it was instantaneous, like it was
Speaker 1: all simultaneously happening at you know, So it seemed like
Speaker 1: the same sort of thing. Now, what in computing does
Speaker 1: is it? It partitions up PCs um and depending on
Speaker 1: which series you have, Like if you have the X series,
Speaker 1: I think it's the five fifty, I think up to
Speaker 1: eleven users can be using the same PC at the
Speaker 1: same time. Now each person has their own monitor, keyboard, mouse,
Speaker 1: that kind of thing. But they attached to a little
Speaker 1: module which in turn attaches to the mother PC. And
Speaker 1: then if you were to get them the L series,
Speaker 1: did I say that? Ll serious? That was the X series.
Speaker 1: The L series is up to thirty users on one
Speaker 1: PC and it runs through Ethernet chords. You you connect
Speaker 1: Ethernet cable to the little module which you know, your
Speaker 1: monitor and your keyboard plug into, connect that to the
Speaker 1: host PC. So in computing's ideas, well, this is a
Speaker 1: good way to uh to bring computers into schools in
Speaker 1: like developing nations where they can't necessarily afford a computer
Speaker 1: for every student, but they can afford one decent computer
Speaker 1: and then this system which will allow up to thirty
Speaker 1: people to access that computer's resources. Um. Now, of course
Speaker 1: it can only run applications that aren't going to over
Speaker 1: tax that computer. You're not gonna see a lot of
Speaker 1: call of duty being played on these terminals. But word processors, spreadsheets,
Speaker 1: that's gonna that's easy. So it's it sounds like between
Speaker 1: you know, virtualization and cloud computing that we're we're we
Speaker 1: may be headed into a world where um, there is
Speaker 1: centralized processing power and centralized applications and people are just
Speaker 1: using uh, dumber and dumber terminals and you know, things
Speaker 1: like netbooks that have slower processors and less RAM and
Speaker 1: basically trusting the the cloud to handle all the application
Speaker 1: than all the heavy lifting. Yeah, do you do you
Speaker 1: really think that that's the way it's all going to go?
Speaker 1: Or I mean, is this just sort of an application
Speaker 1: per application used like the the Third World education? Momow,
Speaker 1: what a great question. It really turned it around on
Speaker 1: either pullet. But no, I have an answer for this. Okay,
Speaker 1: this is one of my favorite topics to talk about,
Speaker 1: so of course I have an answer for this. Um. Now,
Speaker 1: of course, this this is my own personal opinion about
Speaker 1: about how things are going. I think the economic downturn
Speaker 1: was the best thing that could happen to netbooks because
Speaker 1: it meant that consumers were looking at computers and they
Speaker 1: were saying, well, you know, I still need to get
Speaker 1: a computer for my my son or my daughter who's
Speaker 1: going off to college, or I really need a new computer,
Speaker 1: but I can't afford to buy the latest and greatest.
Speaker 1: And yeah, that new I seven processor looks amazing, but
Speaker 1: I just can't afford that kind of computer, or or
Speaker 1: that new Mac that's thirty three hundred dollars. Did you
Speaker 1: see that that came out today and with it yeah
Speaker 1: z on um, Yeah, the Mac Pro. Not everyone can
Speaker 1: spend that much, so they're looking at other options. Now.
Speaker 1: I think if the consumer realizes that the netbooks do
Speaker 1: not have this native processing ability and that they will
Speaker 1: really need to rely upon the cloud to get that
Speaker 1: kind of processing done. If they realize that and they're
Speaker 1: okay with that, Yeah, I think this is the future.
Speaker 1: I think that mass market in general will move to
Speaker 1: netbooks and what we would traditionally call underpowered PCs. UM,
Speaker 1: you will still have niche markets that will not move
Speaker 1: to that. UM. For instance, anyone who's doing massive media editing,
Speaker 1: they can't do that. You can't really poured everything off
Speaker 1: to the cloud. UM. Same thing with gamers. I mean,
Speaker 1: gamers are gonna need to have that super fast processor
Speaker 1: and that the huge hard drive and all of the
Speaker 1: bells and whistles. So that's still going to be there. UM.
Speaker 1: The question is if those markets are large enough to
Speaker 1: keep that development process going at full speed. That question,
Speaker 1: I don't know the answer to that. We're gonna have
Speaker 1: to see. I'm actually kind of worried about that because
Speaker 1: it may mean that we that War's Law suddenly doesn't
Speaker 1: apply because the the incentive to always be developing at
Speaker 1: the fastest space possible is gonna possibly go away, right right,
Speaker 1: But you know it'll all be virtual at that point,
Speaker 1: so yeah, so who will you know? And there's there's
Speaker 1: actually a good point there. I mean, you're kind of
Speaker 1: smirking at me and making a joke, but that's that's
Speaker 1: a good No, It really is a good point because
Speaker 1: when you think about it, these servers that are running
Speaker 1: all the processes, they still have to be fast. So
Speaker 1: there's still a market for fast processors. It's just that
Speaker 1: that market may switch to the business end, not to
Speaker 1: the consumer end. You know, it's possible too that that
Speaker 1: may