►
Description
Behind the Scenes at OpenShift Commons with Michael Hausenblas (Red Hat)
In this session, Michael interviews Lakmal Warusawithana,
Senior Director, Cloud Architecture at WSO2 about Ballerina. Ballerina is a new programming language that is designed to bring code-first agility to the challenge of integrating across endpoints. Ballerina has first-class support for distributed transactions, circuit-breakers, stream processing, data-access, JSON, XML, gRPC, and many other integration challenges. It deploys directly onto Docker and Kubernetes. It integrates with common IDEs including IntelliJ and Visual Studio Code.
A
Well,
welcome
to
another
episode
of
behind
the
scenes,
and
today
we
have
a
very
special
guest
to
LACMA
from
the
wonderful
ballerina
team
and
I'm
super
excited
to
have
you
on
the
show,
I'm
really
interested
in
all
cloud
native
programming
languages,
this
new
paradigm,
getting
you
know
young,
yellow
to
torture,
communities
so
hello
and
welcome.
What
are
you
doing.
A
B
B
B
B
A
So
before
we
get
into
it,
what
would
be
my
motivation?
Like
imagine
I'm,
you
know,
I'm
committed
this
user
or
you
know
developer
whatever
and
I'm
a
yellow
engineer
right
so
all
day
long
I'm,
editing,
yellow
files
and
to
cuddle
it
fly
and
whatnot.
Why
would
I
bother
to
even
look
at
Valerie?
Why?
Why
would
I
do
that?
Okay,.
B
Want
to
do
that?
Yes,
exactly
so,
so,
when
you
look
at
the
current
application
web
cycle,
so
developer
will
write
the
application
in
they
will
with
the
boundaries.
Then
they
create
a
new
profiles
to
build
it.
Okay
images,
then
they
will
write
the
kubernetes
ml
for
deployment.
So
he
says
they
have
to
create
this
Yamahas
manually
or
have
used
some
different
tools
and
then
they
will
they
need
to
give
Croatian
it's
a
coconut
is
so
if
you
look
at
that,
the
flow
is
disrupting
the
developers
flow.
So
developer
has
to
go
away
from
there.
B
They
are
your
development
tool,
mainly
like
IDs,
and
they
have
used
different
tools
to
generate
this
hooker
fire,
stuff
images
and
ever
buys.
So
when
you
come
to
ballerina
so
Purina
has
this
compiled
expansion
so
for
the
company
next
create
like
a
deployment
artifact
like
doc
images.
Communication
must
a
while
building
the
application
is
safe.
So
then
the
from
the
developers
perspective
they
no
need
to.
B
A
B
B
And
also
wanting
to
Spain
so
also
very
nice,
like
specialize
in
the
indications
like
if
you
look
at
the
modern
applications,
if
you
look
at
the
15
years
back,
so
we
wrote
like
standard
applications
like
then
just
a
few
network
costs
involved
with
our
application,
but
the
current
modern
applications.
We
have
to
have
connect
with
different
ApS
different
endpoint
process,
API
endpoints
for
different
devices,
even
if
I
UT,
this
popular
every
device
can
be
programmable
endpoint.
B
So
if
you
look
at
the
current,
like
application
development
hit
by
a
lot
of
network
communication,
then
the
so
when
you
create
a
ticket
soon,
we
have
how
to
indicate
all
these
other
endpoints
to
make
a
usable
application.
Then
the
network
resilience
is
a
main
part
of
our
application
now.
So
so
all
these
things
like
Bernie
into
the
language
itself
and
make
it
developer
life
easier
to
develop
my
first
micro
service
and
then
they
can
easily
deploy
it.
If
the
committees
kind
of
systems.
B
A
A
B
B
So
I
have
set
up
my
screen
like
a
below
I.
Have
two
shell
commands
to
demonstrate
some
functionality
so
I
have
installed
latest
beta
release
is
a
0.98
one
release
so
I
will
so
marina
has
come
up
comes
with
like
services
come
as
the
first
first-class
support,
so
I
will
going
to
create
a
service
like
I,
think
I'm
good,
create
a
HTTP
service.
Basically,
so
I
will
import
HTTP
library
come
see
under
the
ballerina,
so
I'm
going
to.
A
B
B
A
B
Okay,
okay,
so
so
I
just
imported
the
Magna
HTTP
library.
So
here
now
so
he
sees
the
first
class
say
this
so
that
when
I
just
type,
you
were
working
the
service,
if
you
auto
completion
for
the
for
full
service
notation.
So
here
you
can
see,
serves
come
with
the
service
and
you
can
have
you
and
we
can
do
a
name,
so
I
will
make
it
know,
which
other
a
name
to
the
hello
so
I'm
going
to
the
color
world
trust
you.
A
A
B
B
Yes,
so
here
is
it's
come
as
a
single
resource
in
the
same
plate,
so
I
will
change
it
to
the
resource
called
hi.
Now,
within
the
resource
you
can
see,
there
are
two
parameters,
one
is
the
in
point
called
call
that
is
who
can
call
the
service
and
next
one
is?
It
can
also
pass
the
requests
that
come
under
the
this
resource,
so
as
a
HelloWorld
is
for
the
initial
I
will
set
the
response
and
send
it
back
to
the
caller.
That's
my
de
hello
ball.
A
Just
to
see
if
I
got
that
right,
if
I
would
want
to
write
an
echo
service,
I
could
actually
take,
and
you
know
it
says,
like
you
know,
I
would
say
hello
and
thing
would
be
it
would
echo
whatever
I
put
in
there.
So
I
could
use
the
request,
object
or
resource
or
whatever
and
put
that
back
into
your
response.
Yes,.
B
B
B
A
B
And
also
here
so
bear
in
now,
so
the
one
one
fundamental,
the
this
design
principle
is
that
to
minimize
the
mr.
developers
mistake
winner
with
the
so
here
you
can
see
so
this
Kolar
method
of
the
function.
It
return
a
response,
so
we
have
ahead
of
that
respond.
Oh
right
cups
like
oh,
we
can
just
redo
it
by
passing
it
on
the
scope,
but
so
here
the
motivation
Berry
is
that
so
you've
got
a
response.
Coming
back
for
a
particular
function
by
developer,
you
should
be
expected
to
handle
it
or
wait.
B
We
can
take
oh
boy,
okay,
so
now
so
we
have
like
set
the
response
and
send
it
back
to
the
caller.
Now
we
were
writing
a
service.
Now
to
call
this
service,
we
need
to
bind
a
particular
for
so
barely
not
so
yeah
for
the
first
sample
I
will
bind.
This
serves
into
a
particular
port
using
inline,
binding
I
can
just
find
entirely
for
the
first
service
to
the
port,
say:
nine:
zero,
nine,
zero,
colonel,
okay,
I
think
we
are
fine
now,
so
we
can
we
can.
B
We
can
either
build
the
Baron
and
run
it
or
we
can
just
run
the
Biot
I
know
by
now
run
come
on
like
go
run.
Yes,
we
can
ballerina
run
again,
you
the
those
fine
if
I
run
it
so
it
will
compiled
and
write
and
then,
let's
see,
do
I
will
use
the
coil
come
on.
B
B
A
B
Yeah,
so
this
is
the
first
hello
world,
so
this
there's
no
communities.
You
know
all
this
fun.
I
will
come
to
that
in
a
few
minutes.
Give
me
five
minutes.
I'll
come
to
that
before
I
come
to
that
I
will
I
want
to
like
I
explained
another
few
things
in
the
ballerina
does
by
default,
so
so
now
so
so
like
who
earlier
the
questioning
allocation,
is
how
we
can't
like
older
I
can
get
the
request
and
do
some
ordination
and
send
it
back
hello,
one.
B
Okay,
so
now
so
marina,
so
we
can
change
our
service
configuration.
Even
the
resource
can
fit
by
using
annotation.
So
burner
comes
with
default,
HTTP
annotation,
so
he
here
I'm
going
to
use
service
using
HTTP
source
fanfic
annotation.
So
you
can
see
there
are
a
bunch
of
functional
you
can
use
within
this
annotation
I
will
change
the
base
power
to
slash.
Oh
I
can
just
call
my
service
loses,
wrote,
yeah,
sash
is,
and
also
I
want
to
change
my
resource.
B
So
I
want
to
change
my
resource
by
say,
says:
config
annotation
so
now
say
if
I
want
to
there's
multiple
options,
so
I
want,
like
I,
want
to
change
the
path
to
this
one.
Also
road
and
I
just
call
the
four
nine
zero
nine
zero
it
can
access.
Now,
how
can
you
want
to
set
the
method
to
the
post?
B
B
A
B
B
B
B
Yeah,
okay,
so
so
I
just
set
the
pale
or
pale
or
the
screen
from
the
request.
I
can
say
hello
say:
set
the
payload
here.
A
B
Great
underlined
so
because
better
enough
come
by
ticketed
by
default,
so
here
we
are
going
to
pass
some
sensitive
payload
into
the
forest
respond
so
now
either
user
how
to
be
expressive,
t
pass
it
a
car
and
you
can
taint
it
and
pass
it
or
week
and
I
can
do
some
checking
and
deposit.
So
again,
the
motivation
is
produced
developers.
Mistakes
here.
B
Okay,
I
will
do
another
small
change
to
here.
Rod
I'm
using
the
inline
hot
binding
I,
can
define
the
endpoint,
so
Baron
endpoint
is
the
first
class
like
I
conclude
I
will
throw
in
why
VI
we
are
going
to
use
a
separate
point
object
here.
So
I
just
create
HTTP,
listen
endpoint,
and
this
is
nine
zero.
Nine,
zero
and
I
can,
just
by
knee
to
the
my
listener
here
good.
How
define
second
point
and
my
I
find
myself?
B
B
B
B
B
A
B
The
the
motivation
behind
to
provide
this
sequence
diagram
is
so
it's
a
SS,
so
we
have
work
thousand
of
integration
problems
plus
last
13
years.
So
whenever
we
go
to
the
customer
location,
when
you
I
want
to
explain
some,
we
are
doing
the
whiteboard
so
and
also
when
you,
when
you
write
some
code
even
that
you
come
commerce,
computer
company,
they
can't
understand
it
is
they
can.
But
this
is
hard
to
understand
the
pipe
go
into
the
code
text
code.
But
now,
if
you
can't
generate
this
sequence
diagram,
which
is
easier
example,
all
you
that's.
B
Ok,
let's
go
to
the
kubernetes
samples
so
now
so
I
want
to
deploy
this
into
the
favelas.
You
know
what,
yes,
you
can
do
deployment
so
so
we're
in
accounts
with
ballerina
expository
at
the
extension
you
can
docker
and
communities.
So
we
can
have
the
dope
I'm,
not
using
good
choice.
I
guess
import
yeah
yeah!
B
B
B
A
And
can
I
ask
you
there
sorry
sorry
to
interrupt
you
all
over
again,
but
I
think
it's
important.
These
questions
we
didn't
forget
anything.
This
is
now
kind
of
hard-coded
in
my
demo
file.
But
if
I
want
to
parrot
rice,
I
say
you
know,
I,
don't
want
a
hard
code
name
space,
for
example.
Name
is
okay,
but
I,
don't
wanna,
you
know
yeah,
it's
prescribed
in
which
namespace
they
should
be
deployed.
I
want
to
do
that.
You
provided
at
runtime.
A
B
Well,
sabrina
has
country
config
ApS,
so
you
can
read
values
from
the
variable
or
in
config
files.
So
if
you
make
it
namespace
readable
from
the
like
country
kpi's,
you
can
make
a
pass
in
interval
system.
All
these
namespace
or
the
cryptic
account
all
these
things.
Then
you
can,
for
example,
so
at
the
moment
they
support
all
this
functionality,
so
any
of
any
of
them
you
can
power
as
far
as
the
Penta
KBS,
then
it
you
read
from
the
environment
variables.
Then
we
can
do
the
cs-80
based
system
to
build
the
finale's.
B
Okay,
so
now
I
just
put
the
name
I
say
hello,
world.
That's
enough
for
my
illustration:
I'm
not
doing
any
lioness
bobbing
other
things
maybe
I
can
put
now.
So
this
will
create
the
communities
if
Roman
Yama
has
been
a
sadhaka
images
since
I
have
not
chatted.
Okay,
which
name
for
I,
can
say
that
they,
the
famous
name
here,
image,
name
image.
Name,
oh,
if
I'd
not
set
the
image
name
it
you
hit
the
my
hello,
sir,
so
his
name
as
it
okay,
image
name
and.
A
B
B
B
B
A
B
A
A
Right,
this
is
amazing,
so
let
me
think
about
that,
like
you
know,
I'm
a
quickest
developer,
some
developing
apps
on
and
I
want
to
get
into
like
I
I
subscribe
to
that,
but
I
really
want
to
start
using
ballerina.
What
like
you
know,
this
is
a
great
start.
I
totally
get
it
unless
you've
seen
that
most
of
the
stuff
was
kind
of,
like
so
obvious
to
me
that
I
could
immediately
guess
from
purely
from
looking
over
your
shoulder
to
what
what's
going
on.
But
what
would
be
the
expected
outcome?
A
Take
me
beyond
that
for
some
real-world
deployment
real-world
application.
What
would
be
the
next
step?
What
do
you
advise
our
viewers
out
there
beyond
that?
The
what
you've
just
seen
you
I'm
gonna,
install
Valerie,
now
I'm
gonna.
Do
that?
What's
next,
what
what
should
I
have
a
look
at
you
know
any
other.
Next
steps.
Do
you
have
stuff
up
stuff
up
on
Kalakuta
or
maybe
or
any
resources?
What
are
the
next
steps
beyond
this
hello
world?
Yes,.
B
What
are
the
language
design
principles
we
deal
with
and
then
how
minor
works?
We
had
a
sense
and
what
are
features
so
how
the
workers
handling
concurrency
stream
transactions.
All
these
handling
I
know
so
like
so
go
to
the
learning
material.
There's
two
main
learning
materials.
One
is
a
pen
up
by
examples
like
it
has.
The
I
would
say.
100
of
examples
like
IOD
remains:
secret
eats
so
controls,
error,
handling
testing
objects
which
TP
libraries
yep
so
code.
Here
we
see
the
MS
resiliency,
all
things
are
come
under
the
knife,
samples
and
one
more
thing.
B
So
if
you
look
at
the,
if
you
look
at
the
full
guide
line
guide
to
develop
very
9
production
grade,
so
I
guess
we
call
burna
by
grind.
So,
if
there's
a
bunch
of
guys,
so
you
can
cut
one
of
this
night.
It
it
it
come
under
is
the
crane
so
how
the
develop
we
can
do
the
testing
and
how
you
can
like
do
the
deployment
Ola
in
the
one
guide,
explaining
it.
What
end-to-end
testing
in
the
deployment
or
less
Wow.
A
B
A
Learn
like
I
get
totally
what
this
is
about,
how
it
works.
You
know,
roughly
now
in
any
kind
of
real
world
setup.
What
I
would
expect
as
well
is
some
kind
of
you
know.
Let's
call
it
absorb
ility
story,
so
you
know
maybe
per
meter
disintegration
like
what
is
your
like?
How
is
Valerius
approach
to
this
kind
of
ability?
How
do
I
get
inside?
You
know
how
how
the
calls
have
succeeded
or
not
or
metrics,.
B
Yeah
so
buddy
now
come
as
the
observatory
as
a
default,
for
example,
so
Prometheus
indication
is
out
of
toast.
So
by
now,
runtime
has
support
open
tracing
specification,
so
it
by
default
it
can
I
call
the
stat
matrix
and
there
send
to
the
Prometheus
to
pull
all
this
that
from
the
runtime
so
absorb
it.
You
also
build
en
dessous
the
Baron
all
right.
So
if
you
know
cancer,
so
if
you
cut
the
absorb
ility,
so
it
has
all
the
indicate
enemies,
the
all
the
Prometheus
Jager,
all
the
things
I
indicated
type.
B
A
So
I
did
notice
a
human
in
Copenhagen
earlier
this
year
you
had
a
stand
there.
All
the
Reno's
was
very
prominent
and-
and
you
know,
super
busy,
there
were
people
all
the
time.
I
was
honestly.
I
was
so
busy.
I
didn't
even
bother
to
queue
and
wait.
There
I
thought
you
know
I
find
other
ways
to
reach
other
yeah.
A
B
B
B
Now,
oh
I
think
we
have
more
than
200
plus
developers
so
from
W.
So
do
we
have
40
developers
full-time
developers
working
by
now,
but
we
have
now
200
and
200
first
developers,
so
it
is
fully
open
source
and
opportunist
hands
and
like
we
are.
We
are
working
with
different
ecosystem
partners
like
yeah,
looking
with
this
geo
voice
to
education
well
as
functional
partners.
So,
basically-
and
also
we
want
to
move
into
the
flight
since
yep.
A
That
was
my
next
question
terms
of
where
is
it
heading
in
terms
of
CN
CF
as
well?
You
might
not
know,
but
I'm
sincere
as
ambassador,
and
you
know,
is
trying
to
see
what
the
next
projects
might
be
and,
okay,
that's
that's
really
great
to
know
awesome
any
any
last
words
anything
you
want
to
share
with.
Yes,.
B
Yeah,
so
basically
so
I
very
well
when
you
come
so
if
you
can
time
to
contribute
the
vi
planning
so
I,
quite
so,
he
born
to
fully
engage
with
the
community.
So
all
things
I
own,
open,
open
model
like
all
the
podium
will
be
table.
All
the
issue
see
Nikita
P
chose.
We
have
open
well
in
list
all
the
technical,
technical
discussions,
all
the
discussion
on
Barry
and
I
self
discussing
within
the
community.