字幕表 動画を再生する
TONY VOELLM: I head up the Google Cloud Security
Performance and Test Team.
I've been working on Cloud for over two
years now up in Seattle.
And don't let my title fool you.
It says "Engineering Manager," but managers
at Google are different.
I really do get my hands down in the code.
In fact, I checked something in last week, and about five
minutes later, somebody on my team fixed it and checked it
in again, so.
[LAUGHTER]
TONY VOELLM: I've done a bunch for Cloud.
Some of the things that are externally visible for Cloud
is I created the Google Compute Engine Units--
GCEUs.
And we'll talk more about what Google
Compute Engine is later.
Being the engineer I am, I thought, wow, GCEU, it's
really cool.
We should call that GQs, because who doesn't want GQs--
or, which engineer doesn't want to be GQ.
And now you know why I'm an engineer.
OK, great.
So here's what we're going to do.
We're going to talk about cloud computing.
So I'm going to take a quick step back, talk a little bit
about what cloud computing is.
I'll take you through some history about how we got to
where we are today in 2013.
This is a history of cloud computing.
Then I will definitely take you through the Google Cloud.
I'll give you pivots of what the Google Cloud looks like,
how we think about it, how the industry thinks about it.
I'll run through a series of demos.
And then, to prove I'm an engineer, I'm going to take
you through the pitfalls.
And this is how you know I'm not a marketing person,
because a, my slides are not pretty; and b, I'm going to
tell you why things may not work for you
from time to time.
And in the end, I'll just wrap it up with
the Team and questions.
So with that, let's dive in.
So what is cloud computing?
It's a good question.
I had this question two years ago.
And in fact, I probably still have this question today.
But one of things that I did to try to figure out what this
industry is, is I started looking different places.
I go do web research, Google search.
I looked up at How Stuff Works, and they had a really
interesting definition.
They talk about remote machines owned by another
company, and like maybe your email and word processing
would be out there.
And this seems like a really dated definition, but it's
actually still fairly accurate.
I did things like go out to conferences, because there are
several conferences that happen throughout the year
around cloud computing.
And in there, you'll see interesting terms, like Hadoop
elastic environments, grid software--
there's all these terms that start to pop up.
I even went out and started to survey my peers at Google,
like, what do you think cloud computing is?
And you can see down here, they start talking about, oh,
it's this computation that you can do in the cloud.
You don't have to worry about stuff.
So what I did is I said, OK, well, with any definition,
let's pull together the properties of cloud computing,
because there's certain things we're hearing often in these
definitions.
You know, one was nothing--
nobody cares where it is.
Everything's accessed over a network.
So cloud computing is something that
happens in the network.
That's sort of like the beginning of what cloud
computing is.
The second part is a really important
part, which is utility.
You can turn it on or off.
You pay for what you use.
And when it's not on, you turn it off.
It's like a light switch.
So if I want a database now, I have a database.
And if I don't want a database in five minutes from now, I
turn it off, and I'm not paying for it.
There's an elastic component where resources grow and
shrink on demand.
And you've seen this many times across like YouTube
scalability.
We broadcast the Olympics.
And whether one user is watching, or 8 million users
are watching, it all seems to work.
And so there's this elastic component on the cloud that.
grows and shrinks on demand.
For sure, it's programmable.
Programability is an important aspect of Cloud.
And then access control models.
So here's where there's some pieces we'll talk about later,
where like software as a service, versus you developing
your own code.
And platform and infrastructure as a service
layers, where access models are different.
There's some models where the end user owns the control, and
there's some where the person providing the
service owns the control.
But there's some method of controlling
access to data and resources.
And while not required, there's this thing that often
comes up, which is multi-tenant.
Your workloads run side-by-side
with somebody else's.
Some companies, this can be concerning--
why is Company A and Company B running on the same server?
We're competitors.
We don't want our data anywhere near each other.
And it's really the cloud providers that create this
partition or this barrier between those workloads.
So there's no flow of data from one to the other.
And this is called multi-tenancy.
So I tried to be really smart.
I'm like, OK, that sounds really good.
So let me give a definition of cloud computing that tries to
roll in all these sources of information.
And my definition is it's a set of programmable resources
that's pay-per-use.
It happens over a network.
It's elastic.
And it removes the developer from having to worry about the
hardware resources, the operating system, or all these
minutias that she doesn't want to worry about.
And she can just focus on delivering the application
that she wants.
And it's there, and it grows and shrinks on demand.
So that's my definition.
So that's cloud computing in a nutshell.
So here's a little mini-quiz.
So I'll just take a quick show hands.
I'm only going to go through a couple of questions to see if
things are already resonating with everybody here.
So is Gmail cloud computing?
Yes.
It could depend on perspective.
One perspective is Gmail is a hosted software service that
companies can buy.
You can buy Gmail.
And for some nominal fee per month, you can host your
mailbox there.
So on the upper end of software as a service--
this is where Google started--
yes, Gmail, I would say, is cloud computing.
Now what about hosting Python applications.
Is that--
show of hands-- is that cloud computing?
Yes.
Yeah, it has the programmable aspect we talked about.
It's elastic.
This is where Google App Engine enters the picture.
Here, let's try one more.
Are physical servers hosted by a hoster--
is that cloud computing?
Yeah, it depends.
Yeah, this is the one that gets sort of tricky is--
if you can on demand request these servers, and have them
go away on demand, then you sort of enter into the cloud
computing, versus just pure hosting.
We tried this whole thing in the '90s called application
hosting and server hosting.
And so, what's different today is this
whole elastic component.
And you might be thinking already, like,
why is all this important?
Why is this definition of cloud computing important?
And so I asked that question, too, actually.