►
From YouTube: Keynote: NATS: Past, Present and the Future - Derek Collison, Founder and CEO, Synadia
Description
Join us for Kubernetes Forums Seoul, Sydney, Bengaluru and Delhi - learn more at kubecon.io
Don't miss KubeCon + CloudNativeCon 2020 events in Amsterdam March 30 - April 2, Shanghai July 28-30 and Boston November 17-20! Learn more at kubecon.io. The conference features presentations from developers and end users of Kubernetes, Prometheus, Envoy, and all of the other CNCF-hosted projects
Keynote: NATS: Past, Present and the Future - Derek Collison, Founder and CEO, Synadia
A brief history of the NATS project, where it is today, how it fits into cloud-native architecture, and where it's going in the near future.
https://sched.co/UdIm
A
Good
morning,
everyone,
hopefully
everyone's
having
a
great
Cuba
con
so
far,
some
folks
in
the
room
might
still
debate
whether
or
not
we're
in
a
cloud
economy
or
if
we've
moved
to
a
data
economy
and
an
economy,
at
least
from
my
perspective,
is
what
drives
value
and
innovation
right.
So
what
are
we
extracting
out
of
the
systems?
A
So
that's
is
a
simple
production,
proven
cloud
native
messaging
system.
It
does
things
like
services
and
streams
and
different
levels
of
quality
of
service
built
from
the
ground
up
to
be
cloud
native,
and
it
has
over
30
different
client
language
implementations,
most
of
whom
are
from
other
people
outside
of
the
core
maintainer
group.
A
So
what
does
Nats
actually
do?
What
can
you
use
it
for?
Some
of
the
use
cases
are,
of
course,
cloud
messaging.
Both
services
and
streams,
and
services,
in
our
opinion,
need
to
be
scalable
and
transparent,
resilient
self-healing,
but
again,
services
are
that
request,
reply
all
right,
IOT
and
edge,
not
sure
how
many
people
actually
think
about
IOT
and
edge,
but
when
we
think
about
it,
we
don't
necessarily
think
about
maybe
a
small
device.
A
That's
that's
out
there,
but
we
think
about
any
type
of
hardware
that
a
company
might
want
to
deploy
out
to
the
field
or
a
piece
of
software.
That's
not
in
their
direct
total
control
and,
of
course,
there's
the
notion
of
augmenting
and
replacing
legacy
messaging
systems
of
which,
in
my
past,
life
I
was
responsible
for
for
some
of
those,
some
of
the
user.
Testimonials
we'll
walk
through
very
quickly
just
kind
of
highlight
how
Nats
can
actually
take
effect
within
your
organization
and
actually
change
the
things
that
you're
trying
to
do.
A
So
it's
been
an
amazing
relationship
for
us
storage,
OS,
utilizes
Nats
as
a
control
plane
right,
similar
to
how
I
used
it
very
early
on
so
volume
creation
and
deletion
are
events
that
are
transported
globally
on
Nats
to
actually
keep
everything
in
sync,
as
things
move
along,
a
tinder
tinder
actually
used
to
have
a
pole
based
mechanism
and
they
moved
to
total
push
based
mechanism
for
all
of
their
services.
Utilizing
Nats
and
one
of
the
interesting
things
that
I
don't
know.
A
If
this
resonates
with
people
in
the
crowd
was
the
folks
from
tinder
were
actually
joined.
The
slack
group.
We
had
no
idea
who
they
were
and
we're
asking
questions,
and
then,
after
about
four
months,
they
popped
in
and
said.
Oh
we're,
gonna
write
a
blog
post.
We
just
rewrote
our
whole
back
in
and
a
lot
of
times
that
just
kind
of
happens
that
way.
A
Platform
9
is
a
serverless
functions
as
a
service
framework
where
they
utilize
Nats
for
their
event
sourcing
and
distributed
coordination
across
their
system,
and
they
chosen
because
they
felt
Matz
was
very
approachable.
It's
very,
very
simple,
and
it's
reliable
and
clique,
who
does
data
analytics.
They
use
Nats
to
broadcast
messages
to
fill
a
silicate
data,
synchronization
work,
queue,
management
and
cache
and
validation,
which
we've
heard
a
lot
about
as
of
late
in
the
slack
channels.
A
One
of
the
things
I
think
is
interesting,
and
this
says
that's
monitoring,
maybe
even
think
about
as
Nats
observability,
both
in
terms
of
Nats
itself
and
then
what
Nats
is
actually
enabling.
We've
put
a
lot
of
work
into
integrating
and
things
like
that.
I
wanted
to
thank
the
community
who
pushed
back
on
us
and
said:
hey.
You
know
we
want
to
be
able
to
observe
the
applications
that
are
running
on
Nats
and
I.
You
know,
I'll
take
this
on
I
said:
well,
it's
a
pub/sub
system.
It's
easy!
A
It
you
can
see
anything
you
want
to
do
they
really
kind
of
push
and
said,
but
it's
not
as
easy
as
it
should
be,
and
they
were
right,
and
so
we
did
more
work
for
prometheus.
We
did
more
work
with
applications
that
are
running
on
the
system
that
we
can
do
things
like
service
latency,
which
we'll
talk
about
in
a
second,
so
we
can
do
things
like
global
dashboards.
Nats
can
run
anywhere
in
the
world
any
deployment
platform,
any
cloud
provider
on-premise
doesn't
matter.
A
We
support
clusters,
super
clusters
and
then
extended
super
clusters,
which
I
also
talked
about
in
a
second
and
here's
that
that
piece
that
the
community
pushed
on
us
about,
which
is
hey.
If
we
have
an
application
and
it's
a
service,
you
ask
it
a
question:
it
gives
you
an
answer
back
and
that
doesn't
make
it
easy
enough
for
us
to
figure
out
what's
going
on,
and
this
could
look
kind
of
familiar
right.
This
is
a
lot
of
the
functionality
dicey.
A
We
actually
track.
How
far
away
is
the
requester?
How
far
away
is
the
responder?
How
much
time
is
actually
in
a
super
cluster
being
spent
going
back
and
forth
between
nodes
and
nets,
and
we
present
all
four
of
those
views
to
the
user
in
real-time
instantaneously
to
any
subject
they
wanted
to
show
up
on.
A
So
how
do
you
actually
start
it,
though,
with
that
well
I
like
to
you
know
when
we
engage
with
with
users
and
such
on
slack
or
if
we
actually
go
and
visit
them?
We
talk
about
the
basic
messaging
pattern,
services
and
streams,
90%
of
Micra
services
to
surgery
systems.
Architectures
are
in
services,
requests
for
reply,
but
they
need
to
be
able
to
scale
up
scale
down.
A
A
Once
you
have
a
basic
message
pattern
and
understand
what
Nats
provides
you
you
can
then
on
go
on,
say,
I
need
to
ask
us
a
you
know:
assess
access,
sorry,
a
NAT
system
in
the
older
days
it
used
to
be
in
that
server.
Now
it's
a
system
right,
and
so
we
have
free
community
servers
that
have
been
running
for
over
three
years,
that
people
connect
to
and
unfortunately,
sometimes
try
to
run
production
stuff.
When
we
say
you
probably
want
to
do
that
per
se.
A
This
next
one
is
the
one
that
I'm
so
excited
about.
Our
team
has
put
such
an
amazing
amount
of
effort
into
a
single
line,
installer,
which
is
the
norm
these
days
right
for
installing
software
into
kubernetes,
but
this
sets
up
a
3-node,
totally
fault,
tolerant,
highly
available
self-healing
system
with
monitoring,
Prometheus
and
Griffon,
a
dashboard,
all-in-one,
and
so
I
really
really
encourage
you
to
come
by
the
project,
booth
and
watch.
Our
team
actually
demonstrate
that
docker
and,
of
course,
there's
additional
information
on
our
Doc's
for
how
to
get
started
and
how
to
access
these
systems.
A
So
how
do
you
actually
build
a
service
with
Nats?
Well,
this
is
an
HTTP
versus
Nats
kind
of
how?
What
does
it
look
like?
How
simple
is
it
or
how
hard
it
is,
and
this
is
course
is
HTTP.
It's
written
in
go
should
look
familiar
to
a
lot
of
folks,
and
this
is
the
Nats
version
former
connection
its
multiplex.
Then
you
say
request
give
me
two
seconds
to
get
it
back.
A
Of
course
you
can
do
this,
a
string
krisily
if
you
want
as
well
how
about
as
the
service
write
the
server-side,
the
endpoint
HTTP
again
and
here's
Nats
again
make
a
connection.
Do
a
cue,
subscriber
meaning
I
can
transparently
how
the
Box
just
run
more
of
these
or
less
of
these,
however,
I
want
to
well
listen
on
bards
bo1,
so
it's
really
really
simple,
even
with
existing
applications.
If
you
want
to
try
it
out
to
do
so,
it's
a
couple
hours
in
the
morning
type
stuff:
we've
deployed
full
global
systems.
A
Now
what's
interesting,
is
is
what
we
get
for
free,
I
think
this
crowd
is
used
to
an
architectural
pattern
where
we
add
sidebars
proxy's,
and
things
like
that
and
I
think
that's
great
for
most
things,
some
things,
though
they
should
feel
like
they
should
be
built
in
and
with
Nats.
This
has
been
since
day.
One
Nats
is
almost
10
years
old.
Now
you
can
deploy
to
any
cloud
geo
deployment
framework,
on-premise
cloud
or
IOT.
A
Little
bit
about
Nats
history,
some
folks
might
already
know
this,
but
Nats
was
was
originally
created
by
me
to
power
or
Cloud
Foundry,
which
was
a
platform
as
a
service
asari
IBM,
where
I
went
to
pivotal
I
think's,
going
back
to
VMware,
it's
kind
of
the
the
precursor
to
going
swinging
back
the
pendulum
to
iis
and
kubernetes,
and
things
like
that.
I
spent
a
decade
on
on
deployment
mechanisms
and
systems
like
that,
but
it
was
for
command
and
control
querying
telemetry,
all
those
normal
things
that
that
I
would
do
when
building
a
distributed
system.
A
One
of
the
big
things
that
I
wanted
Nats
to
do,
though,
is
not
do
too
much.
I
wanted
to
do
just
very,
very
simple
patterns.
Request
reply
streaming
distributed
queueing,
you
know,
I
could
do
the
load
balancing
thing
what
we
looked
at
there,
but
I
wanted
it
to
protect
itself
at
all
cost
and
that's
what
I
learned.
It
was
amazing
lesson.
A
I
learned
when
I
was
at
Google,
which
is
don't
have
one
user
take
down
the
whole
system
right
Gmail
might
be
out
for
me,
but
it
shouldn't
be
out
for
anyone
else
and
that's
kind
of
really
took
that
philosophy
to
heart
and
cloud
native
hadn't
been
coined
yet,
but
that's
kind
of
how
we
moved
into
cloud
native,
which
is
it's
protecting
itself
at
all
costs.
It
needs
to
be
available
all
the
time,
regardless
of
what
else
is
going
on.
A
So
then
it
was
built
for
me.
You
know
it's
that
scratch
an
itch
thing
that
a
lot
of
projects
kind
of
start
with
and
I
didn't
care.
If
anyone
would
use
it
or
not
use
it,
it
didn't
matter
I
just
wanted
it
to
power,
Cloud
Foundry
and
Bosch,
which
was
the
the
orchestration
engine
at
the
time
for
the
control
planes
in
the
telemetry
system,
and
now
cloud
foundry
is
very
different.
A
A
This
is
does
not
lack
for
ambition,
but
we
really
believe
it's
the
enabling
technology
to
securely
connect
all
the
world's
digital
system,
services
and
devices
and
I
know
that's
ambitious
and
I
know.
That's.
You
know
a
big
vision,
but
that's
kind
of
what
we're
really
trying
to
do
and
we
we
believe
we
know
how
to
get
there.
The
biggest
thing
is
engaging
the
ecosystem
and
having
people
kind
of
help
us
right
along
the
way,
and
so
you
should
be
able
to
have
a
shared
utility
of
any
size,
and
hopefully
this
resonates
with
people
right.
A
We
have
one
of
these,
it's
a
silo.
Now
we
have
two
of
them.
Now
we
have
ten
of
them.
Someone
raises
their
hand
and
says
hey.
Why
don't
we
put
something
together
where
we
can
all
share
one
of
these
and
we
probably
all
rear
you
know-
remember,
have
the
scarves
in
our
back
that
that
doesn't
work
very
well
a
lot
of
times
not
a
lot
of
software
is
built
to
not
be
a
silo.
So
when
you
try
to
actually
make
it
into
a
utility,
it
comes
up
with
a
lot
of
friction.
A
It
should
be
decentralized
and
federated
right:
I
should
be
able
to
have
a
shared
utility
and
organization,
and
I
should
be
able
to
run
my
own
servers
and
stretch
and
configure
things
and
do
my
own
off,
but
still
be
able
to
deal
with
the
actual
shared
utility
system
as
well
secure
by
default.
We
had
about
15
years
of
the
internet,
where
we
didn't
have
the
green
lock
all
right.
We
don't
have
that
luxury
anymore.
We
cannot
go
into
IOT
without
understanding
the
security
mechanisms
and
so
for
us.
Two
years
ago
we
went
on
this
path.
A
A
Underneath
the
covers
it's
just
sending
a
message:
I
can
send
a
message
to
Kb
set
I
can
send
a
message.
Acavie
get
and
healthy
and
thriving
ecosystem
of
services
and
streams
that
make
building
applications
easier
right.
You
put
them
together,
like
building
blocks
now
the
community.
This
again
is
amazing
to
me:
I
could
have
never
foreseen
any
of
this,
and
none
of
this
would
have
happened
without
the
community.
A
This
one
still
is
interesting
to
me
and
it's
accelerating
at
a
amazing
rate,
which
is
a
hundred
million
nat
server
downloads
from
docker
got
about
1600,
slack
members,
but
again
it's
accelerating
all
the
the
charts
are
going
up
into
the
right.
We've
had
about
20
releases
since
2014,
so
we
do
about
five
a
year.
We
just
did
one
yesterday
as
a
matter
of
fact.
A
So
in
the
last
one
I
here's.
What
have
we
been
doing?
Well,
I
talked
a
little
bit
about
it.
We
designed
a
public
key
system,
utilizing
all
the
cryptography
standards.
We
didn't
reinvent
that
part,
but
we
utilize
GWT
s
for
aussie
and
auth
end
again,
no
private
keys
ever
and
in
that
system.
With
this,
we
actually
doubled
down
on
secure
multi
tenant,
that's
just
truly
multi
tenant,
meaning
it
can
be
built
as
a
utility
where
Coke
and
Pepsi
or
FedEx
and
UPS
can
actually
utilize
it.
A
We
put
additional
network
topologies
in
gateways
to
form
super
clusters
and
then
leaf
nodes
to
say
who
you're
running
the
super
cluster
I
want
to
actually
run.
My
own
set
of
servers
do
my
own
thing
here,
but
I
want
to
be
able
to
communicate
transparently
with
you
as
well
dynamic
response
authorization
you're
only
allowed
to
respond
to
something
that
gets
sent
to
you
so
I.
Send
you
a
request
and
I
see
here's
my
reply
address.
A
Please
send
me
something
back
transparent
services
that
I
can
see
that
we
talked
about
and
then
Doc's
the
team
put
a
tremendous
amount
of
time
into
the
docs
and
we
should
have
done
it
way
earlier.
Ninety
percent
of
the
time
people
are
coming
on
to
the
site,
they're
always
sitting
on
the
docs,
so
all
the
project
maintainers
out
of
there
who
I'm
sure
you
already
know
this
but
double
down
on
documentation.
A
We
also
have
a
technology
that
is
moving
into
tech
preview
at
while
we're
at
this
conference
called
Jetstream,
and
it's
a
combination
of
understanding
things
from
my
past
to
the
90s
to
Stan,
which
was
kind
of
our
first
version
of
streaming
with
Nats,
and
it's
the
next
generation
persistent
messaging
system,
it's
going
to
be
built
into
every
NAT
server,
so
it's
part
of
the
core.
It
can
do
streams,
message,
queues,
the
old
style
and
work
queues.
You
know
kind
of
like
celery
and
things
like
that
and
can
do
push
and
pull.
A
So
what's
next,
where
are
we
trying
to
go?
You
saw
the
ambition
you
saw.
The
the
statement
we
believe
IOT
and
edge
is
the
next
thing
for
us,
but
we
also
believe
to
get
there.
We
need
to
meet
people
where
they're
at
which
means
we'll
be
adding
native
MQTT
support
both
three
one.
Five
and
five
s
n
I
believe
we'll
also
do
a
WebSocket
support
for
mobile
and
web,
and
then
you
know
earlier
presenter
talked
about
web
assembly.
A
I've
been
watching
this
now
for
about
two
and
a
half
years,
with
a
lot
of
anticipation
that,
with
the
security
system,
we
put
in
Nats
with
the
ability
that
there's
no
keys
in
there,
but
you
can
digitally
sign
things
that
web
assembly
is
the
perfect
platform
to
say.
I
am
going
to
digitally
sign
this
and
allow
this
to
work
inside
of
the
network
on
ingress
on
this
subject
or
that
subject
or
egress
or
on
jetstream.
Even
more
importantly,
I
think
is
I
want
to
create
an
observable
to
get
messages
out
of
the
stream.
A
A
So
we've
had
an
amazing,
almost
10
years
now
I'm
so
proud
of
the
team
so
proud
of
the
ecosystem
that
we've
done,
but
I
think
this
is
just
the
beginning.
I
think
our
trajectory
is
starting
to
go
up
and
as
we're
starting
to
integrate
and
talk
more
with
more
of
the
CN
CF
projects
and
figure
out
what
the
users
need
from
a
technology
like
this
in
a
cloud
native,
you
know,
format
and
situation.
We're
super
excited
for
where
we're
going
to
go
in
2020.
A
If
you
want
to
learn
more
there's
a
deep
dive
session
on
Thursday
we'll
be
at
the
project
booth
all
week,
please
come
ask
us
any
questions.
We'd
love
to
chat
with
you
all
of
the
or
the
majority,
the
core
maintainer
czar
here,
and
they
will
be
there.
Then
that's
a
website,
obviously
the
slack
Channel.
Of
course
email
always
works
as
well.
Thank
you.
So
so
much
I
really
appreciate
the
time
and
the
attention
come
join
us
and,
let's
connect
everything.
Thank
you.