►
From YouTube: Mete Atamel - Node.js Live London
Description
Mete Atamel, who is a dev advocate at Google for Google Cloud, discusses how to get the best out of your Node.js app on Google Cloud.
A
It's
great
to
be
here
so
many
like
no
people
here.
It
always
brings
me
happy.
So
today's
talk
is
about
no
chase
on
Google
Cloud,
a
little
information
about
myself
I'm,
a
developer
advocate
at
Google
I
have
a
blog
and
Twitter.
So
if
you
have
any
questions
about
not
just
running
on
google
cloud
or
anything,
I
say
here
today,
please
feel
free
to
reach
out
to
me
because
part
of
my
job
is
to
basically
educate
people
about
what
google
cloud
is
and
how
not
just
works
on
google
cloud.
A
But
at
the
same
time
I
like
to
hear
from
people
their
experiences
if
they
use
google
cloud
and
if
what
works,
what
doesn't
work
so,
please,
let
me
know
this
talk.
I
gave
it
in
other
places
and
it's
supposed
to
be
15
minutes
so,
but
here
I
have
20
minutes,
so
I
will
shrink
it
I'll
skip
some
parts,
but
hopefully
I'll
get
across
the
main
points.
So
the
main
goal
that
I
want
to
get
out
of
here
is
that
what
can
google
cloud
do
for
my
node.js
application?
A
You
know
today
you
have
lots
of
choice
when
it
comes
to
cloud.
You
have
a
sure
you
have
amazon.
Now
you
have
a
google
cloud,
so
hosting
not
j/s
in
the
card
is
not
a
big
deal
anymore.
You
can
do
it
in
many
places,
but
why
should
you
do
it
on
google
cloud
and
what
value
add
we
we
give
to
your
basically,
let's
test
the
goal
that
I
want
to
answer
here.
A
So
the
first
part
of
the
talk
will
be
like
introduction
to
not
j
s,
but
I
don't
have
to
introduce
that
to
you
because
you
guys
are
all
not
just
people,
so
we
can
skip
that.
Then
I'll
talk
about
google
cloud
a
little
bit
and
then
I'm
going
to
show
you
a
hello
world,
node.js
application
and
how
you
can
put
that
into
google
cloud
on
App
Engine
and
then
once
you
put
that
on
App
Engine,
what
do
you
get?
You
have
free
versioning.
You
get
free
traffic
splitting.
A
So
we'll
take
a
look
at
that
how
that
works,
and
then,
once
you
put
your
application
in
App
Engine,
it's
very
portable,
because
it's
a
docker
image,
you
can
take
the
docker
image
and
host
it
anywhere.
You
want
so
I'll
talk
about
that.
A
little
bit
and
then
I'm
going
to
show
you
a
fun
application,
called
cats
and
then
we're
going
to
do
live
debugging
and
tracing
o
clock
as
if
the
Wi-Fi
works.
So
that's
the
plan,
all
right
so
I
can
skip
this.
Basically,
not
jess
is
great
and
you
guys
know
it.
A
A
So
all
the
improvements
that
Google
has
been
doing
on
v8
engine
has
been
helping,
know
Jess
indirectly,
now
with
google
cloud
we
are
actually
helping
it
now
directly
like
so
we
are
building
a
great
environment
for
your
know,
Jess
application
and
we
are
building
all
the
managed
services
and
NP
is
for
you
to
use
so
both
on
the
client
site,
improvements
and
owned.
The
service
I
said
influence.
A
We
are
trying
to
make
google
cloud
the
place
to
run
your
node.js
application
and
at
Google
we
want
to
make
this
even
better,
so
we
are
really
committed
to
not
j
s.
So
what
do
you
have
in
google
cloud?
So
at
the
top
level
you
have
app
engine,
so
App
Engine.
You
can
think
of
it
as
fully
managed
service.
So
you
just
write
your
note
chase
application
and
it's
not
just
not
just
you
can
write
your
java
application
and
write
your
goal
application.
A
So
you
basically
write
your
code
and
deploy
it
and
we
take
care
of
the
infrastructure
for
you.
So
you
don't
have
to
worry
about
where
it
runs.
You
don't
have
to
worry
about
how
many
machines
you
have.
We
take
care
of
scaling
it
for
you,
so
that's
kind
of
like
the
easiest
way
to
get
started
in
the
cloud.
Now
at
the
bottom
layer
we
had
compute
engine,
so
compute
engine
is
basically
just
VMs
running
in
the
cloud
so
yeah
we
linux
and
windows
VMS.
A
So
if
you
are
used
to
working
in
the
ends-
and
you
have
something
running
in
VMs
and
you're
happy
with
you
know
maintaining
that
vm,
you
know
doing
doing
the
upgrades
and
versions
and
stuff
like
that,
then
you
can
just
take
that
and
put
it
in
google
cloud
and
then
it
will
just
work
in
compute
engine
and
then
somewhere
in
biddo
in
the
middle.
We
have
container
engine.
A
So
if
you
already
made
the
switch
from
regular
apps
to
containers
you're
going
to
have
lots
of
containers-
and
it's
and
at
some
point
you
need
to
make-
you
know-
need
to
maintain
those
containers.
So
there's
something
called
cuban.
It
is,
which
is
an
open
source
project
that
google
supports.
So
we
we
have
a
managed
humanities
cluster
for
you
to
deploy
your
kubernetes
cluster.
So
that's
contain
your
engine.
A
So
these
are
the
options
that
you
have
I'm
going
to
talk
about
App
Engine
today
for
no
chest,
because
it's
the
easiest
way
to
get
started,
but
but
I
just
want
you
to
let
you
know
that
you
have
options,
different
options
defined
what
you
want
to
do
all
right.
So
how
do
you
deploy
your
node.js
application
to
google
cloud?
As
I
said,
the
easiest
ways
app
engine
app
engine
has
two
flavors
standard
and
flexible.
I
won't
get
into
details
of
what
the
difference
is.
A
So
it's
basically
just
an
express
app.
You
know
in
if
you
use
Express
the
Express
generator,
where
you
can
just
create
a
skeleton
skeleton
projects.
So
if
I
I
did
that
already
here
before
the
talk,
so
if
I
started
and
look
at
it
here,
localhost
I
think
it's
3000,
so
it
just
it's
as
expressed,
welcome
to
express
there's
nothing
fancy
about
it.
So
if
you
want
to
take
this
app
and
push
the
Google
cloud,
all
you
need
to
do
is
basically
this
command
g-cloud,
so
g-cloud
is.
A
Google
cloud
has
an
sdk
that
you
install
on
your
environment
and
it
comes
with
this
tool
called
g-cloud.
So
g-cloud
is
like
a
command
line
tool
to
manage
google
cloud,
and
here
all
you
need
to
do
from
your
application.
Folder
is
g-cloud
up,
deploy
and
that's
it,
and
this
will
basically
take
your
not
just
application
and
put
it
in
google
cloud
and
before
you
do
that
you
you,
you
basically
set
your
g-cloud
with
your
configuration.
So
if
I
do
declare
compaq
list,
you
can
see
that
I'm
I'm
in
region,
europe,
west
and
I'm
also.
A
A
It
said
it's
a
new
version,
so
here
I'm
calling
my
origin
version,
1
and
then
no
promote
says,
deploy
this
application,
but
don't
let
it
get
all
the
traffic
yet
because
maybe
you
want
to
deploy
your
application
test
it
out
maybe
send
some
of
the
traffic
to
it,
but
you
don't
want
it
to
get
all
the
traffic.
So
that's
what
no
promote
comment
is
so
why
do
you
do
this
I'm
not
going
to
do
it
now,
because
I
did
it
before
the
talk
and
I.
A
Don't
trust
Wi-Fi,
but
once
you
do
that,
but
we
can
go
to
what's
called
Google
cloud
platform
console.
So
let
me
try
to
make
that
bigger.
So
this
is
basically
the
main
console
to
manage
your
google
cloud
projects
at
the
top.
You
have
your
project,
so
I
created
a
DCP
next
nodejs
project
for
the
stock,
and
here
I
have
all
the
different
all
the
different
apps
features
in
google
cloud.
For
example,
for
compete.
A
We
have
app
engine
compute
engine
container
engine,
we
have
storage,
we
have
stackdriver
for
testing
and
debugging,
and
things
like
that
and
we
had
some
big
data
stuff
like
pops
bigquery.
But
here
what
we
are
interested
in
is
App
Engine,
so
I'm
the
App
Engine.
You
have
a
dashboard,
it's
pretty
standard
dashboard
that
has
a
bunch
of
different
metrics,
like
latency,
all
the
oldest
and
the
things
that
you
expect
from
a
dashboard.
But
what
we
are
interested
is
the
version,
so
we
we
push
the
new
version.
A
So
before
the
talk
I
push
the
version
called
version
0.
As
you
can
see.
I
see
it
here
and
it's
telling
me
that
it
is
getting
one
hundred
percent
of
the
traffic
and
then
it's
running
on
two
instances.
So
by
default,
when
you
push
an
application
to
the
App
Engine,
it's
running
on
two
instances,
but
this
is
also
scaled.
A
So
if
you
get
more
requests
this
will
these
instances
will
increase
the
4600
all
the
way
to
20
without
you
having
to
do
anything
so
auto
scan
is
done
for
you,
the
runtime
is
recognized
as
not
jazz
by
google
cloud
and
the
environment
is
flexible.
So
you
see
all
your
versions
here
and
actually
I
deployed
a
few
other
versions.
I
presume
a
blue
version.
A
So
this
has
a
blue
background
and
you
know
a
green
that
screen
background,
but
once
you
have
versions
you
can
the
interesting
things
like,
for
example,
what
if
we
want
to
split
the
traffic
between
different
versions,
because
it
may
be
you
want
to
test.
Maybe
you
have
a
new
version,
like
version
one,
you
want
to
send
twenty
five
percent
of
people
there.
So
how
do
you
do
that?
You
can
do
this
split
traffic
here
and
let's
do
split
traffic
by
cookie
and
then
let's
say
I
want
blue.
I
want
green
to
get
twenty-five
percent.
A
I
want
yellow
to
get
twenty-five
percent
and
then
I
won't
read
to
get
twenty
percent
now
I
hit
save.
So
now
it's
updating
the
traffic
settings
for
my
app.
So
it
will
split
the
traffic
between
blue,
green,
yellow
and
red
twenty-five
percent.
So
if
you
go
back
to
our
console
as
you
can
see,
they're
getting
twenty-five
percent
and
if
I
go
to
my
app,
so
I
think
it
was
seeping
next
whoops
to
step
in
next.
A
And
this
is
the
app
yeah
I
got
red,
and
since
it's
quick,
cookie
traffic
splitting,
if
I
refresh
my
browser
it
will
always
get
red
because
I
already
have
the
cookie
set
for
me,
so
so
yeah
I
mean.
Basically,
this
is
how
you
deploy
this
is
and
by
deploying
into
Google
Cloud
you
get
versioning
for
free
and
then
with
versioning.
You
can
do
interesting
things
like
traffic
splitting,
so
that's
the
basics
of
it.
So
in
the
next
part,
let's
go
back
to
my
presentation.
A
So,
basically,
you
can
bring
your
own
node.js
application.
You
can
use
any
npm
modules
that
you
already
use
in
other
places
they
all
work
automatic
scaling.
As
I
mentioned
it's
done
for
you,
so
you
don't
have
to
worry
about
like
scaling
yourself
like
it's
automatic
for
you,
you
got
version
upgrades
and
traffic
splitting
and
what
happens
is
that
why
to
deploy
your
application
under
the
covers?
What
we
do
is
we
take
your
code
and
we
put
in
a
docker
container
and
then
we
and
then
we
pop
we
publish
of
docker
container.
A
Basically
it
took
to
the
club,
but
that
docker
container
is
fully
fully
customizable,
so
you
can
actually
get
access
to
the
docker
image
and
you
can
customize
it.
However,
you
want
and
deploy
again
so
that's
great,
because
the
app
is
really
portable,
so
you
can
take
the
docker
image
and
maybe
you
want
to
move
from
the
Google
cloud
to
Amazon
or
somewhere
else
like
you
can
do
that.
A
So
the
fact
that
you're
writing
on
App
Engine
doesn't
really
tie
you
to
App
Engine
you
it's
a
docker
image
at
the
other
day
and
you
have
you
can
move
it
to
where
you
want.
So
this
is
our
app
now
the
hello
world
app.
So
we
have
the
browser
and
the
app
app
engine,
but
normally
our
applications
are
much
more
complicated
than
this
right.
So
our
applications
are
pretty
much
like
this.
Usually
so
you
have
you
have
the
browser.
You
had
app
engine
as
a
front
end,
but
you
usually
need
some
kind
of
back-end.
A
So
in
the
back
end,
maybe
you
use
a
container
engine
running
kubernetes
cluster
to
talk
with
the
front
end
and
the
back
end.
You
need
some
kind
of
messaging
for
loosely
coupled
services,
so
you
use
pops
up
that
google
cloud
provides
so
maybe
in
from
container
engine.
You
want
to
do
some
machine
learning.
So
maybe
you
have
some
images
and
you
want
to
classify
them,
so
you
can
use
vision,
API
the
Google
cloud
cloud
provides
and
you
to
save
those
images
to
somewhere.
So
you
can
use
cloud
storage
and
then
maybe
you
need
MongoDB.
A
So
you
can
see
you
can
host
it
in
compute
engine,
so
you
have
all
these
options
available
to
you.
But
how
can
you
use
all
of
this
from
your
not
chess
app?
So
you
all
you
have
to
do
is
basically
NPM.
Install
g-cloud
g
card
is
an
NPM
module
that
basically
gives
you
access
to
all
these
services
via
API.
So
for
storage
cut,
you
have
cloud
storage,
datastore
class,
equal
big
table.
We
have
bunch
of
big
data
stuff
like
big
curry.
A
Data
lab
pops
up,
I'm,
gonna
I'm,
not
gonna,
get
into
them
now,
because
I
don't
have
time,
but
then
there's
high
level.
Api
is
like
vision,
translate
machine
learning.
So
all
of
this
becomes
immediately
available
to
you
by
just
installing
this
g-cloud
mpm
module,
so
I
just
want
to
make
you
aware
that
they
exist
and
and
their
IP
is,
and
services
in
Google
Cloud.
For
that
all
right.
So
in
this
part,
I
want
to
show
you
a
fun
application
so
that
I
can
show
you
all
these
services.
So
the
application
is
yeah.
A
It's
not
written
by
Miss
written
by
our
product
manager,
Justin
back
with
he's
in
the
US.
So
he
was
he's
a
Reddit
user
and
he
was
looking
at
this
reddit
channel
where
there's
like
cute
pictures
of
cats
and
dogs,
and
he
was
wondering
whether
there
are
more
cat
pictures
or
dog
pictures
here.
So
I
said
why
don't
I
write
an
app
to
see
what
was
the
case.
A
So
he
wrote
this
app
called
Clark
cats
and
this
is
his
cat,
so
when
I
hit
plus
here,
what
will
happen
is
that
the
app
will
go
to
reddit,
pull
those
images
and
then
classify
them
as
cat
or
dog
and
then
count
them
and
then,
in
the
end,
we'll
see
which
which
one
wins
like
either
cats
or
dogs.
So
let's
set
that,
hopefully
it
will
work.
A
Once
we
see
one
image,
we
know
that
it
works.
Yes,
alright,
so
cats
are
going
to
be
here
and
dogs
are
gonna,
be
on
the
right.
So
this
is
pulling
the
images
live
from
reddit
and
as
it's
pulling
them,
it
pulls
them.
It
saves
them
into
class
storage
and
Google
Cloud,
and
then
it's
using
vision
API
to
classify
the
image
as
yeah.
A
Logs
when
yes,
usually
I,
don't
like
out
of
10
*
dogs
win
some
one
time,
I'd
seen
I,
think
I
seen
cats
win
and
then
sometimes
there's
there's
a
tie,
but
usually
there
are
more
the
dog
pictures
and
get
pictures.
So
if
you
look
at
this
app
I
mean
it's
a
silly
little
app,
it's
a
fun
app,
but
when
you
think
about
it
like,
even
though
it's
simple
you
have
to
go
and
read
the
images
you
have
to
save
them
somewhere,
then
you
have
to
classify
them.
A
A
So
the
pieces
that
we
use
it
again,
we
have
the
browser
and
we
have
the
App
Engine
front
end
in
App
Engine.
You
can
basically
split
your
application
into
microservices,
so
we
have
the
front-end
web
module
and
we
had
the
backend
worker
module.
The
worker
module
goes
to
reddit
pulls
the
images,
saves
them
to
class
storage.
So
it's
a
fully
managed
cloud
based
storage
by
four
binary
data
in
Google
Cloud.
A
Once
it's
a
there,
you
can
use
vision,
API
to
actually
classify
those
images
as
cats
and
dogs,
and
then
once
we
have
the
classification
you
can
use
pub/sub,
which
is
like
a
messaging,
it's
kind
of
like
Kafka
and
NJ
ms
basically
buddies
cloud
base.
So
you
can
use
that
and
push
through
classification
to
the
topic
and
then
the
front
and
get
step
and
sends
it
back
to
the
browser.
So
that's
how
it
works.
So
all
the
pieces
that
you
need
is
there
basically.
A
So
what
we
covered
is
that
basically
we
have
a
pentium
ii
at
the
tools
and
libraries
and
all
the
aps
and
services
ready
for
you.
But
for
me
the
most
exciting
part
is:
how
do
you
maintain
this
stuff?
Because,
as
I
was
running,
this
application
I
didn't
write
it?
I
was
running
into
some
problem
and
let
me
just
show
you
the
code,
real,
quick.
A
So
the
code,
can
you
see
that
so
the
code
we
have
the
web
module
and
worker
module
and
under
web
there
was
a
class
called
cat
relay
that
that
had
some
kind
of
message
somewhere
ya
hear
that
wasn't
right
and
it
was
giving
me
some
kind
of
garbage
and
for
you
to
debug
something
like
this.
Usually
what
you
need
to
do
is
you
need
to
change
your
code.
A
Maybe
add
like
a
console,
dot,
log
statement
to
it
and
then
see
what
gets
logged
and
then
hopefully
contains
the
information
that
you
need
and
if
it
doesn't,
then
you
have
to
add
more
log
statements.
So
it's
always
a
hassle
to
debug
something
like
this.
But
if
you
put
this
in
google
cloud,
what
you
can
do
is
you
can
you
can?
Actually
you
can
actually
push
your
code
to
a
private
repository
in
Google
Cloud,
so
I
push
the
code
here.
A
So
it's
the
same
code
that
we're
looking,
but
we
are
looking
at
from
developer
console
and
then
what
you
can
do
is
go
to
cat
relay
put
a
breakpoint.
So
now
it's
waiting
for
that
break,
point
to
be
hit,
and
it's
saying
here
waiting
for
snapshot
and
then
I
can
go
back
to
my
app
and,
let's
refresh
so,
if
I
hit
pass
now
at
some
point,
the
breakpoint
is
going
to
be
hit.
A
So,
as
you
can
see,
the
breakpoint
is
hit
right
now
and
I
can
see
the
message
and
I
can
look
at
the
data
like
and
I
didn't
have
to
change
any
of
the
cold
like
this
is
done
automatically
for
me,
and
the
only
thing
that
I
had
to
do
is
in
my
code.
If
you
look
at
my
code
at
the
server
I
have
to
include
this
google
cloud
cloud,
debug
statement-
that's
all
I
did
so
by
including
that
and
by
by
pushing
my
coat
to
google
cloud
repository.
A
I
get
this
free
debugging
and
it
says
it
saves
me
a
lot
of
time
because
I
don't
exchange
code.
I
can
just
put
breakpoints
and
its
inactive
breakpoint,
so
the
actual
app
itself
is
already
running,
but
once
it's
hit
once
I
have
the
context,
and
I
can
I
can
look
at
it
and
I
can
debug
it
and
the
last
thing
I
want
to
show
you
is
so
this
is
great
because
you
know
I
can
debug
stuff
and
I
can
look
at.
A
You
know
the
state
of
the
variables,
but
one
of
the
hardest
problems
to
deal
with
in
production
is
performance
problems.
So
what
if
your
app
app
is
slow?
You
know
it's
slow,
but
you
don't
know
where
it
is
slow.
So
how
do
you?
How
do
you
do
back
that?
You
usually
need
to
instrument
your
code
again.
You
need
to
put
work
statements.
You
need
to
look
at
blogs
and
try
to
figure
out
where
the
problem
is
and
and
usually
it's
kind
of
like
an
iteration
kind
of
thing.
A
But
again
we
have
something
called
stackdriver
trace,
so
to
enable
that
you
need
to
go
to
your
code
and
just
add
this
statement.
Basically
so
this
says
or
just
enable
my
application
for
tracing
and
and
then
you
can
go
to
this
trace
list-
and
this
basically
is
the
slash
go-
is
the
actual
URL
that
gets
called
when
I
hit
that
plus
so
I
can
click
on
that.
And
now
it's
telling
me
that
the
/
code
takes
about
seven
min
seven
seconds
and
underneath
that
I
can
see
all
the
calls
that's
being
made.
A
All
the
HTTP
calls
it's
being
made
from
your
application,
so
I
can
see
that
I'm
pulling
images
from
reddit
new
media
and
after
that,
I'm
calling
storage
so
I'm,
saving
the
images
to
Google
storage
class
storage
and
then,
after
that,
I'm
calling
the
vision
API
to
classify
the
images
so
from
from
this
top
level.
I
can
drill
into
all
the
calls
that
my
application
is
making
and
then
see
how
long
they
take.
So
this.
This
really
helps
because
you
don't
have
to
guess
anymore
from
one
call.
A
A
Yeah,
so
all
this
stuff
that
I
show
today
I
mean
I,
try
to
make
a
quick
so
that
we
don't
run
out
over
time.
But
all
those
samples
and
all
the
libraries
are
open
source
they're
here
and
if
you,
if
you
hit
me
on
Twitter
or
send
me
an
email,
I
can
also
point
you
to
the
right
repositories.
So
yeah,
that's
it.
I
think
we
are
trying
to
make
google
cloud
the
best
place
to
run
your
node.js
application,
and
hopefully
you
give
it
a
try,
and
let
me
know
if
you
run
into
any
problems
thanks.