►
From YouTube: OpenShift Coffee Break: Quarkus intro on OpenShift
Description
Get your espresso ready for the OpenShift Coffee Break as we welcome our special guest Daniel Brintzinger, Solution Architect at Red Hat. We'll talk about how Quarkus, a supersonic subatomic Java framework, can help you use existing skills and code in new ways and dramatically reduce the technical burden when moving to OpenShift.
Twitch: https://red.ht/twitch
A
A
A
A
A
Hello
and
welcome
everyone
to
our
weekly
appointment
with
openshift
coffee
break
and,
as
usual,
we
have
our
jafar
in
natalie.
A
C
Oh
yeah,
good
morning,
everyone,
I
hope
you
had
your
coffee,
show
to
awaken
your
scent.
Today
we
are
gonna,
try
to
awaken
your
scent
with
a
nice
talk
about
quarkus
on
openshift,
and
I
know
jafar
and
daniel
has
a
surprise
for
us.
In
the
demo
there
will
be
a
new
new
feature,
new
stuff,
very,
very
cool
stuff.
I
can
say
the
word
daniel,
I
can
say
micro
shift.
A
Guys
stay
until
the
end
when,
when
daniel
is
gonna,
show
us
a
little
bit
of
micro
shift
and.
D
Devnation
power
of
death
to
the
ops,
so
I
think
that's
what
all
openshift
is
about
anyway.
You
know
bringing
devs
and
ops
together.
So
I
think
we'll
talk
about
that
today
as
well.
A
And
we've
had
other
occasions
where
we
talked
about
quackers,
but
we
thought
it
would
be
a
great
idea
to
get
daniel
to
have
take
a
step
back
and
give
us
all
the
rational
behind
quackers
and
talk
a
little
bit
more
in
depth
about
the
technology
so
daniel.
What
was
your
previous
experience?
Were
you
a
java
developer?
Did
you
work
with
java?
What
what
that's,
how
you
got
to
to
quarkus.
D
Absolutely
I
mean
you
know:
java
has
been
with
me
from
university
through
working
at
different
companies.
It
was
always
like
a
you
know,
constant
technology,
which
I
worked
with.
Interestingly
enough
at
the
university.
They
would
always
switch
in
semesters,
teaching,
java
and
then
scheme,
and
you
know
you
don't
really
hear
a
lot
about
scheme
projects
nowadays
anymore,
so
I
was
really
lucky
to
have
java
and
you
know
I.
D
I
really
love
the
language
love
the
technology,
but
at
the
end
of
the
day,
when
you
look
at
a
certain
language,
a
programming
language,
it's
not
just
about
the
constructs.
You
know
there
may
be
some
languages
or
runtimes
out
there.
That
may
be
a
little
bit
more
elegant
or
have
some
kind
of
advanced
features,
but
it's
about
the
community.
It's
about
the
tooling!
It's
about
the
people
who
know
it.
It's
about.
You
know,
support
documentation,
tooling,
all
these
kinds
of
things,
that's
really
what
makes
the
power
of
java.
D
A
D
Yeah
I
I
actually
wrote
a
database
connector
for
berkeley
db
for
scheme.
I
think
it
still
exists
somewhere,
but
yeah
projects
of
the
youth.
A
Okay,
so
what
are
you
showing
us
today
and
maybe
you're
gonna,
give
us
an
introduction
to
to
quarkus?
First
of
all,.
D
Absolutely
so
by
coincidence,
I've
prepared
some
slides
on
caucus,
which
I
would
actually
show
you
because,
as
you
mentioned,
I
think
it's
some
of
the
previous
coffee
breaks.
You
showed
pieces
of
caucus.
I
think
you
showed
some
advanced
topics
microservices
distributed
transactions,
but
I
think
it's
important
to
take
a
step
back
and
have
a
look
at
corkers
and
especially
cube
native
java,
because
java
was
really
invented
in
another
time.
D
So
I
think
if
you
can
share
my
screen
yep
that
looks
good.
So,
let's
get
started
with
that.
I
just
recently
I
think.
Yesterday
I
pulled
the
current
tyobi
popularity
index
for
programming
languages
and
it's
it's
always
interesting,
because
java
is
always
at
least
in
the
top
three
I
mean
it's,
you
know
it
jumps
to
the
top.
Then
it's
sometimes
it's
on
level,
two
or
three,
but
it
shows
you.
It's
been
popular
one
of
the
most
popular
languages.
D
But
when
we
look
at
what
is
actually
being
deployed
on
kubernetes
on
openshift,
and
that's
really
where
the
value
comes
from,
when
you
have
something
like
openshift,
you
know
the
workloads
on
top.
You
know
it
really
becomes
apparent
that
java
has
been
designed
in
another
time.
You
know
where
you
deployed
your
workloads
on
bare
metal
servers
on
virtual
machines.
D
That
would
be
run
developed
as
monolithic
applications
to
be
run
for
a
very
long
time
with
high
throughput
and
now,
when
we're
talking
about
cloud
native
containerizing
application,
containerizing
workloads,
especially
microservices,
as
was
mentioned
in
the
previous
coffee
breaks.
You
know
when
you
have
different
small
services,
communicating
with
each
other
and
then
even
going
further
to
serverless.
D
When
you
have
sort
of
stateless
workloads
that
can
scale
up
very
fast,
that
can
use
resources
efficiently,
and
especially
it's
kind
of
event-driven
architectures,
maybe
talking
through
a
kafka
system
where
everything
is
an
event
in
my
system,
something
like
an
online
shop
order.
Any
any
kind
of
logging
information
is
an
event
in
my
system.
This
is
really
when
we
see
other
runtimes
being
used.
D
More
often,
I
think
you
will
encounter
when
you're
looking
at
openshift
a
lot
of
these
microservices
being
written
in
node
and
probably
also
go,
which
makes
sense
since
kubernetes
itself
is
written
in
go
and
these
languages
are
being
perceived
to
be.
You
know
more
more
sort
of
lightweight.
You
know
easily
scalable,
while
a
lot
of
people
are
saying
you
know,
java
is
a
little
bit.
Clunky
has
needs
a
lot
of
memory
in
that,
and
it's
not
really
being
perceived
as
the
sort
of
cloud
native
runtime
that
much
and-
and
why
is
that?
D
Well,
as
I
mentioned,
you
know,
it
was
created
in
another
time
when
you
had
like
an
operating
system.
You
had
your
java
virtual
machine.
You
had
a
big
application
server.
You
had
some
some
frameworks
which
were
specific
for
your
applications,
and
then
you
had
multiple
applications
running
on
your
java
application,
server
being
packaged
as
war
files
as
ear
files,
and
these
would
run
for
a
very
long
time.
D
They
would
need
a
lot
of
memory.
They
you
know
they
were,
I
mean
you
would
actually
put
updates
into
them.
Maybe
I
don't
know
every
half
a
year
or
so
so
it
would
be
fine
if
they
ran
for
a
long
time,
even
though
they
had
like
very
long
startup
times,
but
it
doesn't
really
match
the
model
of
kubernetes
very
well.
A
A
Ahead
going
back
to,
but
we
don't
need
to
go
back
to
the
previous
slides,
but
you
mentioned
other
languages
that
are
were
considered
more
suitable
for
for
containers,
but
it's
not
just
about
the
language.
Is
it
it's
also
about
the
number
of
ready-made
libraries
and
frameworks
that
you
can
use
on
that
language
to
deliver
an
application?
So
I
guess
no
js
stacks
rather
well,
for
that.
I
probably
wouldn't
consider
going
that
same
category
correct.
E
A
E
Ask
andrea,
and
just
to
add,
on
top
of
that
before
daniel
gives
us
like
a
complete
answer.
I
think,
like
the
complexity
of
the
code,
constructs
needed
to
do
some
recurring
patterns,
I
think,
with
traditional
java.
It
took
a
lot
of
bootstrapping
code
to
be
able
to
have
a
functional
to
do
something
like
crud
or
or
you
know.
E
Basically,
we
do
what
we
used
to
do
with
java
beans
or
whatever,
and
I
think
those
languages
offered
very
much
much
simpler
code
constructs
to
be
able
to
do
these
things
and
that's
probably
why
they
got
adopted.
Also
on
top
of
the
like
the
the
performance
and
the
lightweight
side
of
of
things.
E
Yeah,
can
you
tell
us
in
that
regard
how
quarkus
has
tried
to
change
the
game?
So
you
said
also
something
about
documentation,
and
I
think
that
was
really
something
that
changed
in
the
parker's
way
of
thinking
about
user
experience.
D
That's
that's
actually
a
very
good
point.
I'm
actually
going
to
get
to
that
and
it's
it
was
it
used
to
be
like
a
secondary
point
is
really
like
the
developer
experience.
How
easy
is
it
to
get
started
to
to
scaffold
a
new
project?
What
kind
of
run
times
do
you
have
how's
the
documentation?
D
I
think
you
know
java
really
lacked
that
in
in
the
past,
and
I
think
some
of
the
other
runtimes
were
better
than
that.
So
definitely
a
valid
point,
but
quark
is
really
is
trying
to
address
that
developer
experience
a
developer
fun
in
itself.
So
next
to
you
know
the
actual
runtime
performance
which
which
I'm
currently
at
the
the
actually
developer
experience
to
get
started,
is
very
important
and
is
a
high
priority
on
caucus.
D
So
I'll
definitely
pick
up
on
that
in
one
of
the
next
slides,
but
to
save
for
the
moment
to
just
stay
with
run
time.
To
finish
that
off,
I
was
just
saying:
what's
really
happening,
what
has
happened
with
also
the
other
kind
of
java
frameworks
out
there.
You
know
application
servers
things
like
spring
boot.
D
They
were
being
packaged
into
containers
without
really
changing
them
inherently,
and
while
you
can
actually
do
that,
it
doesn't
really
give
you
this
kind
of
cloud
native
performance
that
you
really
want,
because
you're
still
packaging
the
whole
application
server
the
whole
runtime
into
a
container
into
a
hotspot.
Sorry
in
the
with
a
virtual
machine
into
a
container-
and
it
doesn't
doesn't
really
scale
very
well-
it's
it's
not
really
that
lightweight,
and
especially
for
this
kind
of
serverless.
D
You
know
elastic
scaling
workload,
that's
not
really
what
we
want
and
and
sort
of
like
what
we
say,
the
hidden
truth
about
java
and
containers
and
I've.
You
know
heard
that
a
lot
from,
for
example,
red
hat
partners,
I'm
supporting
and
also
customers,
is
because
of
the
dynamic
heap
of
the
java
applications.
You
need
to
cater
for
this
kind
of
additional
memory
which
an
application
may
need
to
consume
when
it
starts
up.
So
that
means
you
need
to
give
it
some
more
memory.
D
You
know
footprint
some
some
more
memory
sort
of
additional
buffer,
so
it
can
actually
start
up,
even
though,
if
it
reduces
later
on-
and
that
means
you're
not
really
using
your
node-
your
resources
very
efficiently,
because
you
need
to
cater
to
this
kind
of
additional
buffers.
While
you
can
add
more
node
or
maybe
more
go
applications
on
your
node,
so
it's
really
use
of
efficient
resources
here.
D
So
what
really
happened
here
is
that
a
lot
of
experts
you
know
from
community
projects
from
from
a
lot
of
great
java
projects
out
there,
experts
from
red
hat
got
together
and
really
tried
to
envision.
What
java
really
could
look
like
for
the
future?
What's
what's
really
the
next
level
of
java,
especially
on
cloud
native,
so
a
lot
of
people
from
projects
got
together
and
thought
about.
D
You
know
what
does
a
java
developer
nowaday
need
to
develop
for
that,
and
that's
really
when
our
caucus
was
derived
as
a
supersonic
subatomic
next
generation
java
being
cloud
native
and
it's
a
community
project
caucus
io
will
have
a
look
at
it,
and
so
so
what
caucus
really
does
is
it
takes
the
sort
of
optimization
which
traditionally
have
run
when
the
application
was
running?
You
know
the
hotspot
optimization.
D
It
takes
this
kind
of
optimization
to
the
compile
phase.
That
means
it's
doing
very
aggressive,
optimization,
it's
removing
redundant
code.
It's
it's
yeah!
It's
doing
a
lot
of
optimizations
in
terms
of
what
you
really
don't
need
during
runtime,
and
with
that
you
get
a
very
lightweight,
actually
executable
that
you
can
run
the
java
actually,
which
you're
compiling
is
more
lightweight
than
a.
D
You
know
similar
something
that
you
would
have
from
another
run
time,
but
you
can
also
do
a
trans
compilation
to
a
native
binary,
so
you
can,
at
the
end
of
the
day,
you
can
have
a
linux
binary
that
can
start
up
in
a
matter
of
sub
milliseconds
and
has
a
very
low
memory
footprint,
and
this
really
gives
you
the
kind
of
optimized
java
runtime
that
you
really
want
inside
of
your
cloud
native
environments.
You
know
startup
very.
A
Small
questions
before
you
go
ahead.
Yes,
you
mentioned,
the
comparison
is
with
the
traditional
cloud
native
stack,
so
what
would
could
be
considered?
Traditional
targeted
stack
like
the
ones
you
mentioned
before,
like
node.js
or
adding
a
spring
boot
on
java.
D
Yes,
this
is
comparing
now
to
other
java
frameworks.
This
would
be,
for
example,
something
like
spring
boot
on
java
or
other
application
servers
that
you
might
just
package
inside
they're
again,
not
really
optimized,
they
might
be
great
frameworks,
but
you
know
they
don't
have
this
kind
of
optimization.
D
Yet
I
think
in
the
future
we
will
see
probably
see
this
coming
in
more
frameworks
be
due
to
growl
vm.
You
know
this
is
something
that
other
frameworks
may
tap
into
in
the
future,
but
at
the
moment
I
don't
think
there's
anyone
as
advanced
at
corkus
right
now.
D
So
that
really
brings
us
this
kind
of
highly
efficient
usage
of
our
resource,
and
this
is
really
what
we
want
the
elasticity.
You
know
to
really
deploy
a
lot
of
workloads
on
it,
and
so
you
can
have
when
you
do
the
caucus
native
trends,
complete
trump
compilation,
hard
work.
You
can
put
a
lot
of
these
workloads
on
your
notes
and
have
a
much
more
efficient
usage
of
your
resources.
D
I
think
maybe
one
thing
to
mention
here
is:
if,
if
you
pitch
a
sort
of
like
classic,
you
know
an
application
server
application
against
the
quarkus
application
on
a
vm
or
on
a
bare
metal
system.
The
single
application
server
would
actually
perform
better
due
to
the
runtime
optimization.
D
A
A
Slide
you,
I
saw
a
glimpse
of
it,
but
then
you
skip
to
this
one.
You
mentioned
that
the
the
two
paradigms,
the
two
style
of
coding,
the
imperative
and
the
reactive
one
and
the
that
quarkus
supports
both.
Are
you
gonna
talk
about
it
a
little
bit
later
or.
D
I
think
I'll
I'll
quickly
mention
it
yep,
it's
it's
it's
coming
up,
so
excellent.
Thank
you
but
good
point.
We
have
some
caucus
experts
in
the
in
the
round,
so
I'm
I'm
hoping
I'm
telling
you
something
new
here
and
again.
If
you
have
any
any
questions,
let
me
know
okay,
and
that
brings
us
actually
to
the
second
big
benefit.
You
know,
next
to
this
efficient
usage
of
resources.
This
was
you
know,
as
just
was
questioned
before
by
jafar,
and
it's
really
about
the
developer
joy
and
I
for
me
personally.
D
I
think
this
is
even
you
know,
moving
up
to
be
the
benefit
number
one,
because
in
my
experience
I've
worked
a
long
time
with
different
application
servers
also
with
spring
boot,
which
I
think
is
a
great
framework,
but
I
always
used
to
struggle
with
you
know
getting
extensions
to
run
getting
something
like
open
api
swagger
to
run.
You
know
finding
the
right
documentation,
what
things
to
con
configure
and
with
caucus.
It
was
really
like
feeling
you
know
wow.
This
is
it.
This
is
how
java
was
supposed
to
be.
D
You
know
before
that,
because
you
know
things
just
work.
You
have
some,
you
have
some
unified
configuration.
You
know
where
to
configure
things.
It's
not
sprawled
all
over
your
code
and
annotations
and
different
kind
of
property
files.
It's
really
centralized.
D
The
documentation
is
very
good
things
just
work
out
of
the
box,
but
you
can
still
adjust
the
things
that
you
need.
So
it's
a
very
nice
experience
and
especially
the
hot
code.
Swapping
I
mean
you
know
that
would
have
saved
years
of
my
life
during
my
java
development
time
I
mean
I
I
remember
waiting
for.
I
felt
what
felt
like
hours
for
redeploy
on
these
big
application
servers
at
some
of
the
automotive
companies
I
worked
for.
I
don't
know
if
you
had
that
kind
of
experience
as
well,
when
you
were.
A
Working
definitely
with
that
with
the
je
application
servers,
the
ones
I
work
with,
especially
when
you
start
adding
frameworks
on
that
and
you
have
dependencies
and
all
that
and
yeah
there
were.
There
was
hot
deploy,
but
in
the
end
you
know
to
bring
everything
up
and
in
some
cases
you
wanted
to
bring
up
the
application
server
again
for
a
number
of
reasons
it
would
take
ages.
Yes,
the
cycle
was
very
long.
E
Yeah,
and
so
if
I
could
also
comment
on
that,
what
I
really
liked
when
trying
quaker
so
I'm
not
I'm,
not
a
java
expert
at
all.
I
know
my
way
around
the
node
a
lot
more
and
what
I
found
useful.
E
So
first
thing
like
the
live
reload
thing,
which
is,
I
mean
a
very
enjoyable
experience
when
you
are
making
your
changes
and
and
can
see
things
on
the
fly
I
mean
it
makes
a
huge
difference
when
you
are
itch
rating
a
lot
also,
especially
if
you're
not
an
expert
developer,
and
you
have
to
fail
a
lot
before
it
works.
That's
you
know,
saving
a
lot
of
time
and
what
I
liked
also
was
the
use
case
oriented
documentation
where,
basically,
you
ask
yourself
a
question.
E
So
how
do
I
so
it's
a
little
bit?
It
was
a
little
bit
like
that.
I
also
also,
I
think
in
springboot,
but
basically,
how
do
I
externalize
configuration?
How
do
I
connect
to
an
external
database?
E
How
do
I
distribute
cache,
for
instance,
etcetera,
and
basically
you
have
very
precise
code,
samples
or
code
starters
that
you
can
refer
to,
whereas
before
I
think
the
the
documentation
around
java
was
more,
we
know
you
are
a
technical
expert
and
here
are
the
in-depth
details
that
you
need
to
know
about,
but
it
doesn't
tell
you
how
to
like
quickly
get
up
and
running
and
and
have
something
you
know
easily
created
in
terms
of
code
constructs
etc.
E
So
for
me
it
was,
I
would
say,
as
a
java
noob
it
it's
much
easier
to
to.
You,
know,
get
started
and
have
things
working
and
find
code
samples.
So
that's
definitely
a
big
leap
in
the
I
would
say
the
developer
experience
when
you
are
getting
started,
especially.
D
Yeah
absolutely
I
can.
I
can
only
agree
with
that.
I
mean
especially
the
getting
started
experience,
but
I
would
say
also
when
you're
working
with
more
advanced
topics,
you
know
there's
a
lot
of
documentation
out
there
and
you
know
things
just
work
together.
Also
in
the
versioning.
I
I
think
I
will
show
you
soon
when
we're
through
the
slides
to
see
for
yourself.
So
especially,
you
know
this
kind
of
developer
experience
developer
joy
is
just
you
know,
fun
to
work
with
okay,
so
here's
andrea's
favorite
the
reactive.
D
I
won't
go
too
deep
into
that,
but,
let's,
let's
just
say
in
the
past,
if
you
wanted
to
use
apart
from
the
imperative
development
style,
if
you
wanted
to
do
something
reactive,
something
non-blocking
which
is
very
high
performance
when,
for
example,
consuming
from
a
kafka
topic,
you
would
have
to
use
a
completely
different
runtime
or
like
special
libraries
or
something
like
that
in
caucus,
you
can
actually
mix
these.
You
can
mix
imperative
and
reactive
programming
style
with
and
and
it's
actually
quite
quite
easy
to
use.
D
D
And
I
think
that
brings
me
almost
to
the
end.
Just
as
a
side
note
caucus
brings
a
lot
of
extensions
with
it.
We'll
see
them
right
now,
when
I'm
going
to
do
the
demo,
but
just
to
inform
you,
there
are
a
lot
of
caucus
extensions
out
there.
They
have
been
qualified
what
we
call
it.
That
means
you
can
use
them
to
create
the
native
binaries.
You
can
actually
use
any
kind
of
java
library
that
you
want,
but
not
all
of
them
may
be
able
to
transcompile
to
native.
D
That
depends
on
the
kind
of
you
know:
optimization
that's
possible
there,
but
apart
from
that,
I
mean
they're.
More
than
enough
of
all
these
standards
kind
of
libraries
and
extensions
out
there
that
you
can
use.
A
I
have
another
question:
this
is
actually
a
curiosity
of
mine
and
I'm
wondering
if
any
of
you
guys
know
this,
but
when
they
qualify
that
that
term
a
framework
do
they
make
sure
that
the
I
o
is
non-blocking
so
that
it
works
with
both
paradigm
gang.
My
my
pet
peeve,
I
guess
reactive
versus
imperative,
is
that
is
that
one
of
the
things
that
they
do.
D
So
yeah
I'm
not
really
an
expert
into
I.
I
haven't
written
any
extensions
of
my
own
on
that.
I
think
the
most
important
part
is
really
that
you
don't
have
any
kind
of
reflections,
because
reflections
means
that
you
know
classes
will
be
picked
up
during
runtime,
and
this
is
not
something
that
can
happen
in
a
linux
binary.
I
mean
you
need
to
tell
it
what
classes
it
will
actually
use
during
runtime.
You
need
to
inform
that
regarding
blocking
non-blocking,
I'm
I'm
not
really
sure.
D
A
D
D
D
Okay,
so
yeah.
That
actually
brings
me
to
the
end
of
my
slides.
If
anyone's
interested
you
know
head
on
over
to
caucus
io,
which
we
will
do
you
know
it's
the
main
site,
there's
a
zulip
chat
from
the
developers
from
the
community,
which
is
very
helpful,
which
I've
heard
you
know
you
can,
you
can
contribute
you
can
open
issues
is
there's
the
code
generator
which
we'll
use
right
now
that
the
guides
blog
articles.
D
B
C
Actually,
I
want
to
say
hi
to
anna,
which
is
in
qcon
a
conference
at
a
java
conference
in
london,
so
she's
following
from
there,
maybe
with
with
a
cucumber
audience
thanks
anna
and
if
you
have
any
question,
please
bring
in
the
chat
we
will
bring
to
to
to
daniel
just
to
put
pressure
on
him
and
now
daniel.
C
Let's
go
for
our
as
promised.
No,
the
live
demos.
D
Yes,
speak
speaking
of
pressure.
I
hope
the
demo
gods
are
aligned
with
me.
So
when
you
want
to
get
started
with
a
caucus
application,
there
are
several
ways
you
can.
You
know
start
your
projects
you
can
head
on
over
to
code.caucus.io.
D
It's
more
visual,
it's
easy
to
understand,
what's
really
happening,
and
I
think
it's
also
important
to
show
that
you
know
this
is
a
standard,
maven
or
gradle
project.
There's
no
real
sort
of
magic
happening.
In
terms
of
that,
you
cannot
understand.
What's
happening,
it's
all
standards-based!
D
It's
a
standard
java
project,
it's
using
the
corkus
runtimes
doing
the
optimization,
but
in
itself
you
can,
you
know,
use
it
as
any
kind
of
java
project.
So
when
you
head
on
over
here,
you
know,
there's
some
configuration
parts
which
you
can
take
a
group,
your
artifact
id.
What
kind
of
build
tool
you
want
to
use
the
java
version.
I
will
just
keep
that
as
it
is.
D
We
want
to
have
a
small
rest
service,
so
I'm
checking
the
rest.
Jax
is
which
will
also
generate
some
starter
code,
and
I
think
that's
about
it
so
from
here
I
could
have
pushed
it
to
github.
If
I
wanted
to,
I
can
do
authentication
and
would
already
have
a
repo
in
my
github,
but
I
am
going
to
download
it
as
a
zip
file
and
I'm
going
to
put
it
into
this
folder.
C
C
A
C
C
By
the
way
I
like
this,
it's
called
quarkus
io.
It's
really
easy
to
to
scaffold
a
new
project
in
this
way,
and
I
I
haven't
noticed
that
there's
the
push
to
get
a
button,
which
is
it's
really
cool.
Oh,
we
we
lost
daniel,
but.
C
Let's
go,
he
managed
to
get,
he
will
come
back.
Oh,
I
was
not
he
he
was
using
obs.
Like
you
know,
it's
a
nice
nice
setting.
We
also
use
obs
with
our
virtual
background,
but
anyway
in
the
world
that
daniel
come
back,
andrea
jafar.
I
think
it's
very
cool
what
you
what
you
say,
that
is
a
kind
of
a
new
feature
of
you
know
having
hot
the
code
reload
the
automatic
like
in
other
programming
languages
and
another
cool
feature.
C
What
maybe
we
haven't
mentioned
too
much
is
really
the
memory
usage.
I
think
one
of
the
best
value
of
a
quadcopter
framework
is
the
optimization
in
memory
you
can,
you
can
see
the
benchmark
you
can
compare.
If
you
want
to
do
really
cloud
native
today,
you
want
to
do
serverless,
you
can
you
have
really
to
optimize
resources
and-
and
I
think
they
they
made
a
really
good
job,
but.
A
I
also
like
this
other
optimization
that,
obviously
they
do
when
they
get
to
the
executable
code
by
removing
all
the
analyzing
the
code
and
removing
all
the
data
coded
libraries
that
I've
never
used
within
within
the
application.
That's
that's
that's
quite
powerful
because
it
reduces
the
footprint
of
the
actual
executable.
C
D
Yes,
exactly,
that's
that's
where
the
background
comes
from,
but
sometimes
I
guess
it's
a
little
bit
too
much
in
terms
of
performance,
so
let
me
see
can
bring
back
the
sharing.
Are
we
ready?
Yes,.
A
D
We
should
be
there,
you
go
there,
you
go
okay,
so
apologies
about
that.
But,
as
you
know,
it's
live,
and
you
know
it
could
be,
can
be
rough
on
the
edges,
but
we'll
just
pick
it
up
from
here.
So,
as
I
mentioned
before,
I
downloaded
the
zip
file,
which
is
here
so
I'm
going
to
unzip
it
now
I'm
going
to
switch
into
it.
Let
me
just
pull
that
up.
D
D
So
essentially,
what
we
have
here
is,
as
mentioned,
really
a
classic
application.
You
know
you
have
your
source
main
resources,
you
have
your
java
folder
with
a
single
generated
class
and
this
is
actually
our
rest
service.
You
know
this
is
not
doing
much
except
for
answering
on
a
jaxa
s
path,
hello
with
a
hello
rest,
easy
and
the
resources
is
actually
the
single
point
of
application
properties
where
we
define
all
the
properties
that
we
need
and
that's
about
it.
D
For
the
moment
we
have
some
some
test
classes
that
we'll
look
at
quite
soon,
but
let's,
let's
fire
it
for
now,
so
just
bring
up
my
next
steps.
D
So
let's
open
a
terminal
and
you
can
execute
all
the
commands
that
you
want
to
as
maven.
You
know
it
is
a
maven
application,
but
we're
also
offering
a
corkus
cli,
which
I'm
trying
to
get
used
to
a
little
bit.
So
to
really
run
that
you
can
just
type
caucus,
dot,
dev,
sorry
and
it
should
fire
up.
B
D
Will,
of
course,
download
some
of
the
maven
libraries
you
know,
which
is
definitely
shows
you
that
it's
a
maven
project
and
and
with
that
I
think
it
already
started.
So,
let's
head
on
over
to
a
web
browser
and
it's
running
on
localhost
8080-
and
this
is
what
it
looks
like
this-
is
your
first
caucus
application.
D
We
can
there's.
Actually
the
end
point
which
we
have
published
is
being
showed
up
here.
It's
the
hello
endpoint
and
when
we
click
on
that
we
get
a
rest
answer.
Hello,
rest,
easy,
and
if
you
remember
this
is
what
we
actually
have
defined
here.
So,
let's
change
this
to
a
coffee
hour.
D
I'm
going
to
save
it
now
and
I'm
going
to
head
over
here
and
reload
it
and
it
switched
to
coffee
hour,
and
you
know
again
as
someone
who
worked
with
java
for
a
long
time,
there
was
always
the
promise
of
hot
code
reloading,
but
it
never
really
worked
or
you
had
to
buy
some
additional
tools.
But
you
know
this
just
works
out
of
the
box
and
is
very
nice
because
in
the
background
it's
doing
recompiles,
swapping
and
everything.
D
C
D
Nice,
so,
okay,
so
you
when,
when
switching
back,
you
may
have
noticed
in
the
console,
there's
some
some
kind
of
interesting
output
in
the
bottom.
It's
saying
test
paused
and
press
r
to
resume,
and
this
is
something
that
was
introduced
in
caucus
2,
which
I
think
is
also
a
very
great
feature,
because
this
means
there's
an
permanent
testing
of
our
tests
going
on,
which
will
tell
us
if
our
code,
what
we're
working
with,
actually
fits
our
test,
and
normally
you
should
do
test
driven
approaches.
D
A
I
have
a
question
that
comes
a
little
bit
before
that,
so,
okay,
when
you,
when
you
generate
the
scaffolding
using
that,
does
it
also
generate
the
test
targets.
D
Yes,
it
does
actually
I
I
was
actually
going
to
get
to
that,
but
you
of
course
found
out
no
problem.
So,
let's
see,
if
what
happens
when
I
press
the
r
for
resume
testing,
so
it's
starting
test
now
and
bam.
There
is
a
test
failed
and
why
is
that?
Well,
if
you
look
into
our
test
folder
this
a
greeting
resource
test,
and
if
you
look
into
here,
we
see
that
this
is
doing
an
assertion.
It's
actually
calling
our
hello
endpoint
and,
of
course,
it's
expecting
hello,
rest
easy.
D
So,
as
andrea
mentioned,
when
you
generate
the
code,
it
will
actually
generate
the
first
test.
Scaffolding
as
well,
and
since
we
changed
it
now
to
coffee
break,
this
will
of
course
fail
and
as
a
good
test
driven
approach,
you
would
normally
fix
your
tests.
First
define
your
test.
What
what
it's
supposed
to
do
and
then
go
back
to
your
code.
So,
let's
change
that
to
coffee
break.
D
D
I
think
I
think
it
absolutely
does
you
know,
because
this
is
something
that
you
can
permanently
do
during
your
coding
and
this
this.
Actually,
this
testing
is
so
advanced
that
it
picks
up
where
you
change
your
code
and
it
only
runs
the
test
that
touch
the
changed
code,
so
it
doesn't
run
all
the
tests
if
you
have
like
a
big
test
suite,
but
it
only
runs
the
code
that
touches
your
changed
methods,
and
I
think
you
know
that's
very
advanced.
It
runs
in
the
background
permanently.
D
C
D
D
Yes,
that
that's
a
good
point,
you
know
it's
it's
possible
to
define
different
kind
of
stages,
environments
in
a
production.
A
lot
of
these
features
are,
you
know,
just
disabled,
you
wouldn't
want
them
to
be
active
in
production.
Of
course,
yeah
good
point.
D
Okay,
so
so
far
we
have
an
application
that
says
hello,
coffee
break,
which
is
quite
nice,
but
how
about
you
know
we
want
to
see
what
kind
of
apis
kind
of
rest
apis
we've
published
to
test,
maybe
to
give
to
another
developer
of
another
microservice
to
talk
to
and
this
this
is
where
swagger
or
open
api
comes
in.
So
let's
see
how
we
can
add
another
extension
for
this,
I'm
going
to
create
a
new
terminal
here
and
with
the
command
quarkus
text
list.
D
I
can
actually
show
at
first
the
extensions
which
are
currently
installed,
which
is
not
that
much
it's
just
the
one
which
I
selected
so
yeah,
it's
just
the
rest
easy
one
with.
If
I
add
the
minus
I
it
shows
me
all
the
extensions
that
I
can
install,
so
this
will
probably
create
a
pretty
big
list
here,
yeah
it's
for
for
the
size.
D
You
see,
there's
a
lot
of
things
going
on
and
actually
prefer
to
switch
over
to
the
code
generator,
because
this
is
where
you
get
the
full
list
as
well,
and
it's
more
easy
to
see.
D
So
when
I
start
looking
for
swagger
here,
it
shows
me
immediately
the
small,
rai,
open
api
extension
and
if
I
click
on
the
right
side
here,
it
will
give
me
immediately
the
cli
command.
How
to
add
this
extension.
So
I
can
quite
easily
add
it
by
copying
and
I'm
heading
over
now
to
my
vs
code.
My
second
second
terminal
and
I'm
pasting
it
in
like
this
so
quark
is
extension.
D
I
don't
know
if
I
already
did
it
yeah.
I
already
see
it
a
small
open
api.
So
let's,
let's
have
a
look
back,
so
if
I
go
now
to,
I
think
it
was
called
q,
swagger
ui.
D
B
D
That's
the
way
to
to
add
extensions,
you
know,
and-
and
I
mean
there's
so
many
here-
I
don't
know
if,
if
you
have
used
any
or
if
you
have
any
kind
of
popular
extensions,
you
know
there's
like
grpc
hibernate,
you
know
rest
client,
whatever
you
want
is
here,
has
been
qualifying
and
again
you
can
still,
of
course,
use
any
other
kinds
of
that.
You
want
as
well.
E
E
The
data
connector
look
also
quite
extensive
yeah.
D
Exactly
that's
like
almost
yeah
nice
more
more
than
enough
and
again
you
know
you
can
add
whatever
you
want,
but
if
you,
if
you
use
an
extension
outside
of
these
of
these
ones,
it
may
not
be
possible
to
do
the
transcompile.
But
again,
even
if
you
do
the
java
compile,
you
will
still
get
a
very
lean
lightweight
java
application,
so
it
might
not
be
necessary
to
do
the
actual
linux
native
native
compiler.
D
C
D
Yes,
good
good
point,
so
this
is
what
it's
actually
doing.
It's
it's
adding
the
right
extension
to
your
pom
email.
You
could
have
done
it
if
you
by
yourself,
if
you
wanted
to,
but
this
is
a
lot
nicer,
because
you
know
you
get
the
right
version
and
everything
and
you
don't
have
to
care
about
copy
and
pasting.
It
yeah
good
point.
D
So,
let's,
let's
have
a
look
at
our
resources.
Application
properties
file,
which
I
mentioned,
is
our
kind
of
central
resource
definition,
and
now
we
need
to
add
a
couple
of
properties
to
be
able
to
publish
that
to
open
shift,
and
let
me
find
these
properties
now
so.
A
D
Exactly
and
it's
also
nice,
if
you
have
the
quarkx
extension
installed,
you
get
code
completion.
You
know
you
get
some
information
what
these
properties
are,
but
essentially
yes,
every
extension
has
a
set
of
properties.
You
can
either
set
them
when
you
start
the
application
dynamically
or
you
can
add
them
to
the
properties
here.
D
D
Things
like
that
anything
that
you
may
need
it's
a
really
nice
extension
there's
one
for
intellij
as
well
for
for
eclipse,
if
someone
is
still
using
it
so
go
ahead
and
use
that
you
can
use
it
without
of
course,
but
it
you
know,
makes
things
a
lot
easier.
D
So
a
couple
of
things
here,
so
I
added
some
some
properties
these
ones.
I
have
to
add,
because
my
open
shift
doesn't
have
a
valid
tls
certificate,
so
I
just
need
to
tell
it
that
to
trust
it.
This
is
not
something
you
want
to
do
in
production,
but
of
course,
for
a
test
here.
It's
fine!
It
just
means
you
know
deploy
to
my
open
shift
while
trusting
the
the
certificates.
D
This
is
telling
it.
Okay,
when
you're
deploying
this
application
also
expose
an
openshift
route,
you
know,
make
it
accessible
for
the
outside,
and
these
parts
are
really
kind
of
magic
which
I'm
going
to
show
you,
because
we
can
actually
do
a
live
code
swapping
to
a
running
openshift
caucus
application.
So
I
hope
that
works.
D
You
need
to
give
it
a
environment
variable
here
and
with
that
you
can
actually
do
hold
cut
a
code
swapping
while
it's
running
on
the
system-
and
this
can
sometimes
be
useful
because
the
application
may
need
to
use
third-party
things,
such
as
maybe
kafka
or
applications
which
are
only
in
the
openshift
system.
E
E
Really
nasty,
it
seems
like
the
old
audio
audio
stuff,
where
you
can
basically
replace
or
rsync
changes
to
a
live
running
code
container.
Yes,
except
that
it's
directly
here
from
the
app
and
it's
not
necessarily
using
audio
to
do
that.
D
D
You
know
it
pushes
your
changes
into
a
running
container,
because
sometimes
when
a
developer
is
sort
of
in
in
the
loop
during
developing
and
wants
to
push
a
small
piece
of
code
in
it
doesn't
want
to
create
a
whole
new
oci
image
to
push
it
up,
because
in
that
case
you
can
either
do
the
caucus
live,
reloading,
pushing
small
changes
in
or
odo
which
you
can
do
for
several
run
times.
Yeah
good
good
point,
there's
some
similarities
here.
So
it's
a
matter
of
you
know,
choice
and
taste
what
you
want
to
use
actually.
D
So,
let's
have
a
quick
look
over
in
openshift.
Let
me
just
log
in
to
my
openshift.
D
And
I'm
I've
created
a
namespace
here
called
caucus
it's
currently
empty.
Let
me
see
if
I'm
still
logged
in.
D
Yeah,
I'm
still
on
the
caucus
project,
so
I've
logged
in
before,
of
course.
So
now
I
think
I
can
actually
already
push
it.
Let
me
see:
do
I
need
to
do
anything
else?
D
D
D
D
D
Okay,
let
me.
B
C
D
D
D
B
D
It's
also
profile
injected
dynamically,
and
so
so
we
are
currently
creating
an
application
where
we're
pushing
in
the
jar.
But
it's
also
possible
to
do
the
native,
compile
and
then
then
push
it
for
the
native
compiler.
You
would
need
to
have
either
grout
vm
or
a
mandrel.
Mandrel
is
our
sort
of
open
source
project
to
create
these
kind
of
native
trans-compiled
binaries,
and
you
would
you
don't
even
need
to
have
it
installed
on
your
system.
You
can
use
podman,
for
example,
to
have
that
compiled
inside
of
a
container.
D
E
D
We
go
coffee
break
on
the
system.
E
C
Yeah
yeah,
definitely
we
have
to
add
it
so
daniel.
You
deserve
it,
our
virtual.
Let's
do
it.
You
know
manual
for
the
next
time
we
will
have
sounds,
but
that
that's
really
cool,
because
we've
seen
you
deployed
you
developed
something
you
you
changed
your
test
and
then
you
deployed
something
to
let's
say:
production,
no
yeah.
E
It
was
easy,
and
so
can
we
see
how
the
live.
Remote
live,
reload
works.
D
Yes,
I'm
just
doing
it
now,
so
I'm
starting
the
application
again
with
quarkx
remote,
dev,
okay,
and
I
hope
it
should
create
a
connection
to
the
running
system.
C
B
B
D
Yeah,
it's
it's
super
secret.
You
can
set
it
anywhere
and
it
you
know,
make
sure
that
only
you
can
do
the
live.
Reloading.
Okay,.
D
A
I
know
that
we
touched
on
those
in
some
other
sessions,
but
always
functional
to
a
to
a
problem,
but
I'd
like
to
get
a
little
bit
deeper,
but
definitely
microshift
is
something
that
we
would
like
like
to
see
so
we'll
we'll,
try
and
invite
you
again
when,
when
it's
possible,
when
you
have
time,
of
course,
and
as
far
as
today
is
concerned,
I
think
the
time
is
up
and
that's
all
we
have
time,
for.
A
I
would
be
asking
the
audience
if
they
have
any
more
any
question
for
daniel
before
we
go.
We
close.
C
Correct
do
we
no
daniel?
If,
if
you
show
us
microchip
now,
we
can
er
in
make
an
extend
exemption
for
just
for
you
and
extend
five
minutes
yeah.
B
D
Yes,
that's
perfect,
so
the
micro
shift
is
so
small.
It
will
fit
in
five
minutes,
no
worries
here,
so
I'm
just
quickly
going
through.
If
you
want
to
have
a
look
at
microshift
yourself,
head
on
over
to
microshift
io,
it's
a
technology
preview
also
sort
of
technology
investigation
project
which
we
are
currently
looking
into.
It's
an
extremely
lightweight
version
of
microshift
release.
Trip
down.
You
don't
have
that
develop
console,
you
don't
have
any
kind
of
operators,
but
it
can
run
on
the
raspberry
pi.
It
has.
D
An
extremely
low
footprint
is
some
explanation
on
how
to
get
started
here
is,
for
example,
you
need
to
install
cryo.
You
can
run
it
locally
as
rpms,
but
you
can
also
run
it
with
podman,
which
is
what
I
am
doing,
and
essentially
all
you
need
to
do
is
install
podman,
and
then
this
is
really
the
the
way
you
can
install
it
as
a
local
service.
Now
and
I'm
going
to
start
it
because
I've
installed
it
locally.
D
B
D
Will
see
this
is
this
is
fairly
quick
and
you
know
we
have
a
lot
of
edge
opportunities,
but
this
this
is
really
something
that's
super
lightweight
and
matches
caucus
very
well.
So
I
need
to
do
a
quick
copying
of
my
cube
config
here,
because
I
was
this
is
this
is
actually
the
way
how
you
can
connect
to
your
local
system.
So
let
me
just
paste
that
now,
okay
and
I
need
to
change
the
owner
as
well.
D
Okay,
let's
see
okay,
so
this
is
already
I'm
also
connected
to
my
microshift,
I'm
getting
all
the
parts
here
and
you
see
you
know,
there's
there's
not
a
lot
of
things
going
on.
This
is
all
the
parts
that
are
actually
running.
The
thing
is,
if
you
want
to
get
an
application
started,
something
that
receives
traffic
from
outside.
You
need
to
install
and
sort
of
like
a
proxy
or
a
load,
balancer.
D
There's
an
example
here
when
you
head
on
over
to
user
documentation
and
how
to's
and
deploy
a
basic
application,
it
shows
you
how
you
can
create
a
namespace
with
for
the
metal
lb,
how
you
can
install
the
metal
lb
and
then
it
will
create
for
every
service
that
you
deploy.
You
know
your
caucus.
Application
will
have
a
service
will
create
an
external
ip
for
that.
D
So
I've
already
shown
this
demo
before
I'm
going
to
quickly
I'll
see,
delete
the
caucus.
D
Trying
to
stay
okay
so
delete
it
now.
So
what
do
I
need
to
get
running?
Let
me
head
on
over
quickly
to
my
sheet.
So,
of
course
you
need
to
have
a
pre-built
image
beforehand.
You
need
to
build
it
outside.
You
could
build
it
with
your
caucus.
I've
pushed
an
image
to
the
key
io
registry,
so
it's
available
there.
The
build.
D
All
the
developer
tools-
everything
that's
not
not
being
shipped
shipped
with
it,
it's
of
course
the
price
you
pay.
You
know
when
you
get
something
so
small.
The
idea
is
to
have
this
on
edge
devices.
Iot
devices
you're
building
in
a
central
hub
on
a
central,
open
shift
and
you're,
pushing
it
out.
Yeah.
D
D
Let's
go
quickly
through
it,
so
it's
a
new
deployment
called
quarkus
in
the
namespace
caucus
and
as
an
image
I'm
using
from
my
quay.
Regis
registry
account
hello
microshift.
This
is
essentially
just
the
same
as
we've
created
before
hello
microshift,
I'm
giving
it
the
the
tag-
and
this
is
also
a
native
image.
So
it
matches
very
well,
it's
very
lightweight
and
I'm
firing
that
off
and
as
a
last
part,
we
need
a
service.
D
You
know
we
need
to
tell
it
how
the
traffic
goes
into
our
pot,
so
I'm
taking
that
so
as
a
service
with
calling
also
the
service
workers,
the
namespace
caucus.
We
need
this
annotation,
so
metal
lb
will
take
an
ip
from
its
pool.
So.
E
Just
one
question
here:
I
I
think
with
openshift,
you
can
traditionally
do
like
an
oc
exposed,
deploy
and
it
will
create
the
service.
Yes,
does
it
infer
here
the
annotation
with
the
metal
load,
balancer
or
or
you
have
to
explicitly
create
the
the
service
like
this.
D
As
far
as
I
know,
you
have
to
create
a
service
like
this,
it
will
do
the
in
inferring
is
by
the
metal
lb
annotation
this.
This
is
what
is
telling
the.
B
A
D
To
to
you
know,
create
a
the
ip
and
the
connection,
everything,
but
you
still
need
to
create
a
service.
As
far
as
I
know-
okay,
so
yeah,
let's
fire,
that
off
and
let's
have
a
quick
look,
we'll
see
we
get
parts.
D
Okay,
so
there's
a
caucus
pod
already
running,
let's
see
how
about
the
services
okay,
so
this
is
this
is
actually
the
service
and
the
external
ip
will
be
the
one
that
the
metal
lb
has
will
be
used
to
route
into
the
service.
D
D
B
E
D
Yeah,
I
think
I
think
it's
a
good
teaser
to
get
started,
but
you're
right
I
mean
there's,
probably
lots
more
things
to
discover
about
microshift
here,
but
it's
very
promising.
You
know
I
just
put
like
a
super
lightweight
caucus
application
on
my
lightweight
microshift,
and
you
know
this
can
run
on
probably
on
your
smartwatch.
I
guess.
E
A
Two
demos
for
the
price
of
one
natalie.
I
think
it's
really
it's
nearly
we're
10
minutes
past
the
hour.
I
wanted
to
ask
you
what's
cooking
for
next
week,
so.
C
Next
week
we
should
have
a
session
about
a
demo
about
roda.
Now
that
roda
is
available
on
consolereddit.com
roda
is
our
services
for
managing
databases
inside
openshift
databases
as
a
service
from
third
party,
so
we're
we're
prepping
at
them
around
that
and
this
for
next
wednesday,
for
today,
jafar,
I
think,
there's
the
level
up
no.
C
Has
cannot
be
here
on
openshifttv
and
other
than
that
folks.
I
would
really
thank
daniel
for
this
awesome
demos,
very,
very
cool
talks,
you'll
find
daniel
on
twitter
and
you
see
the
handle
on
the
on
this
on
his
image,
so
you
can
follow
him
on
twitter.
Thank
you.
Everyone
for
joining
us
today,
andrea
jafar.
We
have
lots
of
cool
stuff
in
april
coming
coming
up
and
do
you
have
any
final
words
for
daniel?