►
From YouTube: Practical Advantages of using Studio Code and Azure for Kubernetes and Cloud Development by Vito Chi
Description
Sri Lanka has a growing group of Cloud Native enthusiasts, students, professionals, and technology leaders. KCD Sri Lanka offers a platform for this community to come together and connect with other tech communities in India and neighboring countries. It provides an opportunity to experience conferences like KubeCon / CloudNativeCon together with the rich cultural heritage of Sri Lanka.
A
A
Let's
start
by
setting
up
ourselves
for
success
with
Visual
Studio
code,
there's
a
few
extensions
that
are
used
in
this
session
and
I
recommend
that
you
install
them
as
well
as
it
is
really
good
for
ease
of
development.
The
first
one
is
azure
account
to
sign
in
to
our
Azure
subscription
from
Visual
Studio
code.
The
second
one
is
azure
container
apps,
the
third
one
is
code
spaces
and,
lastly,
GitHub
co-pilot.
A
A
A
A
A
If
you
look
at
the
kind
of
software
that
we
need
to
run,
it's
kind
of
like
emulating
the
server
right,
so
we
need
a
powerful
machine,
so
it's
expensive.
The
third
thing
is
security.
There's
a
couple
of
issues
here
right.
The
one
thing
is
that
your
machine
can
be
vulnerable
to
say
malware
and
your
code,
that's
actually
residing
on
your
machine,
may
be
copied
or
exposed.
A
So
the
other
thing
is
your
security
team
can't
really
review
code.
That's
on
your
machine.
So
that's
from
a
security
point
of
view
from
a
collaboration
point
of
view
as
well.
There's
also
challenges.
Today.
It
takes
a
huge
amount
of
time
for
someone
to
drop
in
and
make
a
fix
to
a
project
because
of
the
environment.
That's
required
to
first
set
it
up
in
the
first
place.
A
A
A
We
have
a
virtual
desktop
solution
for
contractors,
but
it's
very
hard
to
use
running
multiple
Docker
containers
on
our
company
issued
laptops
gets
tricky
in
consistent
local
environments,
I'm,
making
it
hard
to
standardize
on
build
tools
and
code
spaces
to
the
rescues
cool.
Spacers
is
a
cloud
development
environment
that
lets
you
code
from
anywhere
on
any
device
code.
Spaces.
Does
this
by
running
code
and
dependencies
in
the
VM
on
Azure,
the
development
environment,
whether
that's
Visual,
Studio
code,
Visual,
Studio
or
in
browser
vs
code
connects
that
let's
have
a
look
at
code
spaces?
A
A
A
A
A
Cold
spaces
also
allows
secure
development
from
any
device.
You
can
revoke
access
at
any
time.
Knowing
that
revocation
truly
results
in
loss
of
access
to
protected
resources,
code,
spaces
code
stays
in
your
container,
which
means
you
can
worry
less
about
data
exploration
and
also
enables
collaboration
in
zero
trust
scenarios
like
quickly
adding
contract
resources
to
your
team
by
ensuring
that
code
remains
in
Cloud
resources
that
you
control,
where
people
can
work
with
code
immediately
without
environment
set
up
and
those
kind
of
stuff.
Amazing
things
happen.
A
Security
and
Ops
can
start
interacting
immediately
and
understand
the
effect
of
changes
either.
Sauce
also
really
starts
to
happen
personally,
as
a
developer,
I'm,
a
minimalist
I,
don't
like
having
a
lot
of
stuff
on
my
laptop
right.
It
slows
down
the
computer.
It
takes
up
memory
right,
so
what
happens
is
with
code
spaces?
All
of
these
are
actually
on
the
cloud
and
it
frees
up
those
resources
on
my
local
laptop
and
it's
super
fast.
So
that's
one
advantages
that
you
get
as
a
developer.
A
A
A
A
So,
instead
of
installing
it
like
this,
what
we
want
to
do
is
right,
click
and
add
it
to
our
Dev
container.
So
by
having
this
that
container,
it
will
not
just
benefit
us.
It
will
benefit
other
developers
as
well
as
they
will
definitely
need
to
have
these
kind
of
extensions
working
at
Dr
code
space
as
well.
So
here
there's
no
container
configuration
currently
found
so
I'll
add
one
and,
let's
add
one,
that's
based
on
node.js:
let's
do
for
the
default
one
and
we'll
need
Docker
as
well.
A
A
Let's
look
here
right:
go
within
the
devcontainer.json
definition.
We
will
now
see
that
the
docker
extension
has
been
added
to
the
list
of
extensions.
These
are
the
extensions
that
will
be
automatically
added
when
we
turn
on
our
code
space
the
next
time
and
we
have
Docker
from
Docker
as
a
feature
as
well.
A
A
A
A
So
again,
it's
going
to
build
the
container
again
very
nice
view
locks
just
to
see.
A
A
Okay,
so
now
this
is
a
new
code
spaces,
but
it's
actually
turned
on
based
on
our
newer
code
with
that
container
added.
So
this
is
the
deck
container
file
right.
So,
let's
see,
if
we
have
our
Magic
here,
which
is
the
docker
extension
installed,
yay
so
yeah,
so
the
next
developer.
Imagine
will
then
save
a
step
by
having
this
extension
already.
There.
A
Remember
seeing
the
notification
on
Docker
from
Docker
earlier,
while
turning
on
the
code
space
right,
let's
find
out
what's
that
about,
we
can
do
that
with
the
creation
log
and
we
can
access
it
from
the
command
palette.
Let's
go
to
Creation
log
yeah,
so
so
this
is
the
creation
lock
and
let's
hit
to
the
docker
from
Docker
yeah.
A
A
A
A
Now,
let's
have
a
look
at
our
API
Let's
open
it
in
browser
yeah,
as
you
can
see,
Visual
Studio
code
will
set
up
the
port
forwarding
as
well
and
the
authentication
as
well.
If
you
run
it
through
Visual
Studio
code
and
there
you
have
it
our
API.
A
Okay,
now
that
we
have
looked
at
how
we
can
have
a
development
environment
on
the
cloud
with
GitHub
code
spaces,
let's
have
a
think
around
how
we
can
then
deploy
our
app,
our
microservice,
our
API,
to
the
cloud,
and
here
we
know
that
we
have
a
Docker
file,
which
is
a
containerized
application.
So
we
have
this
here:
the
entire
Azure
containers,
portfolio
so
AKs
and
Azure.
We
had
openshift
those
provide
full
access
to
the
kubernetes
layer
right,
so
the
cluster
in
itself.
You
can
control,
you
can
control
the
Ingress.
A
You
can
control
networking
and
control
maintenance
and
scale
on
the
right
hand,
side
you
have
Azure
container
instances,
so
it's
a
way
to
launch
container
with
hypervisor
isolation
so
container
as
a
unit
in
itself
in
Azure.
In
that
sense,
it's
a
low
level,
compute
kind
of
like
your
VM
and
also
kind
of
like
you
know,
the
local
container
runtime
called
the
docker
desktop
right.
A
So
it's
useful
in
in
some
ways,
and
one
of
the
ways
is
as
virtual
nodes
as
part
of
azure
kubernetes
service
right.
So
here
in
the
middle,
the
new
thing
is
where
things
become
really
really
interesting.
So
Azure
container
apps
right.
So
this
is
something
that
we
truly
want
to
consider
for
our
application.
So
if
you
look
at
the
application
that
we
just
brought
up
on
GitHub
code
spaces
right,
it's
a
micro
service
application.
A
So
what
is
azure
container
apps
Azure
container
apps
operates
on
top
of
the
kubernetes
cluster
okay.
So
it's
on
top
of
the
kubernetes
cluster,
but
it's
entirely
managed
the
whole
cluster
is
is
managed,
so
you
don't
have
to
worry
about
the
managing
the
cluster
yourself
right.
So
it's
actually
very
interesting
for
those
that
are
focused
on
application,
delivery
right
and
you
want
to
focus
on
really
iterating
on
your
features
and
all
of
that
right
and
not
on
maintaining
classes
right.
A
So
the
scaling,
the
HTTP
routing
and
service
Discovery,
all
those
are
still
there
for
you
in
Azure
container,
apps,
so
yeah,
it's
a
very
interesting
service,
we'll
deep
dive
on
it
very
shortly.
But
let's
now
take
a
look
at
the
bottom
right
right,
so
we
have
Azure
app
service
and
Azure
functions,
Azure
app
service,
it's
a
way
to
host
web
apps
and
web
apis.
A
You
can
publish
code
directly
to
it
and
you
don't
have
to
match
a
container,
and
you
know
it
has
cool
features
like
deployment
slots
and
all
that
right.
But
if
you
compare
Azure
app
service
to
Azure
container
apps
right,
Azure,
container
apps
is
actually
more
optimized
for
micro
service
that
needs
to
communicate
to
each
other
right,
so
Azure
container
apps
is
more
suitable
if
you
are
looking
at
developing
micro
services.
A
Okay,
so,
as
a
function
says
serverless
the
thing
about
Azure
functions
is
that
it's
it's
you
know
you
need
to
interface
with
it
with
functions,
SDK
right,
so
it's
a
little
bit
more
opinionated,
but,
on
the
other
hand,
Azure
container
apps
allows
for
you
know
any
container
rights
app
right
to
to
execute,
while
still
you
know
being
triggered
by
the
same
model,
the
serverless
model,
using
events
right
so
yeah
there
there
you
go
that
that's
all
the
overview
of
the
Azure
containers
portfolio
right
now
for
our
app
and
for
today's
session,
we'll
Deep
dive
into
Azure
container
apps
as
the
balance
option
here.
A
So
Azure
container
apps
is
the
latest
container
offering
from
Microsoft
that
wraps
around
kubernetes
Kida
Dapper
and
Envoy
to
provide
you
with
a
serverless
way
on
top
of
a
kubernetes
cluster.
So
the
serverless
part
is
interesting
right.
So
you
get
similar
level
pricing
and
a
kubernetes
cluster
on
top
of
it
so
service
containers.
How
does
that
even
work?
In
short,
okay,
that
kubernetes
event
Driven
Auto
scaling
with
Azure
container
apps.
You
can
run
containers
and
scale
in
response
to
http
traffic.
A
A
Azure
container
apps
is
another
example
of
the
kind
of
advantage
that
you
get
on
the
Azure
cloud
because
you're
not
burdened
by
managing
a
container
or
frustrator.
You
get
more
time
to
focus
on
building
your
app
with
container
apps.
You
can
build
microservices,
apis
event,
processing
workers
and
background
jobs
using
containers.
A
A
A
You
have
the
Assurance
of
being
able
to
create
modern
apps
with
Open
Standards,
based
on
a
kubernetes
foundation
and
portability
in
mind
with
container
apps.
You
can
rely
on
streamline
application
lifecycle
tasks
such
as
application
upgrades
and
versioning
traffic,
shifting
service,
Discovery
and
monitoring
all
on
open
source.
A
A
A
Okay
cool
so
with
Azure
container
apps
installed.
We
can
then
proceed
to
deploy
our
app.
A
A
Okay,
cool
so
yeah,
so
we
are
doing
this
within
Visual
Studio
code,
so
we
are
doing
all
of
this
within
just
this
environment
right.
Okay,
so
now
we
have
successfully
created
the
registry.
A
Let
me
know
where
it's
going
to
Let's,
give
it
a
simple
name
and.
A
A
A
A
So
this
is
useful
for
situations
where
you
are
managing
related
services,
so
the
container
apps
can
talk
to
one
another,
so,
for
example,
in
situations
where
you're
using
Dapper.
This
is
also
very
useful.
Now,
if
you
need
container
apps
to
be
isolated,
then
you
need
to
create
a
separate
container
apps
environment.
A
The
next
interesting
aspect
of
azure
container
apps
is
GitHub
integration.
If
you
use
Azure
container
apps,
you
should
use
GitHub
actions
to
publish
revisions
to
your
container
app
as
commits
are
pushed
to
your
GitHub
repo.
A
GitHub
action
is
triggered,
which
updates
the
container
image
in
the
container
registry
once
the
container
is
updated
in
the
registry.
Azure
container
apps
then
creates
a
new
revision
based
on
the
updated
container
image.
Now,
let's
have
a
look
at
revision.
A
Revisions
are
immutable
virgin
snapshots
of
a
container
app,
so
revisions
are
very
useful
when
you
enable
Ingress.
So
what
you
can
do
is
you
can
use
Direction
strategies
like
a
b
testing
and
new
green
development.
So
yeah,
that's
revision
for
you
with
Envoy.
You
can
actually
direct
traffic
to
specific
revisions,
say
in
this
case
80
to
revision,
1
and
20
to
revision,
to.
A
Azure
container
apps
also
gathers
a
broad
set
of
data
about
your
container
app
and
stores
it
using
log
Analytics.
You
can
then
use
the
Azure,
CLI
or
Azure
portal
to
run
queries
against
your
log
analytics
workspace
and
visualize.
The
result
Dapper
also
fully
comes
alive
in
Azure
container
apps
Azure
container
apps
offers
a
fully
managed
version
of
the
dapper
apis,
so
with
Dapper
in
Azure,
container
apps
sidecar
can
be
enabled
to
run
next
to
your
app
instances,
and
this
provides
a
rich
sets
of
capabilities
and
productivity
gains.