[MUSIC PLAYING]
CARTER MORGAN: My team asked me to research VMs and see
how they compare to other cloud-native approaches
like microservices, containers, serverless,
and to be honest with you, I am not excited about it at all,
so I brought in someone who is.
Brian, resident VM expert.
BRIAN DORSEY: Hello, hello!
I'm super happy to be here because I
am really excited about VMs.
CARTER MORGAN: How?
See, this is why I wanted to bring you here.
I don't understand.
How can you be so excited about VMs already?
BRIAN DORSEY: How can you not?
It is like the best of both worlds.
You know, you've got a stable, reliable system
you can run anything on, and you're in the Cloud,
close to all of the new features and you
get new automation tooling.
CARTER MORGAN: See, that's what I'm kind of skeptical about.
When I think about modern systems or anything like that,
I'm not sure that a VM can provide me with those.
BRIAN DORSEY: OK.
Well, let's be kind of specific there.
What do you mean by a modern system?
CARTER MORGAN: When I think about a modern system I think
about things like modularity, I think about scalability
and reliability.
I want automation.
I don't want to have to do everything manually.
I even think about portability and being
able to move my workflows whatever they need to go.
So I want things to just kind of work too,
and I don't want to have to do everything myself.
BRIAN DORSEY: Got it.
CARTER MORGAN: Is that something I can get with a VM?
BRIAN DORSEY: Yeah, great, because I actually
think we can get most of that.
And I kind of wonder why not?
So let's go one level deeper and then we'll come back out.
So in your mind, what is a VM?
CARTER MORGAN: Oh.
You're putting me on the spot, Brian.
OK.
A VM is-- it's a computer, but it's a virtualization.
It's a slice of a computer.
And so what it lets you do is it lets you run multiple operating
systems on one machine.
So it looks like you have multiple machines running
on one physical machine.
BRIAN DORSEY: Yep.
Absolutely.
And in the Cloud, kind of not.
CARTER MORGAN: Oh.
What?
BRIAN DORSEY: Yeah, so here's why I say not.
So the abstractions are all there, right?
So you've got memory, CPU, disk, networking.
And instead of from one computer, in the Cloud,
that's coming from all of the computers in a data center.
So the CPU is coming from a lot of machines.
The networking is from the whole data center.
And so I like to think about it as instead
of a slice of a computer, it's a slice of the data center.
CARTER MORGAN: Instead of a slice of a computer,
it's a slice of a data center.
That sounds interesting, impressive, even,
but also abstract.
So do you have some examples of--
maybe you can get from a Cloud VM that you can't get from a VM
on one machine?
BRIAN DORSEY: So my turn to be specific.
Yeah, so I think one example is like bin packing.
So you talk about these VMs, and they're different shapes.
So you have one that needs a lot of CPU,
another needs a lot of memory.
Maybe you've got a bunch of them need a lot of CPU,
and they don't fit so well in the same box
without kind of orphaning some of the memory or CPU.
And if you're running those in a whole data center,
you know, or you can basically just leave
it to Google to solve that problem,
you can just have whatever shape machine you want,
and we'll figure out where to put it.
And basically, that lets you customize your machines
to exactly what you need.
CARTER MORGAN: OK, that's very interesting,
because that's a hard problem.
And so if you can just let Google
handle where your workloads are going to go,
that's a good benefit.
If that's the only benefit of Cloud VMs,
though, I'm not sure I'm sold on them over other approaches.
BRIAN DORSEY: OK.
CARTER MORGAN: Is there anything else we got?
BRIAN DORSEY: Absolutely.
There's a ton of stuff we could talk about in terms
of automation and other things.
But I think another really concrete kind
of specific example is disks, and it's kind of my favorite
there.
Because you think of a physical disk,
and you read and write blocks from it, right?
It's a block device.
In the data center level, those blocks
could be on hundreds or thousands
of different machines.
And so all of them are working together
to give you more reliability and make
things smoother, more predictable in terms
of performance.
So what you get out of it is something
that looks a lot like a SAN.
You can take backups of disks that are running, even.
Or you can-- if you run out space,
like I think almost all of us have,
you can just make the disk bigger.
So things like that.
CARTER MORGAN: That's impressive, especially
like you're saying, if you're going to run and just scale
up, scale down, or resize.
OK, then another very targeted question.
It's going to sound like a dig, I don't mean it to.
Google's putting a lot of effort and resources
in the Google containers end.
And so is Google even still investing in VMs?
BRIAN DORSEY: I mean, absolutely.
Where do you think these containers run?
Like, so every Kubernetes cluster
is running on top of a whole bunch of VMs, right?
And so everything you learn about VMs
applies to those clusters that you're running.
And also another example is our managed databases, so Cloud
SQL.
So if you're running Postgres or MySQL on Cloud SQL,
that's running on VMs.
And there's a bunch of other examples too.
CARTER MORGAN: I can't get away from VMs even if I tried,
it sounds like.
BRIAN DORSEY: Nope.
CARTER MORGAN: OK.
The way you're saying that is making me
think that maybe, maybe I need to rethink
my idea that VMs are just old, dusty pieces of technology.
So I want to be clear, definitively,
are you saying that VMs have a place in a cloud-native future?
BRIAN DORSEY: Absolutely.
So I want to kind of take old and dusty,
and turn that into mature and reliable, right?
And then the future part, so all these things
are built on top of it, and we're
building new things over time.
So we've got tools for scaling clusters
of machines up and down.
That's using Kubernetes, but you can use it directly.
And we keep investing and doing more and more things there,
so absolutely part of the future as well.
CARTER MORGAN: So, OK.
And then what about if I wanted to switch to them?
You know, I'm pretty familiar with Kubernetes.
It's fairly easy to get started.
What about with a VM?
Is it going to take me years to get started on these?
BRIAN DORSEY: No, I mean it's just a computer.
So basically, anything that's already running on a computer
somewhere, even if you don't have
the team who built it nearby, you can run that on a VM.
And in turn, you can run on a Cloud VM
and get a bunch of the Cloud benefits as well.
CARTER MORGAN: All right, I must admit that you've
swayed me a little bit.
I'm still skeptical, but what you said made a lot of sense.
I still have a lot of questions.
I want to know about keeping costs down.
I want to know about how do I update VMs?
I have this idea in my head that they're really
slow to start and stop.
Staple data, I'm curious about that, you know?
BRIAN DORSEY: Awesome, how much time do you have?
CARTER MORGAN: All right, you know what?
Let's have this convo another day,
and maybe, just maybe, we can agree
that VMs do matter in a cloud-native future.
[MUSIC PLAYING]