►
From YouTube: OpenShift Commons Briefing #96: Building Cloud Native Applications with Spring Boot on OpenShift
Description
In this briefing, Thomas Qvarnstrom introduces Red Hat OpenShift Application Runtimes (RHOAR) and discusses developing and running Spring applications on OpenShift. W also go over choice of runtimes and frameworks services available in RHOAR.
A
Hello
and
welcome
again
to
yet
another
OpenShift
Commons
briefing
this
time,
we're
going
to
talk
about
building
cloud
native
applications
with
spring
boot
on
OpenShift,
and
we
have
Thomas
clarksville
he's
one
of
our
JBoss
gurus
here
to
talk
to
us
about
that
I'm
gonna.
Let
him
introduce
himself
and
his
topic
we'll
have
live
Q&A
at
the
end.
A
B
Thank
you
very
much.
So,
as
Dan
said,
my
name
is
Thomas
and
I
work
as
a
JBoss
technology
and
vendor
list
and
I'm
gonna
talk
today
about
spring
boot
and
how
how
spring
boot
can
run
best
on
OpenShift,
but
before
that
we're
gonna
dive
into
some
other
questions.
So
this
is.
This
is
probably
the
question
of
the
century.
Sometimes
well.
Cloud
native
actually
have
many
different
definitions
and
clonaid
will.
B
If
built
as
a
monolith,
it
generally
includes
all
functionality
for
handling
the
web
user
interface,
product,
catalog
shopping,
catalog,
strattera,
commendations,
product
ratings
reviews,
payment
system
and
everything
else
that
is
needed
to
make
a
purchase
in
the
e-commerce
website,
and
it's
all
in
one
single
application.
If
that's
a
monolith
and
mayority
of
the
existing
applications
today
are
built
as
a
monolith
they've
been
deployed
on
traditional
application
servers.
B
These
application
servers
are
generally
designed
not
only
to
service
the
application
itself,
but
also
include
many
operational
features
to
host
and
manage
multiple
mana
monolithic
application
at
once
and
an
administer
the
life
cycle,
for
example,
deploy
and
deploy
them
and
manage
deployment.
History
of
applications,
management,
sync,
configuration
etc,
which
all
resulted
in
these
application
servants
being
heavy
and
resource
intensive.
B
However,
software
development
and
how
we
architecture
and
host
application
has
evolved.
So
if
we
start
with
a
software
development
process,
we've
seen
involvement
from
waterfall
type
of
development,
where
we
spend
money
from
planning
and
defining
requirements
to
agile
development
to
DevOps
and
at
the
same
time,
on
the
infrastructure.
We
see
nimble
involvement
from
big
complex
data
centers
to
host
the
solution
and
to
hybrid
cloud
solutions.
And
finally,
the
software
architecture
has
also
evolved
to
to
the
latest
and
very
popular
architecture,
style
called
micro
services.
B
Additionally,
micro
service
allows
for
faster
time-to-market,
with
small
incremental
changes
and,
to
me
cloud
native
app
is,
is
that
is
exactly
that,
built
that
building
new
application
using
the
latest
of
these
trends
and
latest
of
these
architecture
process
and
and
and
infrastructure,
and
having
that
support
there
are
others
that
define
cloud
native
applications
differently
using,
for
example,
12
factor
applications
as
a
template.
However,
I
don't
necessarily
share
the
view
that
an
application
has
to
be
stateless
to
be
cloud
native.
B
It
just
have
to
manage
the
state
slightly
different
than
the
monolithic
applications
so,
but
for
now,
let's
focus
on
on
the
architecture
a
bit
about
and
about
adopting
microservices,
though,
with
the
emergency
of
cloud
people
wanted
to
take
it
and
these
applications
to
the
cloud
environment
and
in
order
to
take
advantage
of
the
on-demand
compute
capacity.
However,
application
service
is
usually
not
a
good
fit
for
such
an
environment
and
may
become
worker.
B
Shifting
to
cloud
many
of
the
administrative
capability
are
provided
by
the
cloud
platforms
or
are
not
required
anymore
from
the
application
service.
Also
from
an
architectural
standpoint
in
the
micro
services
architecture,
you
want
to
break
out
each
of
the
services
into
her
own
deployments.
Each
of
these
micro
services
are
managed
and
deployed
independently
and
possibly
by
different
teams,
making
responsibility
for
the
lifecycle
all
the
way
from
from
from
requirement
to
production
in
order
to
break
out
these
services.
B
In
addition
to
define
correct
boundaries,
you
need
to
define
the
Kreg
boundaries,
and
but
you
also
need
to
think
about
a
couple
of
more
things
so
going
to
marker
services
you'll
and
ease
a
way
to
describe
this
a
bit
easier.
So,
let's
say-
and
let's
say
you
reflected
your
artwork
and
your
application
to
micro
services
architecture,
you
will
need
some
type
of
run
time
to
run
your
services
and
regardless,
if
that's
a
fat,
bootable
jar
or
some
kind
of
runtime,
you
will
need
a
run
time
to
run
your
applications
on
top
of
that.
B
We're
gonna
talk
and
focus
more
on
spring
boot
spring
is
a
very
popular
development
frameworks
has
been
that
that's
used
to
be
deployed
typically
on
an
application
server.
However,
the
introduction
of
cloud
native
and
and
small
projects
with
a
very
small
problem,
very
little
project
in
the
spring
community,
started
to
get
traction
and
that
project
was
spring
boot
and
spring
boot,
together
with
an
opinionated
approach
on
how
to
build
micro
services
made
it
very
popular
amongst
the
early
adopters
of
micro
services.
B
Just
like
early
versions
of
spring
boot
had
an
opinionated
view
or
which
components
to
use
reddit
are
looking
into
offering
support
for
many
of
the
community.
Products
that
read
hard
drive
and
participate
in,
for
example,
of
those
communities
are
Tomcat
hibernate,
apache,
cxf,
reddit,
single
sign-on,
also
known
I,
also
known
as
clicky
cloak
and
finally,
a
set
of
Cuban
Eric's
adoptions
for
spring
boot
for
Spring
Framework,
schism
and
reddit.
Also,
we
plan
to
add
more
technologies
of
this
as
we
move
forward.
B
This
is
plan
to
be
supported
by
Red
Hat
OpenShift
application
run
time
by
and
supported
in
an
application
called
Red,
Hat
application,
openshift
application
run
times
and
and
that's
and
we
will
support
spring
together
with
other
runtimes.
There
are
the
runtimes
that
we
discussed
Slyke
in
OGS,
vertex
and
wellthanks
form,
and
if
you
want
to
hear
more
about
that,
I
suggest
you
listening
to
Jing
Gong
Klingons
talk
that
will
provide
much
more
detail
about
the
OpenShift
application
a
long
time.
B
So,
let's,
let's
move,
move
over
to
a
demo,
actually
and
see
how
spring
boot
looks
like.
So,
if
you
never
seen
Spring
boot,
you
might
enjoy
this
demo,
but
it's
a
very
simplistic
demo
on
how
to
get
started
with
spring,
so
bring
us
a
website
called
startup
spring
the
IO,
which
is
called
spring
initializer
as
well,
which
allows
you
to
bootstrap
your
applications.
So
you
basically
just
provide
a
group
name.
You're
gonna
stick
with
com
example.
Here
you
can
change
the
artifact.
B
We
can
I'm
gonna
call
this
greeting
and
and
then
we
can
add
different
dependencies
and
these
dependencies
are
are
what
we
call
the
opinionated
type
of
dependencies.
If
you
do
web
here,
you
get
full
stack
web
development
with
Tomcat
and
spring
in
the
sea.
So
that's
fine!
So
let's,
let's
do
that!
Lets
you
narrate
that
project
so.
B
B
Greetings
and
greeting
projects
here
and
the
greeting
project,
we
can
open
it
up
in
a
code.
Editor
I'm
gonna
use
Visual
Studio
code,
editor,
which
I
find
a
very,
very
nice
easy
to
get
started
type
of
editor.
That
is
easy
to
do,
quick
editing
in
so,
as
you
can
see,
we
got
there.
We
got
a
good,
a
good
example
of
a
good
project.
B
Actually,
so
I'm
gonna
do
hello,
controller,
dot,
Java,
and
since
you
probably
don't
want
to
see
me
type
all
the
time,
I'm
gonna
do
some
copy
and
paste
here
fix
one
little
thing,
and
here
I
got
my
hello
controller
and
my
hello
controller
is
kind
of
simplistic,
it's
using
a
rest
interface
and
it
will
find
out
which
hostname
is
actually
running
on
either.
It's
looking
for
an
environment
variable
named
hostname
or
it's
gonna,
show
you
unknown
and
and
then
upon
the
request
to
slash
which
is
kind
of
the
route
or
exception
of
our
calls.
B
It's
gonna
return,
greetings
from
spring
route
from
and
the
host
name,
so
kind
of
simplistic.
So
let's,
let's
try
that
out.
So
all
we
should
have
to
do
is
to
do
maven
package
here.
Oh,
it
helps
if
I
actually
save
the
file
as
well,
so
I'm
gonna,
redo
that
maven
package
and
now
I'm.
What
should
happen
now
is
we?
What
happened
is
that
we
got
a
jar
file
called
greetings.
It's
not
snapshot.
You
are
sure
number
and
snapshot
of
your.
B
B
My
spring
application
is
starting
and
we,
if
I
go
to
the
browser,
I
can
go
to
localhost
8080
and
it
should
return
greetings
from
spring
boot.
Do
that
big,
bigger
greetings
from
spring
boot
from
my
my
computer,
which
has
this
name
host
name,
so
that's
kind
of
simplistic
and
kind
of
nice,
but
but
it's
that's
how
easy
it
is
to
get
started
with
a
spring
boot
project.
So,
let's
move
on
in
a
presentation
for
now,
so
that's
a
possible
way
to
do
run
time
and
it's
a
spring.
Boot
is
one
potential
way
to
do.
B
Your
marker
services
run
time,
which
is
easy
to
use.
There's
a
lot
of
good
examples
out
there.
There's
a
lot
of
know-how
in
sharing
and
knowledge
of
around
the
community
about
this
but
run
run.
Time
is
not
enough.
We
also
need
the
micro
services
capabilities
like
we
talked
about
before,
and
to
to
understand
what
the
market
services
capabilities
is.
B
We
might
have
to
go
back
at
time,
so,
let's,
let's
consider
the
Java
micro
services
platform
at
2014
approximately
this
was
before
we
had
containerized
well,
the
containerized
that
we
known
today,
the
ecosystem
around
containers
that
we
know
today
and
and
the
common
way
to
do
a
isolation
between
processes
for
actually
using
virtual
servers.
So
a
good
example
of
this
is
Netflix
and
Netflix
wherever,
when
they're
building
their
original
architecture,
it
was
based
on
the
infrastructure
as
a
service
running
on
Amazon
and
for
each
service.
B
They
deployed
on
different
virtual
servers
out
there
or
no
or
nodes
in
the
Amazon
cluster.
So
that
is
good,
but
it's
it's
kind
of
low-level,
though
it's
it's.
We
we
don't
really
have
any
benefit,
except
from
the
infrastructures
of
service
providing
us,
compute,
storage
and
a
network.
We
don't
really
have
any
additional
ways
of
how
to
do
load,
balancing
failover
etcetera.
So
we
need
a
bunch
of
other
and
other
services
infrastructure
services
here.
B
So
that's
how
Netflix
had
came
up
with
a
lot
of
really
really
good
and
great
and
projects
to
to
tackle
those
kind
of
problems
that
we
have
with
micro
services
based
on
an
infrastructure
service.
So
that
includes,
for
example,
arica
which
is
a
service
registry
that
trying
so
doing
look
up
to
to
find
the
service
location
and
its
innocence
the
service
discovery.
And
then
you
have
a
configuration
server
to
extend
externalized
configuration.
B
You
have
ribbon
to
do
client-side,
load,
balancing
you
have
history
as
a
circuit
breaker
seeking
to
do
distributed,
tracing
and
soon
as
the
smart,
proxy
and
purely
based
in
Java
in
there,
and
these
are
all
very,
very
nice.
But
it
means
that
you
have
a
lot
of
these
infrastructure
services
that
you
also
have
to
deploy
within
your
with
your
application.
B
So
that's
going
back
to
the
current
state
and
when
we
lay
the
tools
and
and
tools
we
have
today,
especially
looking
at
something
like
open
shift
and
deploying
spring
and
spring
good
application
on
openshift.
They
we
don't
have
to
have
that
so
so,
because
rather
local
shifts
is
a
complete
container
application
platform
that
natively
integrates
technologies.
B
Like
doctor
and
kubernetes,
and
provides
a
common
platform
for
developers
to
build
a
managed
and
containerized
application
in
a
self-service
fashion,
it's
built
on
top
we're
at
Enterprise
Linux
and
it's
the
trusted
enterprise
operating
system
which
is
used
by
ninety
percent
of
the
fortune.
500
companies
and
it
provides
tools
and
services
for
building
container
images
and
source
code
and
application
binaries
and
managing
their
life
cycle
in
a
production
scale.
B
Rebus
is
a
leader
both
in
the
kubernetes
and
docker
community,
and
it's
a
top
contributor
to
build
communities
to
making
make
sure
these
technologies
fit
smoothly
to
the
needs
of
our
customers
and
building
micro
services
on
top
of
openshift
and
specifically
for
micro
services.
Openshift
provides
a
large
set
of
capabilities
to
take
complexity
out
of
the
building
and
running
distributive
systems.
That's
at
scale.
It
provides
a
service
discovery.
B
It
provides
routing
and
load
balancing
to
be
able
to
send
traffic
to
micro
services
and
control
how
traffic
gets
distributed
between
multiple
instances
and
enabling
patterns
like
a
bee
testing,
etc.
You
have
metrics
and
monitoring
to
make
sure
you
can
identify
anomalies
and
in
configuration
and
secrets
management
to
decouple
environment,
specific
data
from
the
micro
services
and
finally,
we
have
central,
centralized
logging
and
service
isolation,
etc.
So
OpenShift
is
the
only
platform
in
the
market
that
provides
multi-tenancy
on
top
of
kubernetes
and
allows
all
teams
and
developers
to
work
on
collaborate
on
that.
B
So
the
nice
thing
about
that
is,
we
mean
there
is
less
thing
we
need
to
do
to
actually
and
to
provide
that
type
of
infrastructure.
I'm
gonna
come
back
to
that
first,
but
let's,
let's
consider
at
the
mo
where
we
want
to
do
deploy
now
on
top
of
all
open
shift.
So
let's
go
back
to
our
application
that
we
developed.
We
have
here,
I'm
gonna
break
out
of
the
all
that
running
instance
that
we
had
now.
If
I
reload,
you
can
see
that
there's
nothing
on
my
host.
B
So
what
we
gonna
do
now
is
we're
gonna
turn
this
into.
Who
are
we
the
use,
plug-in
called
fabric
8?
That
will
help
us
help
us
and
add
to
this
project
so
that
we
can.
We
can
deploy
it
immediately
and
openshift
so
before
that,
let's
check
that
the
current
poem
we
have
does
not
only
have
the
currently
have
the
spring
boot
and
maven
plugin,
but
if
I
run
this
command,
which
is
I.
B
So
I
have
an
open
shift,
instant
running
locally
here
and
I
have
currently
in
there.
I
have
a
project.
There's
empty,
doesn't
have
anything
in
it.
So
we
don't.
We
don't
have
any
any
builds
and
there's
nothing
in
this
project.
Currently
so,
by
going
to
go
into
our
project
right
now,
and
we
we're
gonna
issue
come
on
and
tell
fabricate
our
plugin,
we
just
installed
barricades
deploy
and
by
issuing
that
command.
B
We
are
gonna
start
a
build
of
the
project
and
which
is
gonna
start
on,
send
basically
takes
our
existing
java
application
that
that's
that
bootable,
your
application,
it
sends
it
up
to
open
shift.
Open
shift,
takes
that
and
runs
it
through
the
s
source
to
image
process
where
it
creates
an
container
image
out
of
this
out
of
these
your
file.
So
we
have
a
container
image
run
now
that
is
now
incapable
of
running,
and
it
will
automatically
create
a
service
for
us
and
enter
draft
as
well.
B
B
B
A
B
B
Om
with
that
I'm
gonna
go
back
to
the
slides,
so
I
took
briefly
about
spring
from
Cuban,
Aries
and
spring
cloud.
Kubernetes
is
actually
where
Red
Hat
is,
is
how,
as
providing
to
the
spring
community
adaptation
to
make
spring
cloud
and
spring
a
spring
and
spring
cloud
work
better
on
on
kubernetes.
So
since
OpenShift
is
based
on
kubernetes,
that's
an
effort
that
will
improve
how
spring
can
run
on
top
of
of
open
shifts.
So
taking
that
to
a
bit
of
a
bit
of
taking
that
a
bit
further.
So,
for
example,
service
discovery.
B
So
by
providing
a
service
discovery
is
something
that's
automatically
in
open
ships,
but
by
providing
a
spring
discovery.
Client,
you
it
it.
People
don't
have
to
change
the
code,
anything
going
from
another
environment
or
we
to
open
shift.
You
can
still
use
the
lookup,
even
though
they
look
up
and
basically
just
query
their
kubernetes
services
and
and
then
this
they
actually
load
map
and
they
and
them
round-robin
mess
or
load
balancing.
B
Same
thing
is
the
configuration
Maps
hooks
into
the
configuration
properties
and
spring
property
source,
so
we
can
use
the
spring
property
and
spring
configuration
to
to
read
kubernetes
config
Maps
value,
so
that
could
include
environment
variables.
That
could
include
are
the
configuration
things
like
secrets
that
we
need
to
have.
You
have
a
ribbon
driven
service
discovery,
we
have
seeking
service
discovery
and
we
also
have
configuration
management
with
Orion
in
there
more
shields,
I
guess
it's.
So
let's
talk
a
bit
about
evolution
of
micro
service.
So
I'll
talk
briefly
about
this.
B
These
are
all
part
of
your
service
that
you
are
deploying
on
top
of
that
infrastructure
and
that
cloud
provider
so
currently
using
something
like
openshift
a
lot
of
the
infrastructure
services.
Some
of
the
infrastructure
sectors,
I
can
say,
can
be
moved
on
into
the
to
the
cloud
layer.
So
configuration
bit
config
maps,
for
example,
server
side
load,
balance,
Indian
service
registry
is
already
in
there.
B
It
can
also
help
automate
the
deployment
of
certain
infrastructure
services,
but
still
a
certain
amount
of
infrastructure
services
still
needed
currently,
so
that
still
includes
distributed
tracing
smart
routing,
ap
management,
etc,
etc,
and-
and
we
can
remove
some
of
the
problematic
things
in
in
having
infrastructure
logic
and
our
business
logic,
but
we
still
potentially
need
circuit
breaker
and
we
might
still
need
distributed
tracing
logics
in
our
actual
build
application
in
the
jaw
that
we
deployed
in
the
future.
We
envision
that,
together
with
openshift
together
with
east
you
it
will.
B
It
will
remove
the
need
for
having
that
type
of
business
logic
in
that
in
your
application,
the
infrastructure
in
logic,
in
your
business
logic,
layer,
you,
your
business
log,
you
can
focus
on
being
exactly
your
business
logic,
it
doesn't
have
to
care
about
circuit-breaker,
distributed
tracing,
etc.
Instead,
we
can
move
that
type
of
functionality
into
East
EO.
So
that's
where
we
ambition
the
forward
going,
and
this
is
regardless
of
which
platform
we're
talking
about
this.
This
should
be
the
same
for
spring
it
spring
boot,
it
should
be.
The
same
for
valve
is
warm.
B
A
Yeah
we'll
see
if
we
you
a,
we
have
a
number
of
people
that
are
on,
but
I
think
you've
done
a
pretty
good
job
answering
most
of
the
questions
that
people
have
had
already
and
since
I'm
a
Python
person
I
don't
have
a
lot
of
spring
jabba
questions
up
my
sleeve.
So
you
see
we'll
give
everybody
a
few
minutes
to
see.
If
anyone
has
a
question
and
if
not,
where
is
the
best
place
for
people
to
reach
out
to
you
and
get
more
information
so.
B
B
And
so
we
are,
since
most
of
the
information
in
here
are
actually
gonna,
be
part
of
what
we
will
release
as
the
open
shift,
application,
runtimes
and-
and
maybe
you
should
mention
that
at
the
open
application
runtime
will
will
reach
the
market
as
a
beta
in
around
java
one.
So
that's
when
we
expect
to
publish
much
more
on
this
on
developers,
total
calm,
but
also
on
on
wwe.com,
and
we're
will
have
documentation
and
other
things
as
well.
So
but.
A
This
is
really.
This
is
really
fresh
off
the
presses.
Yes,
that's
why
we're
doing
all
these
intro
courses
and
well
we'll
have
john
clan
back
and
things
settle
down
and
do
the
intro
bit
so
look
for
that
video
to
that
should
be
coming
up
soon,
I'm
looking
if
anyone
has
any
questions
in
the
chat
or
if
anyone
has
anything
to
add,
if
not,
we
thank
you
all
for
coming,
there's
quite
a
lot
of
people,
considering
the
quick
shift
that
we
did
at
the
beginning
of
this.
A
So
I
really
appreciate
your
patience
with
our
process,
and
you
will
get
this
video
and
the
slides
up
on
the
open
ship
blog
this
week
so
or
actually
Monday
morning.
Probably
take
me
the
weekend
to
process
all
this.
So
thanks
again
for
your
patience
and
we
will
work
on
magic
and
get
this
and
the
slides
out
to
you
and
as
soon
as
the
beta
is
out,
we'll
just
keep
doing
more
Red
Hat
application
runtime
tops
until
we've
covered
all
the
bases.
So
thanks
again
Thomas
for
stepping
up
and
I'll
talk
to
you
all
soon.
Thank.