►
Description
NRE Labs is the best community platform for learning about network reliability engineering. The future of connectivity and availability will come from professionals doing more in software and learning the concepts behind true reliability.
Recorded at Networking Field Day 20 in San Jose, CA on February 13, 2019. For more information, please visit http://Juniper.net or http://TechFieldDay.com/event/nfd20/
A
Hi
everybody
hi
man,
man,
so
this
is
really
cool.
I-I've
been
a
delegate
before
and
I
I
love
being
here,
whether
it's
as
a
delegator
on
the
other
side
of
the
table
like
Mike
said
this
is
a
this.
Is
this?
This
forum
holds
a
special
place
in
my
heart,
I
think
I.
Think
it's
a
good
group
of
folks.
You
know
sort
of
every
time.
A
I
come
here
whether
again
has
a
delegate
or
a
vendor,
and
so
it's
great
to
be
able
to
talk
to
you
all
about
what
I've
been
building
for
the
past
past
year.
You
know
myself
and
then
a
few
other
folks
at
Juniper,
Derick
winkworth
is
actually
a
lot
of
the
community
manager
for
a
lot
of
this
stuff.
You
guys
probably
know
him
as
cloud
toad.
He
couldn't
make
it
he's
dealing
with
some
stuff.
He
really
wanted
to
be
here,
but
just
FYI.
This
is
not
a
sole
effort.
A
This
is
something
we're
trying
to
really
build
from
a
grassroots
perspective.
So
what
I'm
gonna
talk
to
you
today
is
a
little
bit
about
what
Mike
sort
of
hit
on
and
actually
you
know,
I
I
don't
want
to
do
too
much
of
this
I
want
to
talk
for
about
5%
of
the
time
on
just
a
little
bit
of
the
motivation
behind
a
lot
of
this
Mike
touched
on
most
of
it.
A
So
I
just
want
to
you
know,
sort
of
ramp
off
from
what
he
said
and
talk
a
little
bit
more
about
what
we've
done
to
sort
of
help
solve
those
consumption
side
problems
that
he
talked
about.
So
you
need
a
little
thought
leader
in
from
me,
but
I'll
try
to
keep
it
5%.
The
vast
majority
is
gonna,
be
you
know,
55%
is
gonna,
be
you
know
what
we
built
I'm
gonna
talk
about
what
it
is
that
we've?
A
Actually
you
know
what
skin
have
we
put
in
the
game
to
try
to
help
solve
this
problem
and
then
the
last
you
know
sort
of
35
percent,
or
so
you
know
again
time
permitting
I'm
gonna
hope
to
dive
into
the
details
of
how
the
stuff
that
we've
built
actually
works.
I
think
I
think
that's
cool,
but
again
you
know.
The
whole
point
of
this
is
is
me
making
sure
that
everybody
can
get
something
out
of
what
we've
built.
So
that's
my
primary
objective.
A
A
Okay,
so
this
is
a
term
we
also
use
I'd
have
for
about
a
year.
It
was
last
year
that
we
presented
last
as
juniper
at
field
day,
17
I
think-
and
we
touched
on
a
few
of
these
things,
but
a
year's
a
long
time
and
we've
had
a
lot
of
time
to
think
about
this.
You
know
Mike
talks
about
the
consumption
side,
problems
he's
very
right
like
we
have.
We
don't
have
a
production
side
problem
now.
A
A
It
has
much
less
of
a
technology
nature
than
a
people
in
process
nature,
and
so
that's
what
we're
focusing
on
the
difference.
Here
being
that
you
know
networks,
you
know,
networking
is
not
a
thing
right.
Networks
are
a
thing,
but
networking
is
people.
Networking
is
what
ties.
Those
things
together,
I,
don't
care
what
your
infrastructure
looks
like
I.
Think
those
of
us
that
do
production
networks
for
a
living
notice
that
there's
not
one
you
know
solution
that
you
can
get
that
address
is
100%
of
you
problems.
A
Whatever
success
means
to
you
whether
it's
the
project,
that's
on
your
plate,
your
organizational
goals.
You
know
revenue
goals,
anything
that
you're
gonna
have
to
tie
it
all
together.
Somehow
and
that's
done
with
people
I,
don't
care
what
layer,
the
stack
you're
at
that's,
how
every
single
operations
team
works,
and
so
for
us
the
the
definition
for
us
for
automation.
Is
it's
not
a
thing?
You
go
get
it's
not
a
thing.
You
download
it's
not
something
that
you
plug
in,
and
you
and
you
piece
together
from
a
technology
perspective.
A
It
is
an
operational
paradigm
and,
as
Lisa
was
keen
to
point
out
yesterday,
I've
been
in
marketing
for
a
year,
so
I
get
to
use
that
word
sewn
in
in
it.
So
anyway.
My
point
here
is
that
we,
the
reason,
I,
think
we're
in
this
position.
One
of
the
biggest
reasons
were
in
this
position
is
that
we've
tried
for
so
long
to
get
a
pure
technology
approach
to
solve
all
of
our
problems.
I
think
what
we're
doing
is
an
industry
now
is
recognizing
that
it's
insufficient.
A
We
have
to
bring
people
along
for
the
ride,
otherwise
we're
just
gonna
fail.
So
that's
what
we're
doing
the
name
we've
sort
of
given
to
this
is
network
reliability.
Engineering.
Now
this
isn't
junipers
term.
Some
people
think
it
is
because
we've
been
talking
about
it,
a
lot
for
the
past
year.
It's
actually
not
this
term
network
reliability
engineering
actually
came
from
a
lot
of
our
customers
again
about
a
year
ago,
when
I
started
juniper,
we
also
noticed
over.
A
There
was
actually
exclusively
hiring
for
this
particular
term
and
for
those
that
don't
know
the
history
there
network
reliability
engineering
is
actually
heavily
inspired
by
the
far
more
popular
site,
reliability,
engineering,
so
sre.
If
you
don't
know
what
that
is,
that's
a
it's
a
it's
a
term
that
Google
originally
popularized
about
ten
years
ago
for
describing
the
way
they
do
operations.
It's
not
a
magical.
You
know
sort
of
like
ethereal
thing
to
them:
it's
a
very
specific
job
role.
A
In
fact,
if
you
hear
people
talk
about
it
these
days,
they'll
even
compare
it
to
programming
constructs
so
DevOps.
It's
a
big,
cloudy
word
right.
If
DevOps
is,
you
know
an
abstract
interface,
then
sre
is
a
specific
implementation
of
that
for
the
programming
nerds
in
the
audience.
So
what
this
tells
me
is
that
there
are
some
tangible
things
here
and
this
by
the
way,
the
same
thing
is
true
for
NRE
right.
This
is
just
sort
of
a
different
coat
of
paint
on
the
same
underlying
principles.
A
You
know
we've
observed
in
you
know,
conversations
with
our
customers
conversations
with
those
of
us
at
juniper
that
have
run
production
networks,
myself,
cloud
toad
and
so
on
and
so
forth,
and
we've
identified
these
six
sort
of
key
vital
behaviors
that
we
feel
describes
a
network,
reliability
engineer
and
the
cool
thing
about
this.
There's
a
few
cool
things
about
this
term.
First
off
it's
more
than
just
automation
right.
This
is
important,
just
a
different
way
of
calling
you
know
calling
it
automation.
A
Automation
is
included
in
this
for
sure,
but
it's
more
than
that
yeah,
it's
a
representation
that
existing
skillsets
matter
too
right
and
it's
in
the
name
right,
N
and
E
are
right
there
in
the
name,
so
just
from
the
outset
we're
recognizing
that
those
skills
are
extremely
important
and
make
they
carry
forward
into
the
new
world.
But
just
like
we,
you
know
sort
of
always
sort
of
beat
around
the
bush
talking
about
there's
there
needs
to
be
a
refocusing
of
our
efforts.
What
is
it
that
we
do
when
we
automate?
A
What's
the
whole
point
of
doing
any
of
that?
Just
because
we,
like
writing
scripts.
Some
of
us
sure
I'll
raise
my
hand
on
that
one.
But
the
real
point
of
doing
automation
is
much
more
about
making
our
infrastructure
more
predictable,
more
reliable,
more
resilient
right.
That's
the
point.
That's
the
reason
we
do
it
and
the
reason
we
do
that
is
because
we're
infrastructure.
That
is
our
job.
If
anything
is
aligned
to
some
other
goal,
then
we're
off
the
path
right.
A
So,
if
we're
talking
about
automation
in
the
context
of
reliability,
we're
on
the
right
path
anywhere
else
and
we're
deviating
so
I
won't
go
too
far
down
this
road.
We
have
a
page
there.
What
is
an
hour
you
feel
free
to
go
there.
We
can.
You
know
you
can
see
a
little
bit
of
detail
here.
I
get!
You
were
gonna,
come
out
with
a
lot
of
material
this
year.
A
That
puts
a
lot
of
meat
on
these
bones,
because
there's
a
lot
of
partners
actually
asking
us
how
they
do
a
lot
of
this
stuff,
and
so
we're
gonna
be
putting
out
a
lot
of
tangible
materials
for
adopting
these
behaviors
okay.
So
in
the
meantime,
what
have
we
done?
Well
I'm
pleased
to
introduce
this
to
you
folks.
We
launched
this
in
October,
so
it's
been
out
for
a
little
bit,
but
we've
been
working
really
hard
on
it
even
post-launch.
This
wasn't
something
we
just
put
out
in
October
and
then
just
forgot
about.
A
We've
actually
been
very
actively
working
on
this,
so
we
created
NRI
labs
and
you
know,
as
the
slide
says
effectively
what
energy
labs
is.
The
community
platform
for
learning
and
teaching
automation
and
these
NRI
principles
now
I
use
that
those
two
words
learning
and
teaching
both
very
intentionally
and
I'll,
get
into
that.
But
just
a
few
you
know
bullet
point
summaries,
it's
a
totally
browser-based,
so
you
want
to
learn
automation,
one
of
the
biggest
challenges
that
and
I'm
guilty
of
this
and
I'll
build
like
github,
repos
and
blog
posts
to
say.
Oh.
B
A
A
We
have
to
fix
that
problem
and
I.
Think
NRE
labs
puts
us
down
that
path
of
focusing
only
on
the
thing
you
came
to
learn
and
how
do
we
do
that?
We
do
that
by
preparing
the
environment
in
advance
for
you
and
you
just
go
to
the
web
page,
there's
no
setup,
you
just
go
to
the
web
page
and
you're
in
so.
The
second
point
is
it's
free,
there's,
no
login
or
email,
even
though
you
don't
have
to
login
or
anything
like
that,
a
lot
of
the
the
pages
that
I'm
going
to
show
you
here.
A
If
you
go
to
the
page
that
I
go
to
you're
gonna,
get
the
same
experience,
no
authentication
whatsoever,
no
email,
collection
and
I
should
also
mention
you
know
we
we
I
got
I
got
corrected
for
saying
that
we
don't
do
any
cookies.
We
do
one
cookie,
but
that
cookie
is
just
to
make
sure
you
get
back
into
the
lab
that
you're
in
we
don't
record
it
anywhere.
So
it's
it's
cookie
lists
in
the
right
way,
a
bunch
of
nerds
correcting.
A
White
anyway,
third,
it's
vendor-neutral.
This
is
again
I'm,
really
glad
Mike
Mike
stood
up
in
front.
You
guys
and
explained
our
motivations
behind
this,
because
that
sounds
weird
coming
from
a
vendor,
but
it
is
and
I
promise
you
that's
going
to
be
this
fear
of
a
spirit
of
it
going
forward
now.
Well,
there
will
there
be.
You
know,
juniper
technologies
represented
sure,
but
the
point
isn't
that
this
is
going
to
be
a
place
for
us
to
show
you
how
awesome
juniper
is.
We
have
other
resources
for
that.
We
don't
need
another
one.
A
What
NRE
Labs
is
aimed
at
doing
is
it's
aimed
at
bringing
the
industry
up
together
and
again.
You
know
we
benefit
from
that,
as
Mike
said,
but
the
whole
point
is:
we
have
to
start
from
a
place
of
learning
the
skills
and
the
tools
and
the
processes
that
you
need
to
learn
that
isn't
directly
tied
to
some
sort
of
a
product
family.
That's
what
this
is
about
and
I'm
gonna
skip.
Actually
to
the
last
point
where
I
say
workflow
is
king.
A
That's
the
reason
why
it's
vendor
neutral,
because
for
us
this
isn't
about
a
specific
technology
right
tools,
don't
solve
problems,
people
solve
problems
when
they
use
those
tools
in
a
specific
applied
way,
and
that's
exactly
the
inspiration
for
energy
labs.
So
we're
always
looking
at
that,
as
as
the
the
goal
of
what
we
build
and
then
to
go
back
one
point:
it's
open
source
and
I
mean
this
very
in
a
very
broad
way,
because
there's
a
few
things
going
on
here,
it's
built
on
some
off-the-shelf
open
source
software
kubernetes
happens
to
run
behind
the
scenes.
A
You
don't
see
that,
but
that's
what
it
runs
on
top
of
so
some
off
the
shelf.
A
If
you
are
some
motivated,
sound
cool,
so
that's
that's
pretty
fun.
Last
slide
for
now.
I
want
to
quickly
just
highlight
the
difference
between
you
know.
In
our
mind,
what
we
think
NRI
labs
an
engine
at
are
are
aimed
at
doing.
You
know
a
lot
of
folks.
They
sort
of
look
at
these
things.
They
wonder
what
the
differences
in
my
mind,
they're,
very
complementary
and
sort
of
as
Roenick
said
in
the
learn
phase.
What
you
know
we're
focusing
on
their
is
helping
helping
people
just
get
started
with
stuff
and
NRI.
A
Labs
is
very
much
in
that
in
that
vein,
if
you
want
to
set
up
a
you
know
a
thousand
node
test
network
to
make
sure
that
you
know
the
way
that
you
want
to
do.
Your
design
is
actually
going
to
function.
Others
tell
you,
energy
labs
is
not
you're,
not
your
candidate.
We
have
other
resources
for
that.
You
know
feel
free
to
get
in
contact
with
us
there.
What
NRI
labs
is
meant
to
do
is
it's
meant
to
bring
those
who
have
zero.
A
It's
really
optimized
for
the
people
who
have
zero
experience
now,
there's
something
there
for
everybody,
but
if
you
have
zero
experience
with
automation,
you
just
want
to
play
with
some
stuff.
That's
exactly
who
I
created
energy
labs
for
that's
exactly
who
you
know
the
the
the
team
of
us
that
have
worked
on
this
have
created
NRI
labs
for
its
with
you
in
mind.
There
just
keep
that
in
mind.
Okay,
so
that's
it
for
slides.
Let
me
very
quickly
shift
over
to
a
demo,
because
I
think
that's
probably
the
most
important
part.
So
this
is
this.
A
Is
the
NRA
lab
site?
It's
pretty
cool
I.
It
was
designed
by
it
wasn't
designed
it
was
thrown
together
at
3:00
a.m.
I've,
been
out
a
designer,
a
shocker.
So
here's
an
interesting
lesson:
I'll
just
dive
right
into
a
lesson.
So
this
is
the
exam.
This
is
the
experience
you
get.
You
load
the
page,
you
notice
I
didn't
login,
it's
not
because
I
logged
in
in
advance,
because
that's
what
it
is.
So
this
happens
to
be
an
introduction
to
mo
who
has
experience
with
the
animal
anybody
have
used
diem.
A
A
A
A
A
A
Sorry
and
then
a
space
a
enter;
no,
no,
they
don't
understand
so
you're
good.
So
this
is
actually
I
did
I
should
give
you
some
background.
This
is
actually
a
Linux
container
running
inside
of
kubernetes
and
it's
actually
provisioned
on
demand.
So
when
you,
when
you
load
the
page,
it's
created
on-demand
for
you
now
I
did
preload
the
page,
so
you
might
have
to
wait
like
a
few
seconds.
I'm
sorry
I
know
in
this
day
and
age
like
a
few
seconds,
is
like,
oh,
my
god.
No
but
yeah
just
be
patient.
A
The
containers
getting
spun
up
on
demand
the
cool
thing
about
that
is
because
it's
on
demand
it's
his.
It
belongs
to
him.
So
anybody
in
the
room
that's
going
to
this
lesson,
they're,
not
in
the
same
container.
They
can
run
their
same
commands
and
by
the
way
you
can
change
stuff.
You
can
delete
the
file
system.
Please
don't
do
that.
A
It
is.
Oh,
my
god
you
came
very
close.
So
the
cool
thing
about
this
is
it's
very
interactive,
but
you
don't
know
anything
about
yamo.
So,
like
you,
it's
cool
that
you
have
a
terminal,
but
you
can
spin
that
up
on
your
laptop
right,
like
you
needed
some
sort
of
guidance
to
see
at
the
very
least,
some
commands
to
run
that
you
can
then
reverse
engineer.
Yes,
the
cool
thing
about
that
is
you
have
the
commands
here
on
the
left
side
of
the
screen.
So
there's
two
cool
things
about
this.
A
First
off
the
commands
that
you
need
to
run
are
there,
but
guess
what
you
can
even
need
to
type
them
you
can
we
that
we've
shown
that
you
can
type
whatever
you
want
in
the
terminal.
But
if
you
want
you
can
just
click
that
button
paste
it
in
for
you
now.
This
particular
lesson
is
trying
to
teach
you
the
concepts
behind
the
ml
and
so
there's
some
sort
of
pythonic
references
here
where
you
can
import
the
ml
file
and
it
turns
into
a
Python
list.
A
So
why
don't
you
hit
the
second
button
and
do
that
so
the
first
command
is
Python.
It
enters
you
into
the
Python
interpreter
and
then
it
runs
some
Python
code
to
open
that
UML
file
and
then
load
it
into
a
Python
list
and
so
I'm
gonna
type.
Have
you
typed
something
so
I'll
take
the
mic.
Why
don't
you?
Let's?
Let's
deviate
from
the
lab
guide,
a
little
bit
right?
We've,
we've
kind
of
thrown
up
the
instruction
you
play
with
Legos.
Yes,
instructions
are
overrated
yeah,
it
depends
yes,
okay,.
A
Em
and
then
perfect
and
then
I
do
the
closed.
Parenthesis
enter
okay.
So
what
this
tells
us
is
it's
a
Python
list
yeah
now
the
cool
thing
about
this.
Like
you,
you
didn't
learn
like
everything
there
is
to
know
about
yamo
right.
That's
not
the
point.
The
point
is
to
get
you
some
experience.
You
feel,
like
you,
have
a
little
bit
of
experience
with
Gamal
a
little.
B
A
A
The
message
I'm
trying
to
get
across
here
is:
we
decided
to
optimize
for
folks
again,
there's
there's
content
for
everybody,
but
we
feel,
like
we've,
really
well
optimized
this
for
folks
that
don't
have
any
experience
and
there's
a
there's.
A
multitude
I've
talked
with
many
people.
They
just
like
I,
don't
know
where
to
get
started.
There's
no
effort
here.
There's
no
there's
no
barriers.
I
can
tell
you
when
we
couldn't,
we
created
NRI
labs.
It
was
a
crusade
against
barriers.
You
know
things
like
I
have
to
set
up
my
own
environment.
A
No,
you
don't
you
load
the
page,
I
gotta
sign
up
and
get
my
email
away
and
get
hacked
by
Equifax
or
whatever
you
know
you
don't
have
to
do
that.
You
just
load
the
page
all
these
barriers
week.
We
just
we
just
systematically,
went
through
and
destroyed
them,
and
you
know
we
made
some
sacrifice.
Like
I
said
this,
this
sounds
kind
of
weird
coming
from
a
vendor,
but
it's
a
worthy
trade
off
for
us.
That's
why
we
built
it
the
way
we
did.
Okay,.
A
No,
as
I
mentioned
before
for
us
workflows
are
king.
This
isn't
these
isn't
just
as
sort
of
a
random
mantra.
This
is
meaningful.
This
is
something
that
we
aligned
to
for
the
NRA
life's
Project.
Whenever
we
build
anything
into
it,
we
keep
this
in
mind.
What
does
this
mean?
What
this
means
is
sort
of
what
I
touched
on
earlier.
You
know
tools,
don't
solve
problems,
they're
cool
they're
fun
to
play
with,
but
they
don't
solve
problems.
A
When
you
have
to
move
the
stuff
into
production,
it
has
to
solve
a
problem
and
regardless
of
whether
or
not
you
use
automation,
we
do
this
today,
I,
don't
care
what
level
of
automation
you're
at
you're
all
problem,
solvers!
That's
the
definition
of
an
engineer.
How
do
we
solve
problems?
What
we
do
is
we
implement
either
manually
or
automated,
ever
workflows,
to
go
against
her
infrastructure
to
accomplish
a
task.
Let's
say
you
need
to
bring
up
a
remote
site.
A
A
My
point
is
that
that
needs
to
be
acknowledged
that
workflow,
that
thing
that
you
go,
that
process
that
you
go
through
either
in
a
documented
form
or
not
whether
in
an
automated
form
or
not
has
to
be
explicitly
recognized
when
we
call
those
things
out
and
we
get
good
at
describing
the
different
steps
of
those,
the
algorithmic
sort
of
logic
that
goes
through
those
workflows
and
taking
nothing
for
granted.
What
we
have
is
fertile
ground
for
automating
it.
A
So
it's
good
practice
just
to
do
regardless
I,
don't
care
if
you're,
never
gonna
automate,
it's
just
a
good
practice
operationally,
but
it
also
sets
the
stage
for
automation
so
for
us,
when
we
align
sort
of
what
the
kind
of
content
that
we
think
about
putting
in
Denari
lab.
So
this
introduction,
the
animal
was
kind
of
fun.
Yeah
I
mean
drew
had
a
good
time.
I
think
I.
Hope
it's
not
Starcraft,
but
it's
close.
So
you
know
it's
it's
fun,
but
again
it's
about
application
of
these
technologies.
You
can't
get
to
success
in
that
automation.
A
Last
mile,
until
you
apply
these
technologies
in
a
specific
way,
so
I
think
everybody
sort
of
implicitly
knows
that
I'm
not
really
telling
you
anything
new.
The
difference
here
is
what
we,
what
we
get
is
and
then
I
should
mention.
You
know
the
workflows,
they're
important,
but
everybody
knows
we.
You
can
talk
about
the
high
level
stuff
all
day,
but
when
you
need
to
put
this
stuff
into
production,
the
details
very
much
matter
so
I
want
to
mention
that
I
think
everybody
goes
through.
This
I've
talked
to
many
customers
and
they
all
identify
with
this.
A
We
as
engineers
we
as
technical
people.
We
have
a
really
good
handle
on
where
we're
at
today.
What
skill
sets
we
have?
What
skill
sets?
We
don't
have
we
hear
things
we
hear
buzzwords,
we
hear
terms,
we
hear
you
know
at
conferences,
we
hear
things
and
we
we
sort
of
know
ourselves
and
self-analyze
on
the
skills
that
we
have.
So
we
have
a
pretty
good
handle
on
that.
A
We
don't
really
need
anybody
to
tell
us
that,
and
similarly,
because
we're
in
charge
of
operations
for
our
companies,
we
actually
have
a
really
good
idea
of
the
kind
of
workflows,
as
I
mentioned,
that
we're
gonna
need
to
deal
with
on
a
day
to
day
basis,
again,
maybe
they're
not
like
crazy,
well-documented,
but
they
exist
and
we
know
about
them.
We
know
what
it's
gonna
take
when
we
need
to
add
a
new
when
we
need
to
bring
up
a
new
storage
ray.
A
We
know
yes,
storage
ray
from
vendor
x-axes
this
way,
so
we
got
to
make
sure
we
handle
it
thusly
all
these
things
that
are
just
baked
into
the
the
DNA
of
an
Operations
professional.
These
workflows
need
to
be
acknowledged,
so
we
know
both
of
these
Wiimote.
We
know
both
of
these
things.
The
problem
always
comes
up.
If
you
are,
if
somebody
tells
you
you
need
to
automate,
that's
not
really
something
you
can
argue
about.
It
sounds
good
right.
I,
don't
really
have
like
explicit
arguments
against
automation.
Does
it
it's
not
like
it
sucks?
A
It's
a
horrible
idea,
everybody
kind
of
agrees.
It's
a
good
idea
right,
but
the
problem
actually
happens
between
the
between
these
two
stages:
the
two
things
we
have
a
tight
grasp
on
there's
this
like
cloudy
part
in
the
middle,
it's
like
really
hard
to
define
and
we
can't
really
put
meat
on
the
bones
and
I
mentioned
Devils
in
the
details
right.
If
you're
gonna
put
the
stuff
into
production
that
cloudy
ain't,
gonna,
work
and
I
don't
mean
the
cloud
I
mean
this.
This
ethereal
mess
I
have
nothing
against
the
cloud.
I
use
the
clown.
A
I
was
great,
so
those
of
us
that
actually
have
automated
we
build
this
sort
of
mental
map
in
our
mind
of
the
different
pieces
that
need
to
fit
together.
This
map
that
may
be
obvious
to
myself
and
a
few
of
others
in
the
room
that
have
automated
before
is
incredibly,
not
obvious
to
literally
everyone
else
right
all
of
these
things,
you
know,
I
take
this
for
granted
I'm
guilty
of
everything
I'm
talking
about.
A
Today,
we
take
for
granted
all
of
the
little
teeny
lessons
we
learned
along
the
way
by
doing
this
stuff
in
production
or
even
not
in
production,
it's
blogging
about
it.
All
this
stuff,
we
picked
up
along
the
way
and
then
somebody
that's
totally
new
to
automation.
They
come
in
they're
like
oh
yeah.
I
want
to
use
automation
to
do
config
management
or,
if
somebody
tells
them
hey,
you
need
to
learn
automation,
so
you
can
do
config
management.
You
know
thanks
I.
Guess
I'll
figure
that
out
they
go
down
this
path.
They
have.
A
They
inevitably
start
looking
at
tools.
But
what's
what
kind
of
sucks
about
this
process
is?
There's
a
slew
of
land
mines
sitting
back
here
that,
if
you
don't
know
this
stuff,
you're
just
gonna
struggle
and
usually
the
way
that
works
out
is
one
of
two
ways
you
either
you
know,
break
your
network.
Nobody
wants
that
or
you
just
spin
your
wheels
and
get
depressed
about
quote
how
little
you
know
when
in
reality
you
are
actually
most
of
the
way
there
you
just
need
to
fill
in
some
of
the
gaps.
A
So
if
we're
gonna
move
the
industry
forward,
I
think
what
we
have
to
do
is
explicitly
go
after
this
problem.
So
workflows
are
king.
We
start
with
the
use
case.
We
start
with
what
it
is
that
we're
trying
to
do,
but
we
cannot
ignore
all
of
the
prerequisites,
whether
they're
tools
or
fundamental
knowledge.
So
we
start,
but
we
have
to
map
this
out
sound
good.
So,
let's
take
an
example,
other
example,
compliance
validation
and
anybody
ever
worked
on
like
a
federal,
Network
military
Network.
No,
the
Stig
is
heard
of
that.
A
So
it's
similar
to
like
what
you
would
expect
in,
like
PCI
or
HIPAA,
plus,
something
like
that
and
they're
publicly
available.
You
can
see
them.
I'm,
actually,
gonna
show
you
less
on
this.
It's
a
set
of
guidelines
that
are
mostly
common
sense,
but
they're
required
for
military
Network
devices
to
have
certain
configurations
to
reduce
the
attack
surface
right,
pretty
good
idea
and
the
task
of
constantly
making
sure
that
your
network
devices
are
compliant
with
with
the
Stig.
For
therefore
their
vendor
is
time
consuming
to
say
the
least.
I'll
leave
it
at
that.
A
It
sucks,
and
we
know
this.
This
is
like
I
said
we.
We
all
know
these
worklet.
If
for
people
that
do
military
stuff,
it's
like
second
nature
of
them,
they
don't
even
need
to
think
of
it.
It's
just
part
of
their
operations
DNA,
so
they
think
about
this
all
the
time
and
they
they
they
know
that
automation
they
implicitly
know
automation,
could
help
it's
not
a
matter
of
motivation.
It's
a
matter
of
how
do
I
get
there
right,
and
so
we
map
out
things
like
this.
A
You
can
also
talk
about
what
prerequisites
exist
for
those
tools,
like
you
probably
need
to
look
know
a
little
bit
of
Gamal
and
Bosch
for
Jason
a
pee
and
then
Bosch,
Jinja
and
Python
for
napalm
again,
if
you've
done
this
for
a
living,
it's
kind
of
obvious,
but
I
guarantee
you
for
most
people,
it's
not
and
I,
think
it's
important
for
us
to
explicitly
call
it
out
and
provide
tools
to
map
that
out.
So
that
leads
me
to
my
second
phase
of
my
demo.
A
So
I
go
back
to
the
page,
the
nra,
labs
page,
if
you
click
on
search
lessons
you're
presented
with
this
screen
that
shows
the
nra
labs
advisor
and
everything
I'm
gonna
talk
about.
You
can
also
bypass
if
you
want,
if
you
know
the
lesson
that
you
want
to
access.
Let's
say
you
want
to
go
back
to
the
mo
lesson.
You
can
just
click
on
that
link
and
it'll.
Send
you
right
back
to
it.
So
this
isn't
forcing
you
down
a
path,
but
let's
say
you
don't
know
what
content
you
want.
A
You
just
want
to
learn
something.
Let's
say
you
start
with
that
workflow
in
mind.
I
know
that
I
need
to
automate
compliance,
verification
or
I
or
maybe
I
just
want
to
search
for
stig
and
I
and
I
type
that
into
the
box.
You
can
see.
I
have
some
search
results
here
now
you
can
see
that
there's
some
other
search
results
that
may
be
related,
but
they're,
ranked
according
to
confidence
and
I
can
say.
Oh
look
that
description
for
that
lesson
looks
looks
exactly
like
what
I
want.
It
says.
A
You
know
talks
about
the
DoD
infrastructure
and-
and
you
know,
saving
time
for
manual
data
gathering,
because
that's
what
I
do
today.
Let's
click
on
that
again
you're
not
presented
with
a
lesson:
what's
happened
in
the
back
end
and
I
can
show
you
how
this
works.
It's
friggin
cool,
we've
actually
decorated.
Each
of
these
lessons
remember
they're
all
and
get
they're
all
text
files.
We've
decorated,
those
that
metadata
with
prerequisites.
So
each
lesson
has
a
list
of
prerequisite.
Lesson
IDs
right.
A
So
the
stig
lesson
has
a
list
of
lessons
that
maybe
feed
up
into
that
something
like
Jason
a
fee
or
napalm.
Guess
what
those
lessons
do
to
those
lessons
require
you
to
know
things
like
yeah,
Moe
and
Bosch
and
Python,
and
what
happens
in
the
backend
there's
an
API
behind
the
scenes
that
does
this
for
the
front-end
it
presents
a
list
of
it
presents
a
flattened
version
of
that
dependency
tree
and
says:
here's
all
the
dependencies
that
you
may
need
to
know
about.
A
So
what
I
do
as
a
reader
I,
don't
need
to
guess
as
to
what
kind
of
skills
I
need
going
in.
It's
listed
for
me
here
and
the
cool
thing
about
this
tool
is
I
can
give
myself
a
self-assessment.
I,
know
Nate
palm
pretty
well
and
as
a
result,
I
know
you
know,
let's
say
Jinja
pretty
well,
I
know
yeah
Mille
kind
of
well,
let's
say
I,
don't
know
Jason
Eppie
at
all
and
I
know
Linux
kind
of
well.
A
Let's
say
I
know
napalm
really
well,
so
we
submit
this
and
it
renders
this
report
out
which
I'll
zoom
out.
So
you
can
kind
of
see
it
rentals
renders
this
report
out,
which
you
can
customize,
let's
say,
Matt's
journey
to
stick
or
let's
say
Drew's
journey
to
stick.
It's
not
all
about
me
and
what
the
cool
thing
about
this
is.
These
links
are
clickable,
so
you
can
actually
go
to
the
lessons
from
if
you
print
this
to
a
PDF
which
you
can
do
using
this
button
by
the
way.
A
A
So
that's
where
you're
going
and
you
get
this
like
cool
heat
map
of
the
things
that
you
need
to
focus
on
to
get
you
there,
because
more
than
likely
in
this
in
this
journey,
you're
gonna
discover
that
you
actually
know
some
of
these
things
going
in,
and
you
want
to.
You
want
to
have
that
represented
in
this
report.
So
I
don't
necessarily
need
to
go
over
napalm
again.
I
really
know
it
pretty
well,
I'm
pretty
weak
in
Linux
and
the
amyl
and
Jason
a
piece
I'm
gonna
focus
there
right
helps.
A
You
focus
your
efforts,
but,
more
importantly,
regardless
of
whether
you
know
what
strengths
you
have
the
journey
from
where
you
are
whatever
that
is
to
the
end
destination
that
you
specified
is
explicitly
given.
There's
no
guesswork
here,
there's
no
like
well,
you
know
what
if
I'm
gonna
encounter
something
or
there's
no
like
landmines
of,
like
you
know,
a
lesson
that
refers
to
some
some
other
language
that
we
don't
have
a
lesson
about.
Like
that
doesn't
happen,
we
build
prerequisites
in
as
an
explicit
map
so
that
you
have
no
guesswork.
A
You
don't
have
to
figure
out
like
what
else
do
I
have
to
learn
it's
all
here
in
the
in
the
report.
That's
pretty
cool,
so
yeah!
So
that's
the
advisor.
Actually,
let
me
go
back
to
that.
I
want
to
show.
Let's
say
one
of
one
of
the
prerequisites
was
Jason
Appy.
So
this
is
a
tool
that
juniper
uses.
You
can
go
straight
there,
but
I
actually
already
have
it
open.
So
let's
just
go
straight
to
that
tab.
A
So
Jason
app
is
kind
of
cool,
as
you
might
have
seen
when
Drew
was
up
here
with
the
MLS
and
we
have
a
pretty
similar
layout
right.
We
have
a
terminal
to
the
right
and
we
have
a
lab
guide
to
the
left.
So
you
don't
need
to
know
anything
about
Jason
Appy,
you
don't
have
you
really
have
to
know
anything
about
anything,
although
it
would
be
meaningful
if
you
knew
something
like
you
know,
Python,
it
would
be
helpful
because
that's
a
prerequisite
for
this
lesson,
but
there's
a
few
other
cool
things
here
too.
A
So
you
don't
just
have
a
Linux
container.
You
might
also
notice
there
are
some
other
tabs
as
opposed
to
the
MLS,
and
we
saw
VQ
effects
one
so
again,
no
tabbing
to
your
terminals.
You
can
SSH
to
some
public
IP
that
totally
doesn't
host
malware,
not
that
that
happens,
I'm,
making
a
joke,
but
vqf
x1
is
something
that
we've
spun
up
in
the
cloud
on
kubernetes
for
you
to
use.
So
remember
what
I
said
about
the
Linux
container,
the
dru
was
using
its
spun
up
on
demand
right.
So
it's
his.
A
You
know
what
everyone's
same
applies
here.
Every
resource
that
we
spin
up
in
this
is
spun
up
on
demand,
for
you
trade-off
being
yeah
might
not
be
super
instant,
like
this
takes
maybe
like
30
seconds
to
come
online
because
the
network
devices,
but
it's
your
environment
and
the
cool
thing
about
this
is
not
only
is
it
your
environment,
but
these
network
devices
are
connected
together
in
a
trial
topology,
and
we
can.
We
can
change
this,
but
this
lesson
shows
them
in
a
triangle
topology.
A
A
So
you
might
notice
that
if
I
showed
vgp
summary
on
vqf
x1,
there's
no
there's
no
BGP
configuration
at
all.
So
obviously
we
don't
have
any
neighbors.
If
you
click
on
these
two
examples,
you'll
see
a
few
EML
files.
This
is
just
not
to
get
too
into
the
weeds
on
J
snappy,
but
you
can
see
this
particular
config
file
just
lists
our
devices
and
the
username
password
and
ports
that
you
need
to
connect
to
them
and
then,
similarly
we
have
another
yamo
file.
A
This
is
again
something
Jason,
a
P
specific
that
lists
tests
to
run
against
our
infrastructure.
Now
this
is
user
definable
and
by
the
way
you
have
a
text
editor
in
the
terminal.
So
if
you
wanted
to
edit
these
tests,
maybe
add
your
own
and
then
copy
them
out
and
run
them
in
your
environment,
totally
fine,
it's
your
environment,
but
up
on
demand.
So
you
can
do
that,
but
the
the
canonical
example
that
we
have
for
you
is
pretty
simple.
A
You
say:
I
assert
it's
an
assertion
just
like
any
other
unit
test
I
make
an
assertion
and
I
fail.
If
it's
false
I
assert
that
there
is
one
group
BGP
group,
configured
I
assert
that
there
are
two
BGP
peers
configured
and
I
also
assert
that
there
are
zero
down
bgp
peers,
meaning
they're
all
up.
So
if
I
run
this
test
because,
as
you
probably
can
guess,
all
of
our
tests
are
gonna
fail
because
there's
no
BGP
configuration
so
they're,
no
peers.
So
all
of
these
tests
we
see
as
a
result
of
this,
have
failed.
A
Now,
that's
a
little
that's
a
little
crazy.
Maybe
you
have
a
little
more
complex
configuration.
You
say
like
yeah
I
expect
that
these
bgp
peers
are
here.
Maybe
one
of
these
tests
fails.
That's
really
valuable,
because
that
can
help
narrow
down
where
the
problem
is
very
quickly.
In
many,
in
many
cases
faster
than
monitoring
again,
if
you're
making
changes-
and
you
say
like
I-
want
to
make,
this
change
run
the
test
first
and
then
maybe
right
after
it'll
tell
you
right
away
if
something's
wrong.
A
So
that's
just
sort
of
a
little
thing
on
on
unit
testing
in
general,
but
the
point
of
enter
the
NRI
Labs
lesson.
Is
you
get
to
see
that
in
action
without
deploying
this
on
the
infrastructure?
Now
in
many
lessons,
you
actually
have
multiple
labs.
So
this
whole
thing
is
a
lesson.
If
you
click
the
drop
down,
you
can
see
that
we
actually
have
two
labs
inside
of
this
lesson.
So
obviously
we
probably
want
to
see
the
lessons
pass
right.
A
So
if
we
could
take
a
break
while
I,
reconfigure,
BGP
and
I'm,
just
joking
I'm,
not
gonna,
reconfigure
BGP.
This
is
another
cool
thing
we're
doing
so.
I
mentioned
these.
These
network
devices
are
spun
up
on
demand
for
you
right.
This
is
your
environment.
When
you
go
between
labs
actually
happening,
is
it's
spinning
up
something
I
did
a
little
bit
of
kubernetes
speak.
It's
spinning
up
kubernetes
jobs,
which
are
for
the
sake
of
our
team
in
their
containers
that
run
napalm.
A
Who
here
is
heard
of
an
Eightball
cool
so
pipe
for
those
that
don't
know
Python
library
for
doing
that
work,
automation,
stuff.
We
have
a
lesson
for
napalm
food
by
the
way
it's
spinning
up
napalm
in
a
pod,
all
behind
the
scenes.
You
don't
do
this,
you
don't
even
see
it
and
it's
actually
reconfiguring
all
those
devices
based
on
the
lesson
definition.
So
the
lesson
definition
says:
hey
that
second
lab
uses
this
totally
different
configuration.
A
Can
you
go
apply
it
so
walnut
progress
bar
was
was
showing
all
of
that
was
taking
place
so
I
haven't
I've
been
talking
this
whole
time.
You've
seen
that
right,
so
I
can
do,
show
BGP
summary
and
you
can
see.
Oh,
it
looks
like
DQ
effects.
One
didn't
connect.
Sometimes
this
happens.
Let
me
refresh
there's
a
bug
for
the
terminal.
Sometimes
it
fails
to
connect
if
you're
fresh
it
fixes
it.
Oh
it's
not.
Let
me
do
it
on
VFX,
oh,
we
could
be
summary.
A
You
can
see
that
that's
working,
so
the
BGP
peers
are
up
again.
It's
a
triangle
topology,
so
the
same
is
true
on
DQ
effects
along
with
just
you
know,
different
peers,
but
we
can
go
back
to
Linux
one.
You
can
see
again
we
print
out
the
tests.
Those
assertions
haven't
changed
one
group,
two
peers
and
zero
down
peers.
So
let's
just
rerun
the
test,
because
the
configurations
taken
place
for
us
all.
The
tests
are
gonna
pass.
Now.
A
The
thing
I
want
to
highlight
here
isn't
that
we've
reconfigured
that's
pretty
cool,
but
but
the
reason
we've
done,
that
is,
we
don't
want
to
place
again
this
whole
90%
learning
stuff
to
learn
the
10%
of
stuff.
You
actually
came
to
learn,
that's
unacceptable,
so
we've
done
everything
possible
to
keep
you.
The
learner
focused
on
exactly
what
you
came
to
learn.
You
didn't
come
here
to
learn
about
how
BGP
is
configured.
I
would
hope
that
you
probably
know
how
to
do
that
before
coming
to
this
lesson,
but
that's
fine.
A
The
point
is
this
lesson
is
about
learning
unit
testing,
specifically
with
Jason
EFI.
Anything
else
is
a
distraction,
so
we
try
as
best
we
can
to
keep
all
of
those
other
obstacles
out
of
the
way
and
reconfiguring
things
to
fit
the
mold
as
part
of
that,
so
I
want
to
hit
on
this
real.
Briefly.
I
don't
spend
too
much
time
on
this,
but
this
is
super
cool.
Anybody
use,
Jupiter
notebooks,
so
Jupiter
notebooks
are
really
cool.
A
If
you
could,
if
you,
if,
like
Python
scripts
and
blog
posts,
had
a
baby
that
would
be
Jupiter
notebooks
so
like
if
you
wanted
to
run,
interact
Python
code
inside
of
your
blog
post.
Many
of
us
do
this.
Where
we
write
blogs,
we
do
like
little
code
snippets
like
that's
easy
to
do,
but
it's
not
interactive.
What?
If
each
of
those
code
snippets
was
an
interactive
Python
interpreter
that
actually
executed
the
code
inside
badass
right,
that's
what
that's!
A
What
a
jupiter
notebook
is:
wouldn't
it
be
cooler
if
there
was
a
jupiter
notebook
server
that
was
executing
these
notebooks
in
the
same
virtual
environment
as
all
of
our
networked
devices
in
our
Linux
containers
and
was
actually
punched
into
those
things?
How
badass
would
that
be?
That's
what
we've
done
so
the
cool
thing
about
this
this
this
Jupiter
notebook
is.
A
It
uses
some
of
the
same
principles
like,
for
instance,
we're
using
the
hostname
vqf
x1,
and
the
cool
thing
about
running
inside
of
kubernetes
is
everything
is
named
spaced,
so
I
don't
need
to
provide
an
sq
DN
here
when
I
say
vqf
x1,
it's
your
V
Q
F
x1,
not
not
Dru's,
not
anybody
else's
around
the
table
and
that's
pretty
cool,
and
because
it's
in
a
Jupiter
notebook
I,
don't
need
to
type
any
code.
I
just
execute
it,
and
you
can
see
how
this
comings
gonna
go
next
next.
A
Next,
through
these
examples,
that's
opening
a
connection
and
retrieving
the
facts
from
this
device.
It's
just
a
list
of
common
facts
that
you
might
want
to
know
like
vendor
is
juniper
model
is
VQ
Effects
10,000,
that
kind
of
stuff.
So
if
you
have
Jupiter
notebook-
or
you
know
somebody
that
has
Jupiter
notebooks,
we
can
actually
use
those
as
the
lesson
guide.
So
we're
not
just
demolishing
barriers
for
consumers,
we're
demolishing
barriers
for
people
who
are
contributing
content
to
it's.
A
It's
not
acceptable
for
us
to
have
a
platform
that
makes
it
difficult
for
people
to
contribute,
because
we've
failed
our
mission,
if
we've
done
that
this
is
not
a
Juniper
thing.
This
is
an
industry
thing,
so
there
are
a
lot
of
Jupiter
notebooks
out
there
that
exist
for
teaching
things
like
Network
automation
and
we've
created
a
way
for
you
to
reuse
that
content
as
easily
as
possible.
A
That's
pretty
cool
thanks,
ISA,
so
last
last
demo
and
then
I
think
I
have
a
few
minutes
left
we'll
get
into
some
of
the
weeds
I
mentioned
the
whole
purpose
of
everything
that
we've
been
learning
up
to
this
point
is
automated:
stig
compliance
validation.
So
what
you'll
see
the
last
two
lessons
are
sort
of
a
one
on
one
thing
like
here's,
how
Jason
happy
works?
Here's
how
napalm
works.
This
lesson
is
actually
focused
not
on
new
tools
or
new
concepts.
It's
about
the
application
of
those
tools.
A
This
is
the
culmination
of
everything
we've
been
learning
and
we
haven't
left
the
browser.
Yet
it's
pretty
cool
right.
So
we
go
down
this
path
and
again
you
know
we
we,
we
know
a
lot
of
this
stuff
because
I
need
to
reconnect.
Actually,
we
know
a
lot
of
this
stuff
cuz.
We
saw
this
in
the
in
the
Jupiter
notebook
for
napalm.
It's
just
gonna
rerun
some
Python
code
for
us
and
show
that,
for
instance,
the
SNMP
information
is
showing
that
we
have
a
readwrite
string
and
installed
in
a
configuration.
A
Well
guess
what
the
US
military
doesn't
think
to
timely
about
readwrite
strings,
and
you
can
see
that
in
the
tests
that
we've
written.
So
this
is
a
way
of
unit
testing
with
napalm
again
we've
we've
learned
napalm
already
now
we're
applying
it
to
solve
this
particular
problem.
I
need
to
make
an
assertion
that
the
that
the
when
I
submit
the
function
get
SNMP
information
that
the
community
string,
antidote,
which
is
just
the
name
of
the
string,
is
set
to
read
only
mode.
A
That's
the
assertion
and
by
the
way,
we've
decorated
that,
with
the
actual
Stig
compliance
number
and
like
I,
said,
if
you've
been
in
this,
if
you've
been
those
shoes
where
you
have
to
enforce
compliance
on
your
network
for
these
kind
of
behaviors
guarantee,
you
have
this
memorized,
so
this
is
gonna
call
out
very
specifically
to
those
that
know
this
pain
that
this
is
gonna
solve
that
problem.
So
you
can
see
this
runs
the
test
now
the
way
napalm
does
this.
Is
it
just
prints
out
a
bunch
of
JSON?
Don't
worry
about
reading
this?
A
The
important
part
is
up
at
the
top
where
it
says
complies
equals.
False
means,
there's
no
compliance
and
that's
because
we
have
a
read,
write
string,
so
I'll
run
this
snippet
to
very
quickly
fix
the
problem,
and
obviously
you
should
probably
automate
this
as
well,
but
for
the
sake
of
the
example,
we've
just
run
it
via
the
CLI.
So
you
can
see
that
we've
set
the
community
sting
strain
to
read-only
and
then
I'll
rerun.
The
test
and
it'll
show
comply
to
equal
complies
equals
true.
So
again,
not
the
point
of
this
is
until
our
napalm.
A
B
A
I,
honestly,
I
I,
it's
I
think
it's
I,
think
I
can
speculate
and
say
you
know,
I,
think,
there's
gonna
turn
of
adoption
or
I.
Think
there's
gonna,
be
you
know,
limited
adoption,
but
you
know
the
reality
is
we're
in
this
situation
for
a
few
key
reasons,
and
those
key
reasons
are
pretty
obvious
at
this
point:
we've
created
barriers
right
and
I
believe
you
know
we're
in
these
positions,
not
because
we
are
incapable
or
incompetent
we're
in
these
positions
because
of
the
barriers
that
have
been
placed
in
front
of
us
I.
A
Think
if
we
work
you're
removing
those
barriers,
some
of
those
problems
will
start
to
go
away.
I
think
most
people
in
the
industry
actually
crave
this
stuff.
They
just
start
down
the
path
and
they
encounter
landmines.
So
I
think
if
we
can,
if
we
can
start
solving
some
of
these
problems
and
putting
the
barriers
down
and
they
will
see
a
very
different
industry.
A
We
yes,
so
we
actually
have
some
of
that
already
where
this
is
something
that
we're
constantly
thinking
about
adding
to.
We
do
have
a
DevOps
track
for
some
of
our
for
our
our
existing
certs,
but
we're
always
adding
content
there
I
think
similarly,
I
mean
a
lot
of
folks
learn
different
ways.
You
know
this
is
sort
of
a
learning-by-doing
thing.
We
want
to
make
sure
that
people
can
learn
that
way,
because
that's
all
I
learned
right.
A
So
selfishly
that's
the
kind
of
stuff
I
like
to
see,
but
you
know
the
structured
learning
in
like
again
mapping
that
path
out.
That's
super
useful,
and
so
we
knew
that
kind
of
stuff
all
the
time,
so
the
DevOps
tract
that's
available
now,
actually
I
think
it
next
worker
recently
broke
that
up
into
three
separate
certs.
So,
instead
of
just
the
one,
you
can
do
the
different
tiers.
A
A
A
So,
let's
see,
what's
a
good
slide
to
show
so
I'll
show
this
I'll
really
just
focus
on
these
two
slides,
because
I
think
these
show
the
majority
of
what
so
I
mentioned
everything's
on
top
of
kubernetes,
we
use
kubernetes
as
just
the
orchestrator
for
running
the
compute
workloads
that
require
that
are
required
for
all
of
the
lessons.
So
everything
you
spin
up
is
running
inside
of
a
kubernetes
pod,
slash
container
at
the
end
of
the
day.
But
on
top
of
that,
we
need
to
make
certain
decisions
about
how
that
how
that
information
is
presented.
A
So
the
front
end
that
you
saw
is
called
antidote
web.
That
is,
a
combination
of
javascript,
HTML
CSS,
the
kind
of
stuff
you
would
expect
a
teeny
little
bit
of
Java
as
little
Java
as
Paz
was
required
by
the
technology,
we're
using
a
project
called
guacamole,
and
it
basically
does
HTTP
tunnels
between
the
the
servlet
and
the
front-end
to
allow
us
to
do
the
ssh
magic.
So,
just
a
little
bit
of
Java
that
makes
that
possible,
but
the
majority
of
the
logic
on
the
front.
It
is
actually
JavaScript.
A
So
the
backend
is
a
component
called
syringe.
This
is
actually
written
in
go
what
this
does
is
it
presents
an
API
to
the
front-end
and
makes
all
of
those
lesson
details
available.
Now
the
really
cool
part
about
that
is
no
content
at
all.
None
is
defined
in
either
of
those
two
components.
There
is
no
content
that
you
saw
today
that's
inside
of
either
of
those
two
components:
we've
broken
that
out
into
an
abstraction
that
allows
you
to
define
the
define
those
things
as
code
and
so
NRE
labs
itself.
A
The
content
that
you
just
saw
is
actually
its
own
repository
as
lesson
files
write
lesson
directories,
and
so,
if
you
wanted
to,
you
could
take
the
open
source.
That's
here
on
the
platform,
layer
and
sub
that
out
with
your
own
lessons
and
offer
that
yourself
all
right,
so
we've
sort
of
segmented
those
I
won't
say
disaggregation,
we
haven't
done
it.
We
kind
of
have,
though,
so,
a
little
a
little
bit
more
detail
on
how
this
works
inside.
A
For
those
that
are
familiar
a
little
bit
with
how
kubernetes
works
we
have
most
of
the
Flex
said
we
have
most
things
deployed
inside
of
kubernetes
as
pods.
Now,
there's
things
on
top
of
that
that
make
things
more
resilient,
replication
controllers
and
things
like
that.
But
these
are
the
components,
so
everything
goes
through
a
load,
balancer
I
think
that's
pretty
obvious
everything
all
the
requests
you
know
from
the
front-end
goes
through
this
load.
Balancer
gets
delivered
to
the
to
the
component
that
you
need
to
access.
A
So
for
most
people,
that's
gonna,
be
this
antidote
web
thing,
that's
that's
the
the
servlet
that
runs
on
the
backend
that
allows
you
to
do
the
terminal
session,
which
is
pretty
cool.
Similarly,
the
REST
API,
that's
offered
by
syringe,
is
also
offered
there.
So
there's
a
there's,
a
a
path
for
going
to
the
syringe,
API
and
the
front-end
knows
how
to
get
to
that.
A
One
part
that
actually
exists,
but
I
haven't
demoed
it
because
we're
still
working
out
the
case,
but
it
actually
does
work
to
a
degree,
because
this
is
how
we
showed
you
for
your
notebooks.
You
can
actually
use
HTTP
to
access
certain
lesson
resources.
Not
everything
is
reachable
over
SSH.
Let's
say
you
have
an
eye
Pam
that
you
need
to
show
the
UI
for,
let's
say
you're
running
netbox.
A
It
looks
at
its
current
state
where
it
shows,
like
all
the
different
lesson,
definitions
and
because
of
that
definition
that
again
we've
stored
is
in
get.
It
knows
what
resources
to
spin
up
it
says:
oh
I
need
three
vqf
X's
and
they
need
to
be
networked
this
way.
You
can
actually
see
some
of
that.
If
you
look
at
the
networking,
this
is
a
KU
cuddle
command.
Where
you
say,
hey
show
me
the
state
of
this
pod.
So
this
is
the
lesson
32
some
session
ID
and
then
the
name
vqf
x1.
A
This
is
the
actual
networks
that
it
builds
on.
The
backend
all
I
do
is
I
specify
how
those
pods
connect
or
that
they
need
to
connect
and
the
networking
behind
the
scenes
does
its
magic
actually
uses
Linux
bridge.
So
that's
pretty
cool
any
other
questions
before
I
wrap
up.
So
you
say:
there's
an
open
source
project.
A
Half
they
get
involved.
Yes,
let
me
let
me
go
to
that
last
slide,
because
that
is
important.
So
if
you
want
to
contribute,
please
do
it's
everything
it
here
is
open
source.
That's
the
whole
point
of
this:
it's
not
to
be
a
Juniper
resource.
It's
meant
to
be
a
community
initiative,
helping
everybody
focus
on
the
workflows,
and
so,
if
you
want
to
join
the
internet
slack,
we
have
a
channel
there.
A
The
github
organization,
NRE
learning,
is
there
that's
where
everything
is
hosted:
various
repos
inside
that
org,
but
it's
all
under
that
org
there's
also
the
docs
the
project
that
powers
all
this.
We
actually
call
it
antidote
because
with
it
we
have
NRV
labs.
That's
sort
of
the
Juniper
sponsored
version
of
this,
but
antidote
is
the
name
of
the
software
and
then
finally,
you
can
follow
us
on
at
energy
labs
and
of
course,
if
you
wanna
go
to
the
site,
it's
labs
network
relay.
He
done
engineering.