►
Description
In this episode, Matt and Luke sit with Scott Hunter to show how Pulumi enables .NET developers to define and deployment their cloud infrastructure as code.
[00:50] - What is Pulumi?
[02:30] - Creating a .NET app for Azure with the Pulumi API
[03:32] - Inspecting the deployment project
[06:27] - What happens when you change the deployment project?
Pulumi https://www.pulumi.com/
Get started with Pulumi and Azure https://www.pulumi.com/docs/get-started/azure/
Azure for .NET developers https://docs.microsoft.com/dotnet/azure/?WT.mc_id=dotnet-twitter-cephilli
Creating a new Pulumi project with .NET https://www.pulumi.com/docs/get-started/azure/create-project/
A
Hi,
this
is
Scott
on
the
net
show
and
today
I'm
here
with
Matt
and
Luke,
to
talk
about
Pelini.
A
B
So
I
mean
pulling
me
is
where
a
start-up
here
in
Seattle
and
we're
focused
on
building
sort
of
modern
infrastructures
code
tool.
So
taking
some
of
those
ideas
of
infrastructure
is
code
that
things
like
arm
and
inside
care,
reform
and
things
like
many
other
solutions
out
there
are
doing,
but
instead
of
using
sort
of
Jason
or
yam,
or
these
sorts
of
formats
that
aren't
really
amenable
to
IDE,
tooling,
to
developers
to
software
engineering
practices
generally.
B
A
B
Dropping
down
into
writing
these
hundreds
of
hundreds
of
lines
or
thousands
of
lines
of
yeah
molar,
Jason
Stefan
wants
these
higher
level
abstractions
right
when
we
think
about
abstractions,
one
of
the
best
tools
for
abstractions
is
code
right,
it's
it's
it's
you
know,
dotnet
I
can
create
classes,
I
can
create.
You
know,
functions,
I
can
create
methods,
great
packages
and
and
ship
them
into
NuGet
or
whatever,
and
so
because
we
have
all
those
tools
in
in
net.
B
B
Absolutely
so
I
have
here,
you
know
the
the
plumie
website
and
you
know
one
of
the
things
you
can
click
get
started.
You
can
go
through
a
flow
I'll.
Just
actually
do
this
directly
in
the
CLI
and
so
show
kind
of
what
the
experience
is.
Once
you
have
Colima
installed
to
sort
of
build
a
new
application
using
dotnet
I'm
and
deploy
it
to
Hatcher,
and
so
what
I'll
do
is
I'll
just
start
with
plumie
new
and
I'll
say
as
your
c-sharp.
B
B
You
know
they
have
my
production
environment
in
my
staging
environment
and,
in
this
case
I'm
just
going
to
start
working
in
a
dev
environment
and
then
because
I'm
building
an
azure
template
here,
I
can
pick
a
location,
an
actual
location
to
deploy
it
to,
and
so
I'll
start
with.
West
us
and
now
I
could
actually
go
and
you
know
deploy
this
and
I'll
run
dotnet,
build
just
to
make
sure
that
everything
is
kind
of
working
here
and
then
I'll
open
up
this
in
an
IDE.
So
what
kind
of
that.
B
So,
let's,
let's
take
a
look
at
that
in
there
just
to
your
code,
all
right
so
so
this
is,
you
know
mostly
kind
of
a
normal
net
app.
The
two
things
are
sort
of
unique
to
Pulu
me.
We
have
bloomie
ml
file,
which
just
says
that
this
is
a
plumie
program.
That's
gonna
use
the
dotnet
runtime,
so
we
also
support
you
know:
typescript,
we
support
Python.
B
We
have
preview
support
for
go
as
well,
but
dotnet
is
something
we've
just
sort
of
released
in
preview
recently
and
really
excited
to
make
it
available
to
dotnet
and
so
by
saying
runtime
net.
It's
gonna
try
to
load
this
all
up
inside.
You
know
inside
the
dotnet
process,
but
other
than
that
you
know
this
is
a
very
simple
application.
B
So
you
know
we
just
have
a
main
method
runs
deployment,
run
a
sync
and
all
of
the
sort
of
logic
of
what
we're
gonna,
try
and
deploy
into
the
cloud
is
just
inside
the
body
of
this
function,
and
so
for
folks
who
have
worked
with
you
know
azure
before
this
should
look
pretty
familiar,
we're
creating
a
resource
group
called
resource
group
not
too
original
there
and
then
we're
creating
an
account.
In
this
case.
This
account
is
actually
I'm
a
storage.
B
So
if
I
come
up
here,
you
can
say
have
I'm
using
the
plumie
as
your
storage
namespace
and
in
fact,
if
I
hover
over
this,
we'll
see
we
kind
of
get
in,
tell
us
we
kind
of
get.
You
know
these
hover
tips
and
things
that
tell
us
about
what
these
researchers
are.
We're
creating
and
one
of
the
sort
of
amazing
things,
because
this
is
just
an
IDE,
is
I-
can
come
in
here
and
say
like
glue
me:
dot,
Azure,
dot
and
I
get
every
namespace
of
every
resource.
That's
available
inside.
B
As
you
write
and
as
you
know,
as
you
imagine,
there's
a
lot
of
different
resources.
This
is
just
the
namespaces
right.
This
isn't
even
all
the
resources
by
going
to
compute
namespace
now
I've
got
you
know
all
the
things
virtual
machines
and
snapshots
and
scale
sets
and
all
these
different
resources
available.
B
So
everything
in
Ezzor
is
available
here
inside
gloomy
and
available
to
use
from
c-sharp,
and
so
in
this
case
you
know,
I'm,
creating
a
storage
account
place
where
I
can
sort
of
store
some
resources,
some
blobs
and
that
sort
of
thing,
and
so
what
I
can
do
is
I
can
sort
of
well.
Let
me
actually
just
open
up
a
terminal.
B
And
to
deploy
this
instead
of
shirred
running
dotnet
run
or
something
like
that
to
the
front
of
my
application.
What
I
actually
do
is
I
say
pulling
me
up,
and
this
will
go
and
deploy
my
application.
I'll
talk
a
little
bit
about
why
we
have
to
do
that
with
a
separate
command
here
in
a
second,
but
first
off,
you
see
we
automatically
kind
of
build
the
application,
so
you
can
quickly
just
make
changes
to
your
code
and
then
deploy
it,
and
this
will
actually
go
and
deploy
those
resources
into
the
cloud
in
just
a
second.
B
And
one
of
the
thing
I'll
note
just
while
we're
looking
at
this
is
then
I
can
export
some
functions.
So
I
can
export
a
dictionary
out
here.
That
has
the
connection
string.
That
gives
me
access
to
this
so
from
the
outside.
I
can
go
and
see
what
resources
I
created
and
what
those
are
so
we'll
see.
We
won't
pull
me
up.
B
A
A
B
Exactly
so
that
was,
I
was
almost
exactly
was
gonna
describe
next,
because
you
want
an
interesting
things
about
this.
Is
you
know
this
looks
a
little
bit
like
a
system
imperative
code
right,
I'm,
just
gonna
create
these
resources,
and
the
one
big
difference
is
that
this
really
is
still
infrastructure
is
code,
so
this
is
desired
State.
B
So
the
program
runs
to
figure
out
what
state
I
want
my
cloud
resources
to
be
in,
and
then
we
go
and
compare
that
with
what
state
they're
actually
in
in
the
cloud
and
we
computed
diff,
and
then
we
just
deploy
those
changes.
That's
why
we
want
to
show
you
that
preview
and
show
you
the
details
of
the
update.
There
is
because
we
want
to
be
sure
that
the
diff
we've
computed
really
matches
what
you
expect
and
that
something
hasn't
changed
in
your
cloud
provider.
That
makes
this
not
match.
Kinda.
B
It
is
there's
a
lot
like
button
sort
of
things.
These
desired
state
models
are
showing
up
in
a
lot
of
different
places,
but
certainly
in
the
cloud
infrastructure,
space
they're
really
important,
because
you've
got
sort
of
potentially
a
production
infrastructure.
You
want
to
make
targeted
changes
to
that.
You
don't
want
to
have
to
stand
it
up
again
from
scratch.
Every
time
you
want
to
make
any
change,
and
so
you
know,
for
example,
one
thing
I
can
do
well.
B
I'll
just
show
that
in
fact,
instead
of
showing
sort
of
details
of
this
I'll
just
show
one
change
here
that
I
could
make.
So
if
you
imagine
I
changed
my
account
tier
to
premium
right
now.
If
I
do
pulling
me
up
well,
actually
see
it'll
show
me
a
preview
of
what
change
is
going
to
be
expected.
Just
here
the
point
of
the
question
you
asked
and
will
actually
see
that
this
kind
of
change
requires
us
to
replace
the
storage
account.
B
Take
a
second
yeah.
So
if
you
see
that
the
preview
actually
tells
me,
it's
gonna
need
to
replace
that
storage
account
because
the
account
tier
changed
and
it's
going
to
potentially
create
a
different
connection
streaming.
So
it's
telling
me
that
changes
going
made
so
I
didn't
have
to
recreate
everything.
I
just
targeted
make
a
change,
that's
infrastructure,
it's
that
giving
a
lot
of
flexibility
to
sort
of,
and
these
will
cascade
changes.
If
this
has
to
get
replaced,
anything
depended
on.
It
will
place
all
that
sort
of
things,
so
a
lot
of
flexibility
there.
B
But
this
is
a
very
simple
example.
Let
me
just
quickly
show
a
couple
of
sort
of
more
complicated
examples
of
the
sorts
of
things
you
can
do
here.
So
in
our
examples,
repo
and
github
plumie
examples,
I,
have
examples
of
you
know
a
bunch
of
different
the
kind
of
things
you
can
do
with
with
c-sharp
and
and
azure
so
know
as
your
Cooper
nettie
service.
B
So
we
can
go
and
create
you
know
we
can
go
and
create
a
kubernetes
cluster,
for
example
using
Pulu
me,
and
we
can
pass
all
these
parameters
in
not
using
ya
mole
or
something
but
using
you
know,
a
real
programming
language
here
where
we
get,
you
know,
IDE
support
and
type
checking,
and
if
I,
you
know
mess
up
one
of
these
properties,
I
get
that
you
know
squiggle.
Underneath
there,
the
kind
of
thing
you
expect
so
as
I'm
typing
I'm
getting
feedback
immediately,
but
I
can
also
work
with
app
service.
B
B
Exactly
yeah,
so
you
can
store
them
in
source
control.
We
in
it.
We
have
integrations
with
azure
devops,
so
you
can
plug
these
into
it
as
a
devops
pipeline
and
just
deploy
them
through
a
CI
CD
process.
You
know
all
these
sorts
of
tools
that
you
expect
to
be
able
to
plug
into
and
the
ecosystem
are
kind
of
available
there.
That's.
A
Amazing
I
can't
wait
to
go.
Try
it
myself.
Now
that
I've
seen
it
it's
yeah
as
I
said,
I've
always
struggle
with
Azure
I'm
kind
of
a
portal
person,
because
I
can
click
around
and
make
what
I
want.
I
would
never
hand
write
a
file
to
go.
Do
that
I
would
just
basically
go
export.
What
I've
actually
done
right
and
so
with
this
I
get
to
live
more
uncomfortable
in
my
code,
yeah,
it's
easy
to
share
with
the
rest
of
my
developers,
so
this
is
awesome.
So
what
state
is
this?
Is
this?
B
A
plumie
itself
that
the
core
are
offering
we're
just
recently
hit
one.
Oh,
so
it's
very
much
in
production.
I
have
a
lot
of
folks
using
Pulu
me
to
deploy
their
production
infrastructure
already
a
lot
of
folks
doing
that
on
edge
as
well.
The.Net
support
is
actually
something
we've
just
launched
in
preview,
I.
Think
yesterday.
So
really
recently,
we
kind
of
made
this
available
in
preview
we're
actively
working
on
it,
but
but
it's
very
complete.
B
B
No,
so
everything
kind
of
I'm
showing
here
is
actually
part
of
the
open
source
project,
and
so
pluming
is
open
source.
It's
apache2
licensed
in
all
these
tools.
All
the
libraries
are
available
for
free,
and
so
we
really
want
to
make
sure
that
anyone
can
use
bluem.
You
know
for
teams
and
enterprises
using
it.
We
do
have
sort
of
some
offerings
for
them
to
sort
of
manage
access
to
the
stacks
and
things
at
the
team
in
enterprise
level.
But
everything
I've
shown
here
is
definitely
free
and
open.