[MUSIC PLAYING]
CARTER MORGAN: Welcome to another episode
of "VM End-to-End," a show where we have a VM skeptic
and a VM enthusiast get together and hash out
all things VM related.
Brian, thanks again for coming in and spitting knowledge
at me.
BRIAN DORSEY: I'm so excited about this one.
Disks, disks, disks.
CARTER MORGAN: Yeah, you would--
I don't understand this.
I've been trying to figure this out for three episodes now.
What is it about disks that is so exciting for you?
BRIAN DORSEY: I think part of it,
for me, is that I think almost all useful systems have
to store their information somewhere, right?
Your system has a memory, and you care about the data.
Most of the time, that's on a disk somewhere,
or ends up on a disk in the end.
And so I think, for me, it's where systems get real.
And--
CARTER MORGAN: OK.
BRIAN DORSEY: --that's the big deal.
CARTER MORGAN: I could see that.
It's a fundamental unit of computing.
And so that's what's exciting.
BRIAN DORSEY: Yeah.
And on that unit, we think of them
as physical hard disks or maybe an SSD.
But let me turn this back on you.
In the cloud, in Compute Engine, what do you think a disk is?
CARTER MORGAN: OK.
All right.
Going back to a slice of a data-center model, to me,
a disk would be a bunch of pieces
from real physical machines spread out
over a data warehouse or a data center,
pulled together, and presented to me, the user,
as one logical disk that I can work with and operate on.
BRIAN DORSEY: Exactly.
Spot-on.
CARTER MORGAN: Yes.
BRIAN DORSEY: That is exactly it.
And in fact, some of that-- so it's a network-attached disk,
right?
And it speaks of a protocol.
And even physical disks, these days, speak of packet protocol.
So SATA is serial ATA.
And they talk about the blocks.
So here's a block of data, or give me that block of data.
And ours speak of similar protocol, but over the network,
to a group of disks.
CARTER MORGAN: So I guess, what is
it that's exciting about that, and especially
the network-attached part, because what I care about
is performance.
I care about backups and scalability.
I care about reliability more so than a fundamental unit
of computing.
Where do these disks sit in relation to those?
BRIAN DORSEY: Yeah.
OK.
This is a meaty question.
So I think, actually, let's talk about each of these in a row.
So performance, to start.
I think performance is tricky.
What does it mean to be fast?
And I think there's actually two different parts of that,
for disks.
One is throughput.
In a bulk, how much data can you copy over
a certain amount of time?
And the other is latency.
So how quickly can you get a response back
to a specific question?
CARTER MORGAN: Right.
It feels like a physical disk is going
to be faster than that because I don't have to communicate over
a network.
That seems like common sense to me.
BRIAN DORSEY: And I agree it seems like common sense.
And it's true for one and not for the other.
And it's weird why that is.
So as physical disks are getting faster over time--
sorry, as they're getting larger and faster--
but they're getting larger faster
than they're getting faster.
So there's more and more capacity on the disk.
And the window to read and write that
is not getting as big as fast.
So if you're talking over the network
to hundreds or thousands of disks,
you can actually get more overall throughput.
So the throughput side is an area
where we are actually faster than a single physical disk.
But sometimes-- there is a little extra step there.
So if you need the absolute lowest latency read,
you might need something faster.
So we have a product, local SSD, to do that.
CARTER MORGAN: And that's basically
just literally attaching a very fast hard drive to a machine.
BRIAN DORSEY: Yeah, it's a--
CARTER MORGAN: OK.
BRIAN DORSEY: --physical SSD on the host
that we are running your VM on.
CARTER MORGAN: OK.
So that seems, to me, like--
I come from video game programming.
So is it something I would use for maybe
an inventory-management system?
Something like, I recall items in inventory often.
Is that a good fit for this?
BRIAN DORSEY: It would seem like it, but I think, in this case,
probably not.
So the local SSDs are actually intended for temporary storage
because they are mapped to this physical host.
And we want our VMs to be long-lived and able to move
around.
So there are cases where we can't
have the data live as long as you might like on a local SSD.
So they're best fit for things like caches or data
that can be regenerated by processing or transcoding
workloads or things like that.
CARTER MORGAN: Intermediate calculations
in math or vectors or whatnot.
OK.
BRIAN DORSEY: Absolutely.
CARTER MORGAN: All right.
That makes a lot of sense, then.
So then what does Compute Engine offer
when it comes to different types of physical disks
or different types of PDs, persistent disks?
BRIAN DORSEY: Yeah.
I think there are multiple different types,
and I'm probably not going to go into all the details.
But the basic breakdown is an area
that I think you didn't hit here that I
think does matter to everybody.
And that's cost.
CARTER MORGAN: Oh, that's a big one.
Yeah.
BRIAN DORSEY: So it basically boils down
to a price-to-performance ratio.
So when you have a workload that is really
performance-sensitive, there are versions of persistent disks
that can hit that.
And they tend to be a little more expensive.
And if you've got a workload that is mostly
about storing information, and you don't access it that often,
there are less expensive modes of PD to do that.
CARTER MORGAN: And that makes sense to me.
If I was a small-business owner, I
might not need the speed and scale
that, say, a company like the size of Google
would operate at.
BRIAN DORSEY: And--
CARTER MORGAN: So then--
BRIAN DORSEY: Sorry, I just cut you off there.
CARTER MORGAN: --to not get into-- oh--
BRIAN DORSEY: But--
CARTER MORGAN: Mm-hmm.
BRIAN DORSEY: --to that point, I think lots of workloads need
both as--
or, systems need both.
You've got a long-term storage and a high-speed portion
as well.
CARTER MORGAN: OK.
That's actually a really good point.
So then, OK, talking about systems--
and like you said, in systems in the while
might need two types of disk.
What about backing up these kind of systems
that are in production?
Do these virtual-network disks actually
help with reliability or backing up data?
BRIAN DORSEY: A lot.
Absolutely.
So like you said, it's this logical collection of blocks,
right?
So in many ways, I think it's like having
most of a SAN, a storage area network.
So you get most of the features you would want from that.
And by that, I mean you can take a snapshot of a disk, which
makes a point-in-time copy without slowing the disk down.
So you can make backups of live systems any time you want.
And the other thing you can do is,
you can take an existing disk, and you can just
make it larger, even while it's connected to a machine.
I feel like everybody has run out of disk space
at some point.
CARTER MORGAN: I have a laptop, and it's run out of space.
And there's nothing I can really do about it
other than plugging in an extra hard drive.
So that's a feature that makes a lot of sense to me.
You said something earlier about snapshots and whatnot, though.
And I'm curious, what's exciting about that?
How does that become usable in a production system?
BRIAN DORSEY: So there's the straight-up backup use case,
which I think is important.
But then one of the big ways we scale computers these days is--
there's vertical, and there's horizontal, right?
So vertical might be like making the disk bigger,
like we talked about.
And then horizontal is, add more computers to the mix doing it.
And so if you have a computer that's
set up the way you want it to work,
you can take a snapshot of that.
And then you can make multiple images
of that that are running on multiple machines
and have them work as a group to do the work.
CARTER MORGAN: OK.
That is actually really cool, because you're
going to get reliability and consistency there.
You're not going to get human errors.
BRIAN DORSEY: Yeah.
CARTER MORGAN: I am a huge fan of that.
Is there anything else there that you want to touch on?
Because, like you said, you're going to get backups from this.
You're going to be able to scale vertically and horizontally
from this.
I feel like those are some really big benefits to disks
and why they're useful, and even more
useful than having a physical non-cloud-native disk.
So what do we need to follow up with in the future?
We said cost.
BRIAN DORSEY: Yeah.
CARTER MORGAN: I missed cost, and that's really important.
So let's definitely have an episode on cost.
What else am I missing?
BRIAN DORSEY: I think a whole episode there makes sense.
And then, I think, with the scaling stuff,
you get more moving parts, right?
So if you go horizontal, you'll have more computers.
You'll have more disks.
You start-- need to think about networking patterns.
And so it's useful to have some automation
to set that up and configure it in a consistent way.
CARTER MORGAN: Yeah, and I'm actually
excited about that because I'm a big fan of automating
as much as I can.
I make mistakes.
I don't want to risk it.
Brian, thanks again for just taking the time.
I've got to admit, slowly, you're
winning me over, because--
BRIAN DORSEY: Love it.
CARTER MORGAN: --there seems to be a lot of benefits.
Thank you.
That's all for us this episode.
If you're watching this at home, let me know anything
that you think we missed talking about or anything
that you thought was very cool.
I'm getting won over right now.
Are you with me or no?
Let us know in the comments below.
[MUSIC PLAYING]