Speaker 1: How'd you like to listen to dot net rocks with
no ads? Easy? Become a patron for just five dollars
a month. You get access to a private RSS feed
where all the shows have no ads. Twenty dollars a month,
we'll get you that and a special dot net Rocks
patron mug. Sign up now at Patreon dot dot NetRocks
dot com. Hey, welcome back to dot net rocks. It's
Carl Franklin and I'm Richard Cawell and wow, wow, wow, wow.
It's been a while. Yeah, it's been a ride.
Speaker 2: It's been a holiday season. You know, we've done them things,
so it all is well.
Speaker 1: Well, you know, it's it's been a good first month
of the year, I think pretty much.
Speaker 2: I'm in London and you're not if I'm not doing
the timeshofting aarage.
Speaker 1: Although two days after this come out, I will be
going to a wine and food festival at Mohegan Sun
where a lot of the chefs from the Food Network
will be hanging out. Very nice, so I'm looking forward
to Yeah, it'll be good. Abnombing with Food Royalty anyway.
Isaac Levin is here talking about something called dev Box,
but we'll get to that in a minute. First, we
have better no framework, A man, what do you got?
Speaker 2: All right?
Speaker 1: Well, quickly, I wanted to announce my new YouTube show
called Guitar Carl.
Speaker 2: Oh you are a guitar Carl.
Speaker 1: Yeah, and you know I've been playing since I did
The Math since nineteen seventy seven.
Speaker 2: Yeah, it's been a while.
Speaker 1: Yeah, that's when I started playing, so almost fifty years.
And geez, I just I got inspired because I was
out playing a gig and this guy who had started
guitar later in life, I think he's even retired now,
when he started learning songs and playing them out and
he was just asking me questions about, you know, how
do you get over anxiety and imposter syndrome? And so
we had this chat and I offered him some advice
and he thought it was very very helpful, and I said,
you know, maybe I had to do like a show.
Well you know the things that I've learned about guitars
and playing and sure all those things, because you know,
we forget what we know. Yeah, And I think you're
the one who told me that is that we have
a tendency to assume that everybody knows.
Speaker 2: That we know. Yeah, yeah, we keep forgetting that that. No,
that's harder and knowledge.
Speaker 1: Right. So the one thing I am not doing in
this show is overplaying, like, you know, hitting you over
the head with my guitar playing so that it makes
you feel like why should I go on less then?
Because I don't like that. I don't like when people do. Hey,
just learn this magic formula and you two can be
a rock star whatever.
Speaker 2: No, Yeah, what I learned from you is that you're
a great guitar player for exactly one reason. Tons of practice,
tons of practice, tons, right, I've watched you do it.
Speaker 1: So anyway, check that out. It's a just search YouTube
for guitar Karl and there's a link too. And but
before we move on, Richard, let's talk about nineteen thirty four.
Speaker 2: Well it's a good one.
Speaker 1: This is episode nineteen thirty four, and I went looking
and we'll put the link to you know, take me
back to Yeah, there was just so much that happened
in nineteen thirty four. It's great that only I only
got through three months and then I said, screw it,
I can't.
Speaker 2: You just had to stop.
Speaker 1: I just had to stop. So that's why the link.
But let me just summarize here. So Nazi Germany had
its rise in nineteen thirty four. Thirty four was a
big year. It was a big year. So they made
it illegal for pastors and church officials to oppose the
Nazi Party. Nice they abolished the Upper Chamber of the
German Parliament, further dismantling their democratic institutions. They enacted a
eugenics law to prevent genetically inferior offspring, and that kind
of paved the way towards some of their other halacious
things that they went through. An anti Semitic stage performance
ban forbid Jews from performing on German stages. This is
all nineteen thirty but this is all like January February
rights Nazi Germany's military issued a discriminatory policy banning Jews
from enlisting in the German military. Himmler consolidated police power
in Nazi Germany, assuming complete command of all police forces
in Germany, significantly expanding the centralized control and potential for
state sponsored oppression. Moving on to Austria, it was the
Austrian Civil War, short lived, but still it was there.
Chancellor Engelbert Daulphuss dissolved. I don't know it was dissolved
all political parties except his own right wing Fatherland Front.
Speaker 2: That's nice effect.
Speaker 1: Yeah, all other parties are illegal.
Speaker 2: You can have one party.
Speaker 1: Yeah, one party in Italy. Mussolini gave his famous sixty
year Planned speech. That was on March eighteenth. And in
some good news, Edwin Hubble discovered galaxy population.
Speaker 2: He made that great photograph.
Speaker 1: Yep, and that photograph revealed the number of galaxies in
the Obserble universes comparable to the number of stars in
the Milky Way.
Speaker 2: And he was underestimating. Yes, it's more. And that was
all before April. Yeah, no kidding.
Speaker 1: So I encourage you to it's good to know history,
and just go take a look through those events that
happened in nineteen three.
Speaker 2: Look at a year each week as we do.
Speaker 1: Yeah, you have anything to add, Richard, throw.
Speaker 2: In a couple. One is this is the year that
the ham And organ was patented. Wow, got to do
a music one, you know, Yeah.
Speaker 1: Wow. Mother's Day. The first Mother's Day was in nineteen three.
Speaker 2: Yeh, this is when the dust storms began, the giant
dust storms. It was a two day dust storm across
the West, such fine dust that it penetrated absolutely everything
coded everything with dust, and the dust went up in
the atmosphere and stayed there. It snowed red snow in
New England that winter. The dust storm was in the summer.
Speaker 1: That is crazy.
Speaker 2: And I'll end with a fun one. The game Monopoly
was created in nineteen thirty Oh wow wow, which was
an indictment about concentration of wealth. The game, Yeah, that's right.
Speaker 1: It was actually a cautionary game, wasn't it. That's right,
and it was stolen and turned into a capitalistic celebration.
So that's what I got. Richard, who's talking to us today.
Speaker 2: Grabbing coppin tov our show eighteen thirteen, the one we
did with one Isaac Levin maybe've heard of him m
talking about developing on developing dot net on AWS. This
is back in twenty two, so a couple of years back.
And Aaron Morgan had this great comment again two years old,
this great show. Guys really loved Isaac's knowledge of AWS
and Azure and his ability to communicate the ins and
outs without over complicating things. So Coffee and open Source
has a new subscriber, and that's Isaac's podcasts. Yeah, so
I'll include I link in the show notes for that
if you want to catch it. The first thing I
did was go check to see if you still go
on Isaac, because I know it's hard, but still do it.
Speaker 3: The thing I did one this morning earlier today.
Speaker 2: Yeah, Hey, we did too, how about that? Yeah, and
I've done one, So Aaron, thank you so much for
your comment, and a copy of music go ba is
on its way to you. And if you'd like a
copy of music, Cobey, I read a comment on the
website at dot NetRocks dot com or on the facebooks.
We publish every show there and if you comment there
and every did on the show, we'll send you a
copy of music go by.
Speaker 1: And you can definitely follow us on social media to
get a copy of music to codey. We've been on
ex Twitter forever and we're also on mastadon and on
blue Sky and some form of at Carl Franklin and
at Rich Campbell you can find us. So with that,
let us bring back to dot net ry our friend
Isaac Levin. He is a now a developer advocate as
well as a Microsoft MVP. He has over ten years
of experience working as a developer for the web, mostly
a Microsoft ecosystem. Outside of work, he hosts a podcast
called Coffee and open Source, where he interviews folks from
across the tech industry, as well as building open source
projects like presence Light and GitHub stat Tracker. He lives
outside of Seattle, Washington, and likes to wind down from
work with his wife, Ariana and his two children, Isaac
and Avery. Welcome back.
Speaker 3: Thank you for having me. Before we get started, I
had because I'm a valid listener. I came up with
some also cool things from nineteen thirty four if you
don't mind cool ooh, yes, yeah, so's a big year. Yeah,
well January first, a little facility called Alcatraz is opened
for the first time.
Speaker 1: Wow.
Speaker 3: Also, if you're a baseball fan, big year in baseball,
Babe Ruth and Nautra's retirement, and the Yankees had a
player called up named Joe DiMaggio.
Speaker 1: Nope, so I think there was a fire in Fenway Park.
Wasn't there? Also?
Speaker 3: There was there was?
Speaker 2: Yep?
Speaker 3: Yeah, yeah, no, yeah, again, thank you so much for
having me. It's great to be here.
Speaker 1: Great to have you again.
Speaker 2: Always get to talk to you, Brod.
Speaker 1: Last time we talked to you at Amazon, Right, that
was correct? Dang aws stuff. Ye, and you've moved on.
So are you're independent?
Speaker 2: Now?
Speaker 1: You work for Microsoft? Exactly where are you?
Speaker 3: Yeah? So I'm I am a contractor, I mean vendor
at Microsoft, focusing primarily on developer marketing, specifically around all
the things that Microsoft talks about these days, get a
co pilot, dev box, visual studio vs. Code AI, all
the fun.
Speaker 1: Things, you know. After I became an MVP, every year
i'd get a dev box in the mail. Is that
what we're talking That's what we're talking about here, right, Yeah? Yeah, yeah,
the dev box. Yeah. No, I have to admit this
is so new. I didn't I hadn't heard about it,
and then I went out and took a look at it,
and I looked at the website and I still don't
know what it is.
Speaker 2: So fair enough, fair enough, it's like.
Speaker 1: Some cloud service for managing development teams in the cloud.
Speaker 3: Yeah, let me So. I've been doing this for a while,
not as long as you folks, but I remember a
very particular point in time when you didn't really do
any development on your machine. You had vms right that
had very specific things, right like that was a development
uh and a way of managing developer teams is that
you'd have VMS and then that VM maybe had this
app on it, and you'd have like maybe two or
three or four vms, right, and whether they were local
on your machine or hosted somewhere like internally at your
company didn't really matter. So what I like to think
of when I think about Microsoft dev Box is that
but based in the cloud. Uh, there's a whole lot
of other things that come for the ride as well.
But I think if you're if you've been developing for
a while, you remember remoting into VMS to do your
developer work. Sure, sure, yeah, so just think of it
as that, but you get access to a bunch of
other stuff, and I'm as we'll talk about some of
that throughout this conversation.
Speaker 1: Yeah, it's kind of nice to have a dedicated machine
for dev that you can access anywhere. Anytime you have
to reinstall Windows, anytime you have to get a new
laptop or whatever. It's it's just another thing that you
have to install all this stuff. Yeah, I mean third
party tools, everything I've you.
Speaker 3: Know, I've switched jobs a few times. I've switched jobs
since the last time I spoke with you folks, Right,
so creating a like getting the machine to your happy
place can be challenging. It's gotten a lot better, right Like,
there are things like wind get, DSc and all sorts
of cool things to be able to get you to
where you want. But you still got to do all
the Windows updates, make sure all the software is installed,
make sure you're setupnd like, this is something that you know.
It can take days, if not weeks. Yeah, no for
non sophisticated teams to do.
Speaker 2: Right start organizations where they brought a new developer and
it was two weeks before they could check in a
piece of code.
Speaker 1: Yeah yeah.
Speaker 3: And with dev box, the goal is to kind of
streamline that, like in a self service manner. So, for instance,
I need dev box. There's a developer portal that I
can go to. I literally click create dev box with
some specifications that are defined by my team, and how
over long it takes to provision that resource. I'm able
to then connect to it via the Windows app via
Bastion and the browser via RDP.
Speaker 1: You just said it, You said it. The Windows app
probably the most ubiquitous and mysterious and non specific term
for a new product. Sure, the Windows App. Yeah, now,
I kind of think of this as just like an
RDP client.
Speaker 3: It's similar, right, So I think what's cool about it
is that it gives you in the RDP client, it
gives you a lot of flexibility. But it's it's a
bit behind the times, Like I don't remember when the
like the last time the UI for it was was
updated for it. Yes, but what the Windows app does
It provides basically a single point of entry for all
of your quote unquote like remote things. So like if
you have other VDI services that you might take advantage of,
like Windows sixty five or as your virtual desktop, you
can connect to those it also you can run it
on other platforms, not just Windows.
Speaker 1: Yeah.
Speaker 3: So I think it's one of those things where you know,
it's it's bringing a similar concept but to a new world.
Speaker 1: I guess you could say, and is it more integrated
with Windows? I guess what I'm saying, is there more
stuff that you can do through the Windows app that
you can't do through an RDP client.
Speaker 3: I think it's a it's a bit it's definitely more straightforward, right,
Like you can also create these things through dev hoome,
which connects to Windows App. Uh, you know it it's
one of those things where it just gives you a
better pane of glass. It's also thinking. So what was
it called RDC man does it do you folks?
Speaker 2: Remember that where you.
Speaker 3: Can manage like a bunch of them.
Speaker 2: Yeah, yeah, to day.
Speaker 3: So like for instance, the Windows App, regardless of what
sort of service it is, it's all available for you
in one single pane of glass too. So if you
have like five or six step boxes, it's literally just
a grid or a card system and you can connect
to them, you can manage them, you can change settings.
Speaker 1: For them, so it's not just a drop down correct.
Speaker 3: Where you put in like an arbitrary IP address right
or if you're fancy a host name right. You can
also do things like you could do this in our
in like the traditional like RDP tool as well, but
can figure like multi moder support and in other things
just to make your life as a developer a bit better.
Speaker 2: Yeah, okay, all right, so all of this, and this
is different from Windows Terminal, which is more about PowerShell
and SSH yeah and that kind of thing. This is,
I mean, RDP is one of the things that Windows
app does, yes, but it does a bunch of other
things as well, it's about all to do with remote connections, yep.
Speaker 1: So what else does it do?
Speaker 3: What else is Windows app do? Or what else is
death box do?
Speaker 2: Yeah?
Speaker 1: What else does Windows app do? And then we'll get
back to debt box.
Speaker 3: Yeah, So like being able to I think one of
the things that's also interesting is just the ability to
create groups, so like you can specify like a these
are the specific Basically, just think of it as a
management utility for remote for remote connections, Carl. So it's
you know, and it sinks with all of the other
like developer productivity services that exist for Windows, like you know,
Richard mentioned terminal, there's also dev home, there's also dev drive,
so all these things are kind of seamlessly connected and
kind of managed by the looking of team.
Speaker 1: All right.
Speaker 2: So yeah, and it's also available on all the platforms
Like rdpm app was only for Windows, but wind app
is on a Mac and Android and you name it.
Speaker 3: Yeah, I believe, yeah, believe it's I believe it's. Yeah,
it's available for Android, iPhone, Windows. I'm not sure if
there's a Linux client, so don't don't quote me on that.
But again, it just gives you the ability also like
web browser stuff too, Like you could do it via
like using Bastion in the browser, which is which is
a pretty cool thing to Oh and I just looked
at the website metaquest VR headset. If you want to
do that.
Speaker 2: Too, that's something you want to do, Okay. I mean
I'm also looking at this from a security perspective that
now I don't if I got a work from Homer,
I don't have to have them have a whole deb
environment on their machine anymore. They just they only need
a front end basically to call into a dev box
that I have control over.
Speaker 1: Yeah.
Speaker 3: I think one of the things too, would be helpful
to talk about is like who are the different kind
of customers for dev box? Sure, because I think that
there's some value there. Like the end customer obviously is
the developer who's using the portal to create these things, right,
But if you're an organization, more than likely you just
don't give developers like, hey, here you go, just go
and create this thing and install whatever software on there
and all of that sort of stuff. Like there's some
management to it, right, So if you're in it, or
if you're in OPS or quote unquote platform engineering, like
the ability to put these guardrails on these systems to
be able to say, oh, we have connected to intunes,
so we have endpoint security, like that's provided by default,
the ability to you know, configure network isolations, so like
these particular dev boxes don't have access to certain resources, right.
Also there's some cool things around like not being able
to like take screenshots of dev box, which is kind
of a which is an interesting thing as well, for
like the extra level of security, right, So like that's
like the platform like OPS Systems administrator sort of lens, right,
and then you have like this developer lead lens. Like
think about it like this, Like I'm a developer lead,
I'm a manager. You know, we have four or five
different projects that we're running at any particular point in time,
and I need to kind of ensure that my developers
are delivering code as quickly as possible and as efficiently
as possible. So the ability to define the environments that
these that these developers are creating is really valuable too.
So taking advantage of things like customization, so like hey,
maybe I want this suite of software on the machine.
Right when we get going, I can create base images
off of that I can then type into things like
making sure that I have the latest extensions and sold
for vs code or visual Studio, making sure that caching
is set up, like all of those things are done
for me as well with dev box. And then obviously
is the end user, Like I literally choose my project
that I want, It shows me what the SKU is
going to be. It shows me where the region is
going to be of that particular remote compute, and then
I could create and then after spread time, I can
just connect to it and then it's like it was there,
which I think is pretty cool.
Speaker 1: Right. So I think the question that's on a lot
of people's mind is, yeah, what's the difference between I mean,
is the f box and Windows App going to now
be applicable for environments other than developer environments that are
sort of just like client vms and the cloud. Like
we have an Azure now that we use RDP for
and by the same the inversion of that is, would
we maybe use the Windows app to connect to our
existing vms. Yeah.
Speaker 3: So Windows App actually supports like all of the different
remote services for like a remote desktop, So it supports
azrovirsual desktop, it supports dev box, Windows sixty five Remote
PC remote desktop services, right, So it supports all of
those things already the Windows app does.
Speaker 1: So it's really the new RDP client that we should
think about using.
Speaker 3: Yeah, yeah, think about it like that, right, with a
with a with a more fluent looking UI and a
management utility built into it instead, like you said, just
want to drop down?
Speaker 2: Cool?
Speaker 1: Yeah.
Speaker 2: The whole point here is I don't have to ask
the dev to set up their machine and make sure
they actually did it, right. It's that I specify a
manifest of what's going to be on that machine, yep,
and they when they when we go to make an
instance for them, it stands it up with all the
right stuff.
Speaker 3: Well, think about it like this, Richard, Like you mentioned
you were talking to a client and it took them
two weeks to stand up an environment, yeah, right, before
they could commit code. Like I mean, let's just call
it is what it is.
Speaker 2: Like.
Speaker 3: That's like money spent on somebody who's not doing the
thing you hired them to do.
Speaker 2: Totally and very frustrated, right.
Speaker 3: Like, yeah, exactly. I can imagine. I've been in situations
where it took a couple of days and that was frustrating.
I couldn't imagine starting a new job. You're excited starting
a new job. You're getting like like I'm going to
commit some code, I'm gonna do this thing, and then like, oh,
by the way, it's going to take two weeks to
provision an environment for you.
Speaker 2: Now we're we're missing this license. We got to order
it in because it was a physical thing, right, like
I can't just get it online. And as well as
do we have hardware for you? Da da da da da,
Like all of that is irrelevant.
Speaker 3: Yeah, and just replace that with what dev box offers,
where it's hey, day one, go to the website. You've
already been set up with access to be able to
create a dev box for these particular projects that you're
going to be working on. We'll walk you through, I'll
show you how to do it. You go there, you
click drop down, you click create, and then when it's done,
you can go and look at all of them, or
you can connect via the Windows app. Again, like you're
taking two weeks and you're taking it into like an hour.
Speaker 2: Yeah.
Speaker 1: What about the first part of my question, which is
is dev box applicable to environments other than developer environments?
Is it good for just setting up client PCs with
installed software.
Speaker 2: I think you'd useual as your virtual desktop for that.
Speaker 3: Yeah, so I think that there's some value in talking
about like what all the different offerings are.
Speaker 2: Ye.
Speaker 3: So, like Microsoft provides a few different options in this space,
like this VDI or you know, Virtual Integrade Desktop, I
think is what VDI stands for. But like there's three
big ones. There's Azure Virtual Desktop, there's Windows to sixty five,
and there's dev Box. So you know, all of these
things kind of sit like stand on top of the
same infrastructure, right. I think what's really different among them
is the use case. Right, So if you're connecting to
a thin client or you're doing like light productivity services,
like you're just using and Outlook and things like that,
like Azure Virtual Desktop or Windows sixty five is probably
the better option for you. But what dev box provides
is access to more high performance compute, so the be
able to have like sixty four cores or you know
a whole bunch of ram.
Speaker 1: Okay, what I have is I have a virtual machine
in Azure right now, but I set up as a
VM with Windows Desktop right client Windows ten and you
know you pay for use right, and I have that
up there to do my various videos that I do.
But I think what I hear you saying is that
you're going to pay a lot more in that situation
then you would pay to access the same kind of
resources like the cores and the RAM and all that
stuff that you would get an Azure dev box. Am
I reading that correctly? Yeah?
Speaker 3: So, like Microsoft dev Box more than likely is less
expensive than just hosting a VM and Azure and then
opening the RDP port and then doing it like that.
Speaker 2: Yeah.
Speaker 3: Also, like I don't know if you have gone down
the path of like making sure that that OS is
up to date and most secure. Yeah, but yeah, like
it's just one of those things. Yeah, Like it's one
of those things where it's kind of done for you
with depth box, right, Like it it's a managed service
for developer compute, which I think is pretty cool.
Speaker 1: And when you go in with it, is it just
like accessing a Windows desktop?
Speaker 2: Yeah?
Speaker 1: I mean, are you accessing a Windows desktop? Yeah?
Speaker 3: So yeah, So, I mean the experience with the Windows
app is very similar to RDP, right, Like a window
pops up and you see the desktop and all of that,
And like I said, it supports Bastion and the browser.
So like if you wanted to connect to your remote
compute via the browser, you have the ability to do
that too. Obviously, the experience has a bit different versus
your connecting via the browser versus just connecting via the
Windows app. But it's one of those things where it
just it makes a ton more sense to use the
infrastructure and you the managed service then kind of rolling
it yourself, depending what your use case is.
Speaker 1: Yeah, yeah, well in my case, it's going to save
a lot of money, and that's very compelling. Like you
wouldn't think, Okay, it's just a VM, but now you're
you're talking about a lot more resources for a lot
less money.
Speaker 3: Yeah, and I know that. It's like like the idea
of like talking about pricing is is probably scary, but
I'll just I'll just throw this out there right, Like
I'm looking at the pricing calculator for debt for dev boxes.
I was curious, So if you want thirty two CPUs
ordering twenty gigs a RAM and two Terribyte hard drive,
the max monthly price is six hundred and twenty eight
dollars a month.
Speaker 1: Yeah, okay, and you probably.
Speaker 3: Don't need that but that's that's my point. If you want,
if you want something that's a bit more manageable, like
most of it is around like the one thirty to
two fifty price point per month.
Speaker 2: You know, really this gets huge is if you're not
working on it every day, right, yes, right right, Like
if you've got a debt, you don't want to license
a copy of studio and in all that to a manager
who fires it up once a week, the fact that
they can run it for a day, yeah and then
be done.
Speaker 1: Right now, in my VM, I only turned on when
I use it because if it's just sitting there running,
you're just throwing money down the tooth to throwing money.
Speaker 3: But yeah, yeah, and like there's also like cost like
savings like options built into dev box too, So like
when you so when you create a dev box, you
have the ability to specify like if you want it
to auto hibernate, so if it hasn't been used for
sixty minutes, shut it down, right, if you want to
shut down at particular time, like maybe seven seven at
night and shut it down, it shuts it down for you.
So it's one of those things where it's not continuously
running unless you want it to continuously.
Speaker 2: Run, right, and you are charged by the hour. Right, Yes,
so you know the two hundred and fifty dollars a
max month price is based on three bucks an hour.
Speaker 3: Yeah, yeah, in this particular case, it's a five ninety
six right for that. Yeah, So, like I mean more
than likely if you're working forty hours a week, you know,
forty times six.
Speaker 2: It's you're going to hit the max.
Speaker 1: Right.
Speaker 2: That's the whole thing is they've capped it. Yeah, well
below that.
Speaker 3: But it's one of those things too where it's just
all of these different experiences that come with it as well, right,
Like you know, the customization's thing, Like we'll talk about
that for a second, like being able to define, like
with Yamil, like all of the things that you want
installing that machine when it gets created, and you can
specify that in a get up repo. You can point
dev box their dev center, which is the underlying you know,
resource and Azure to that get up repo. So whenever
a developer in that particular project creates something, all that
stuff is there. That's cool, right, So it's just yeah,
like again, these things are just done for you instead
of you having to kind of do all that work
yourself and it's great and experiences like you know, maybe
you have Like I was talking about this with somebody
at a conference a couple of months ago, Like he
had a VM on a machine that like had an
old wind like dot net framework app. And I've been there,
like I had to remote into a VM that when
like dott net one dot one on it, for instance.
And like with dev box, you can just have a
dev box that just lives in the world that has
you know, visual Zuo twenty nineteen and you know, a
dot net framework four dot seven app, and you can
just leave that there and we need to make changes
to it. You remote into it, you do your thing,
and then you get rid of it. And these things
are ephemeral too, like they don't have to live forever.
Like you can do your work. Maybe you're doing a
maybe you're reviewing a PR. You log in, you get
the code down, you review the PR, everything works, and
then when you're done, you just get rid of the thing.
Speaker 2: I wonder if you build this per project.
Speaker 3: Yes, well that's the whole. That's one of the underlying
core concepts of dev box. So like there's dev Center,
which is the thing that holds like the underlying resources
for dev box, as well as Azur diploma environments, which
is the other thing that exists in this space. That's
like creating and provisioning like environments in Azure. Like dev
environment says numbers, what have you? So at the dev
center level, a dev center can have x amount of
projects and those projects you define them as basically a
combination of two things image like what the actual environment
is and networking. Right, and you have the flexibility to
you know, bring your own networking configurations like your own
v net, your own network connection, or you can just
check a box says hey, just post this as somewhere
in Microsoft's network that's close to.
Speaker 2: Where I live. Right, Very cool, But you also want
to be close to company resources for example, like there's
a bunch of a bunch of interesting questions there again
that mostly ad men would care about more than the
dev They just wanted to work. Yeah, what about Actually
let's take a break, and then I want to talk
about licensing because it's really romantic.
Speaker 1: Nice. We'll be right back. You know, dot net six
has officially reached the end of support and now is
the time to upgrade dot net eight is well supported
on aw Learn more at AWS dot Amazon dot com,
slash dot net and we're back. It's dot netrock some
Carl Franklin. It's my friend Richard Campbell, Hey, and our
friend Isaac Levin, and we're talking about Microsoft dev Box.
And I'll tell you what, man, this sounds so cool.
I mean I kind of thought it was okay, yeah,
another way to access VMS, but no, it's really cool. Yeah,
it's it's accessing large amounts of RAM and compute. If
you want to, you turn it on, you do your thing,
you turn it off, You provision easily and create on
a project by project basis is one of the things
that Richard was just asking about and Isaac was just
about to go into some details about that.
Speaker 3: Yeah, like you wanted to talk about licensing, right, licensing?
Speaker 2: Yeah, yeah, like how many copies of visual studio I
need to own here?
Speaker 3: M Well, so that's so with visual studios specific Like
visual studio licensing is how it's always going to be.
It's per user, per month, right, right, So like if
you have a dev box, if you have six dev boxes,
it's just one visual stuio license.
Speaker 2: Interesting for as long as it's one user.
Speaker 1: Correct.
Speaker 3: Yeah, so when you log into visual Studio for the
first time, like it'll ask for your MSA, like your
Microsoft identity or your Gettel identity or whatever. Like, I mean,
there's nothing different than having like three or four different
work machines, right.
Speaker 2: Yeah, but it's only one person work on at a time.
But it doesn't help me for that manager that occasionally
wants access to dev tools, I still have to get
a full license for them, correct, Yeah, although I'm not
consuming dev box resources when it's not running.
Speaker 3: Yeah, and you know, like this and one thing to
maybe call out as well is that this is like
full blown Windows. So it's got WSL, right, it's got
hypervisor support, it's got Docker support. Like, it's not like
other services that you know, I'll just say it, like
maybe it's like vs code in the browser that you
can access, which is cool. But like if you're building
apps and you want to build it in a Windows environment,
but maybe you need to hop down to WSL to
do a couple of things or whatever, like you have
that flexibility to do.
Speaker 2: So, right, right, not things you would normally do. Certainly,
I think you want to do an Azure desktop or
an Attrir virtual desktop talk to me about GitHub code
spaces because are these kind of the same thing.
Speaker 3: So it's it's funny because I kind of I go
back and forth with this a little bit, but I
think at the end of the day, they both satisfy
a specific use case. I'm a developer. I want to
be able to build my app, but I don't want
to do it on my machine. I want to take
advantage of remote services to.
Speaker 2: Do that, right, right.
Speaker 3: The primary difference between code spaces and dev box is
what I just said. So code spaces it's kind of
vs code in the browser. You're remoting into a Linux
container and you're doing all that stuff. Great experience, especially
if you come from a VS code background for sure,
so like you know the tools. But like if you're
a Windows developer and you've been building things in Windows
and you can use visual Studio and you've been doing
all these things or even writer, like, it's just a
better experience for that person to use debt box because
it is fully managed Windows and you.
Speaker 2: Like IDEs like that's why you're in Rider or studio
because you see the ID is valuable to you. Yeah,
and where VS code is very much more a role
of your own Yeah.
Speaker 3: And even like let's just just throw on the other
side too, Like maybe you are a developer who takes
advantage of something like dev containers, which is kind of
like being able to create like a singular environment for
your app inside of visual CEO code. Like that's what
a lot of code spaces and some of these other
tools are kind of built on top of or are
used in insul it in in in help with that,
like you can do that in Windows as well in
dev box. So it's just a it's a more end
to end full experience. You don't have subsets of different
developer experiences. You can do everything. The only thing is
it's Windows. It's Windows. So like if you come from
a developer team that they don't use Windows, maybe they
use mac os or maybe they use Linux, Like it's
a different experience for them.
Speaker 2: Sure, but it doesn't sound like they won't work together too.
That If I've got folks that would prefer to work
in that Linux space, they can work in code spaces
and they'll be fine checking in code into the same
repository and the same set of actions kicking off Like
all that's fine. And for those who prefer a Windows
and studio experience. They're in dev box yep.
Speaker 3: Yeah, it's I couldn't have said it better myself.
Speaker 2: Okay, well, I appreciate it like that. Bring the tools
where people are right, don't try and and scram square
peg square peg in a round hole like nobody's happy
when you do that. And either way, I think I
think the studio I've always found it amusing. Like visual
studio me seems like the perfect beginner's tool in the
fact that everything is already there, except that it looks
like a cockpit of a seven forty seve when you
open it up, like it intimidates everyone. Even I've been
used the flipping things as it was invented, it's still
scares me. Where studio, you know, code seems way more approachable,
But it's really not that easy to learn on either
because you've got to pull all the pieces together. You've
got to make decisions you're not qualified to make. Early on, I.
Speaker 3: Was having a conversation and I love visual coeo code.
I want to say that before I make this next statement.
I was having a conversation with somebody and they were
talking about like how loaded visual studio is, for instance, right,
and they were talking about how Vigius code is so
lightweight and whatever, and I asked them, like, oh, so,
what's it like without extensions in Vision CEO code And
they said, what do you mean, I have a bunch
of extensions. I'm like, so you should open up your
task manager and look at the RAM usage for VS code.
Speaker 2: Then how lightweight is it?
Speaker 1: Now? Yeah?
Speaker 3: Exactly right. So I mean again, these are great tools,
and they and they solve very specific purposes and they're
all awesome, But like, let's not kid ourselves that, like
Visual Studio code can get just as big as Visual Studio.
Speaker 2: But it's a difference between having a knife drawer and
a Swiss Army knife. Right, like the Night Story, you
do get to pick which ones you put in the
Swiss Army knife, they're all there, and the studio is
a Swiss Army knife. There's stuff in there you don't need.
Also all the stuff you do need.
Speaker 1: I don't know. I've I really still love visual studio
and I have my way of working and my layouts
and stuff, and I don't find it a you know,
a barrier to working at all, and I don't find
it gets in the way. Then again, I have an
I nine with sixty four gigs of rice.
Speaker 2: And you look at the available sex for a dev box,
there's a reason.
Speaker 3: Well, I think too, Like, I think it just depends
on what kind of developer you probably started as, right,
Like if you were a developer and maybe you were
building client apps, like yeah, like Visual Studio is great
for building client aps. Still is great for building client apps.
And I think if you're maybe of a younger generation
where you have been building more like web first apps, yep,
Like you're like, Okay, why do I need all of
this popum circumstance of Visual Studio if I'm just building
a web app?
Speaker 2: Yea, yeah, so that's Yeah, it's a lot of ceremony
that isn't necessary for them until you teach them the debugger. Like,
if you're gonna win anybody over on visual Studio, it's
experienced this debugging experience. And now when differently, when.
Speaker 1: If Blazer is your web framework of choice, the debugger
is just absolutely amazing.
Speaker 2: It's magic. Yeah.
Speaker 3: Yeah, But I will say that the Visual Stuio code
experience for dot net is getting better and better every day,
So let's let's let's not throw that away.
Speaker 2: Everybody's making make trying to make tools better, and it's
like again it's I'm not hating on it. You can
all work together, work a way you like.
Speaker 1: Yeah, and that Yeah, I'm not hating on code either.
I just know I do. I just do. It's comfortable and.
Speaker 3: That kind of like if thinking about dev box, like
if you if thinking about like the different types of
dot net developers that are right, Like you know, you
might have a developer that's building WPF apps, or maybe
they're building Maui apps, or maybe they're building something with
a spire, right, like you know, those in my brain
are completely different workloads. So if I had one singular
developer environment, I would have to install every workload for
visual Studio to be able to do that work. And
that's kind of a bummer, right. What a better solution is,
at least to me, is you have a dev box
for this project that's a Maui app, this project that's
in a spire app, this project I need Docker and
a bunch of other stuff, and then that way, like
all of your stuff is like in this nice little
containerized like world. You don't have to mess with stuff
to get like oh I have to go and switch
over to this project app, and I have to do
these things.
Speaker 2: I'm thinking in terms of five years down the road
where you still got a client running V two and
you're on V six yep, and you can have a
dev environment for working in V two. Yeah.
Speaker 3: And one thing too. I was thinking about this the
other day, Like I used to work help desk when
I was in college, and they this is back in
the back in the crazy days when there was people
whose job it was the test.
Speaker 1: Products weird answer phones for that matter.
Speaker 3: Right, And I remember, like I was having a conversation
with one of these QA folks and she was telling
me about like how she needed a VM that had
different versions of browsers on them, right, because you build
an app for the web and all of a sudden
this st offs working on the latest version of Edge
or the latest version of Firefox or whatever. Right, And
I was thinking about, like, that's a pretty good use
case for dev box too, where it's like, hey, I
need a very specific version of this browser. It's available
to me, said me. Having to figure out how to
uninstall and then get an installer for an old version
and then do all of that dance.
Speaker 2: I know, this isolating my project and possibly even isolating
my version number. I mean, you want to retire those
old VERSI numbers. But sooner or later you get a customer,
you know, like the US Navy is still running Windows XP.
You get a customer says, no, we will be running
this until it wouldn't have time.
Speaker 1: They wouldn't do that, Richard, would me.
Speaker 3: Yeah, but it's okay because they're more than willing to
pay the support charge.
Speaker 2: Sure, man, The money's not the issue now. The question
is what do you got to do to not make
yourself insane? Right? Like, how do you keep taking care
of it? And this seems like a really great way
to encapsulate those old versions, so you're right back in
the environment meant for that version.
Speaker 1: Yeah.
Speaker 3: One of my favorite things to do at conferences if
somebody from like the runtime team or the dot net
team is there, just talking to them about like all
of their fault Like Jared Parsons is a really good
person to listen.
Speaker 2: To, right, that guy's been through it all, right.
Speaker 3: I'll just sit there and he'll be saying things that
I'm like, I have no idea what you're talking about,
but it's fascinating, absolutely fascinating.
Speaker 2: But yeah, these are the folks that are dealing with
all of these different kinds of customers. Yeah, you know,
and they've got you name it, like.
Speaker 3: Yeah, I think it was a don At KOMF there
was somebody on the Visual Studio team who did a
session about dev box, specifically using dev box to like
build different versions of Visual Studio because you know, twenty nineteen.
If I need to do some work in twenty nineteen,
like I don't want to have twenty nineteen and twenty
twenty two and it's all on my machine, especially like
the dev versions of them, which anybody who has got
any insight into how Visual Studio is built, like, it
is not a it is NI trivial process, no huge.
Speaker 2: Yeah.
Speaker 3: So being able to kind of again segment out these
things is cool.
Speaker 2: Yeah, it is interesting, and it is good not to
install it on workstations when you don't have to, like yeah, yeah, yeah.
Pretty quickly we get to a place where it's like,
now you shouldn't have a local copy every time you
start a project used to light up a dev box
on this.
Speaker 3: Yeah, especially if all the licensing works right. So, like
when you create a dev box, you already tied into
like the licensing that you have because it's an Azure, right,
and you're taking advantage of the licensing that you have
for whatever tools you're installing on there.
Speaker 1: Right.
Speaker 3: So again, like my question to anybody who is like
why do I want this? Especially if you're work at a
big company, Like why would I want this? It's like,
have you ever had to like manage a VM yourself,
like creating it, updating the software, dealing with it when
they want to roll out patches? Like sounds like a bummer.
Just you have dev box and just just code to
your heart's content.
Speaker 1: Yeah, it's sort of the platform as a service, software
as a service. Yeah, it's a SaaS pass.
Speaker 2: Yeah.
Speaker 3: Yeah, like it's a I mean it yeah, it's but
it's like technically infrastructure's service.
Speaker 1: Yeah, it's all three.
Speaker 3: Right, yeah, So I mean let's just call it. Let's
just call it service. It's just a service service.
Speaker 1: I like that. I like it's just a service.
Speaker 2: Yeah, very good.
Speaker 1: Okay, is there anything we haven't really covered? I mean
I'm already sold, and I think anybody who's listening is
already going there. Where do we get it? So?
Speaker 3: Yeah, it's it's crazy because I'll take credit cards over
the phone. So if you wanted to just hand that
over to me, we'll get you set up.
Speaker 1: With den box.
Speaker 2: Just the price doesn't scare people off, because we were
talking about the maximum monthly price. Yeah, it's build out
by the hour. There's a monthly storage fee, like yeah.
Speaker 3: And the price that I gave was like for the
most powerful compete you could use, which I mean if
you were if you were to if you were to
build a desktop with thirty two virtual cpuke with thirty
two cores, yeah, one and twenty eight gigs a RAM
and two terribies a hard drive, it would cost you thousands.
Speaker 2: Thousands of dollar. Yeah, yeah for sure.
Speaker 3: But like like I mentioned, the hourly compute is what
the real number is?
Speaker 1: You can go.
Speaker 3: I'll make sure there's a note to the pricing calculators.
People could do it themselves, like it's six bucks an hour,
and if you're doing forty hours a week, you know
that's one hundred and sixty hours a year, one hundred
and sixty hours time six Do the quick math, right,
like it caps out around that number.
Speaker 2: Yeah right.
Speaker 1: So but for something that's more appropriate for you know,
a developer, maybe thirty two gigs of RAM maybe maybe
even eight CPUs or something like that, eight cores. You know,
you're you're talking what a dollar an hour?
Speaker 3: It's like so like like I said, like I think
I might mention this that the the ACPU thirty two
gigs terabyte hard drive, it maxes out at one ninety five.
It means it's a dollar fifty yeah a month, which
is a dollar fifty hour.
Speaker 1: Yeah, that's great. So that's great.
Speaker 3: Yeah, I mean especially when you compare it to like
just running a VM.
Speaker 2: Yep, yes, like yeah, so and if you don't use
it that month, you don't get built any hourly compute.
You just get built a storage correct.
Speaker 3: Yeah, so, which which is which is another benefit of
using these services, like they just you can turn them
off or you can delete them completely.
Speaker 2: Yeah right, you can win. You can just leave them
as a template. You could regenerate when you want it again.
Just make sure you get the files towards somewhere else,
which you're probably paying for.
Speaker 1: But can you attach data disks that already exists in Azure.
Speaker 3: If you would do If you could do that, I
would need to look, but it would that would be
a matter if you would probably have to do something
via the Azure c l I.
Speaker 1: Right, because is it actually considered a VM, like can
I because I can do that with vms and the
cl I.
Speaker 3: Well, it's it's if you do a lot of digging around,
you can look at some of the primitive resources that exist,
like the NICK and the But like you're not going
to have the ability to have that full level of
management that you could if you were just to create
like a VM scale set or whatever.
Speaker 1: But that might be good, Like I might have all
my tools and all my you know, like I might
have a a stash of code that's on a hard
drive that's not in a repo somewhere, you know.
Speaker 3: Yeah, I mean especially like I mean if you have
like if for instance, maybe you have it like an
Azure Azure blob or as your filestore, like you could
like when you provision the VM or provision the dev box,
you can have a little you could say, hey, run
this Azure CLI task and attaches to my to my PC,
attaches this.
Speaker 1: Data disc external disc.
Speaker 2: Right.
Speaker 3: Yeah, So that's something you can definitely do as well,
especially if you have that use case where maybe you
have like share, like maybe you're not fancying you don't
use like private nugat feeds, Like maybe you still ship
around DLLs on servers because that's the thing that people
still do, like being able to link up those things
as well.
Speaker 2: What's that?
Speaker 1: Yeah, exactly.
Speaker 2: Very cool.
Speaker 1: Is there anything we missed?
Speaker 3: No, So we talked about like the customization experience, So
you can customize dev box at the project level like
what we were talking about, but also the individual level.
Like maybe I'm a developer and I have very specific tastes,
maybe I want dark theme in Windows, maybe I want
specific settings and windows to be set. I can do
that myself by when I create a dev box, I
can just say use this customization file and that now
be attached on top of the team's customization. Also, like
you can define images in this space too, so like
every single time a dev box, like I provision a
new dev box resource, I can basically create an image
from that directly. This could be referenced later. We didn't
really talk about in tune, but I mean that's not
super exciting, Like it's.
Speaker 2: Just what's the role of intune in this.
Speaker 3: It's it's true like every other device in your I
guess fleet of devices, so you can get the endpoint security.
You can make sure that you have like malware protection,
all that stuff that you would get out of the
box with Intune, even if you wanted to like push
software right right, Like you can do that with dev
box too. It's it's not slim thing. A lot of
folks have asked me, like, okay, so it's completely separate
from like my existing process, right, Like maybe you're an
IT admin and you've like you live and die by
in tune, right, and you've been doing all this stuff, like, Okay,
now is dev box thing I have to learn this
new dev box nomenclature and way of doing things. No,
it's a device. You connect to it the same way
when you built. When you create dev box, it automatically
as a tier in Tune and from there, like it's
just a matter of just managing it like you would
any other device.
Speaker 1: How about chocolatey. Can we run chocolated scripts?
Speaker 2: Of course?
Speaker 3: Yeah, you can run whatever you want. You can run
win get, you can run Chocolity, you can run uh,
I don't know Bash scripts and WSL. It's Windows, so
you can do whatever you want with it. Like, so
the customization's experience that I was talking about there the
team of Microsoft is built like a default catalog, which
is basically like a set of predefined tasks like wind
get is one, chocolate is one. So that means like
every h dev box that you create, like it already
has Chocolatey enabled by default. It has like power orshell
wired up the exact way you want it, with all
the paths mapped as when get DSSE set up for you,
Like these are things that we take advance, we take
for granted as developers because we just always had to
do it. So it's like, Okay, I got to go
and I got to get the Chocolatey installer. I got
to get this installer path exactly, so it's kind of
handled for you. So we talked about that. We talked
about in tune like we just did. We talked about
the Windows App, we talked about like you know, different projects,
different versions of projects, different tasks. That's pretty cool. I mean,
I think we hit a lot of the stuff. I
mean I think the biggest thing is, you know, what
are some of the things that you would like there
to be right, Like you know, we've been talking about this.
I think one thing that the team is always looking
to do is is hear feedback from people like Carl,
You've you've kind of had this pain of kind of
doing it yourself, right, Like it sounds like you've already
kind of been sold on dev box, But like, is
there anything that I didn't mention that You're like, I
need something like this, something like this around.
Speaker 2: Yeah.
Speaker 1: Basically, just the cost savings alone is worth it, because
you know, I'm already used to tweaking systems, so that's
a bonus for me. That's a little time saver, but
it's not a it wouldn't be a deal breaker.
Speaker 2: Well, and they and the dev center having a repository
of this is what the configuration.
Speaker 1: Is like, Yeah, that's right.
Speaker 2: It's kind of a force down the righteous path setting
up dev box because it makes you do the right thing.
Speaker 3: Yeah, yeah, yeah. The phrase that the phrase that we
like to use is self service with guardrails, Right, I
like it. That's like that, that's like the go to phrase.
It's like, you want developers to have autonomy, you want
them to be happy, but let's be real, like it,
admin still have a role to play in organizations because
they're always thinking about the bad actors, the what could
go wrong, and you know, making sure that we're following
all the right policies that our organization has in place
is important. Also, one thing, like if anybody wants to know,
like what's in the future for dev Box, like the
roadmap is available publicly online, so you can like just
you know, go to the go to the dev box
docs and learn, or you can just use search engine
and go dev Box roadmap and it'll take you in.
Larro's a list of all the like the different like
key like deliverable groups that exist and what's going on
in each of those spaces.
Speaker 1: In true Microsoft fashion.
Speaker 2: Right, yeah, it's on.
Speaker 1: Get up. It's great, very cool, awesome, all right, Isaac,
thanks very much. What's next for you? What's in your inbox?
Speaker 3: I think that the big thing, obviously we're recording this
kind of at the beginning of twenty twenty five. My
big thing is I started to do some tick talking.
So I do this silly thing where I talk about
tech in a cold plunge for five minutes because why not.
And I think, and I think one of the things
that I've kind of give myself as a resolution for
this year is I want to understand how LMS work,
Like I really I understand the concept. I understand a
lot of the like the primitive sort of ideas, but
I really want to understand like the different ways that
MS can bring value to people, because I think it's
not going away, that's for sure. And you know, I
want to like learn how to build my own models.
I want to learn how to you know, train those models,
and evaluate those models and do all those things. So
that's kind of the thing that I've been starting to
pay attention.
Speaker 1: To this year.
Speaker 2: Well, I got a show coming up for you friend,
all right, Well.
Speaker 3: I'll listen to it for sure. You already know I'm
going to listen to it.
Speaker 1: All right, all right, this is great. It's been great
talking to you again, Isaac.
Speaker 3: Thank you, Yeah, thanks for having me.
Speaker 1: All right, and we'll talk to you, dear listener next
time on dot net rocks. Dot net Rocks is brought
to you by Franklin Net and produced by Pop Studios,
a full service audio, video and post production facility located
physically in New London, Connecticut, and of course in the
cloud online at PWOP dot com. Visit our website at
d O T N E t R O c k
S dot com for RSS feeds. Downloads, mobile apps, comments,
and access to the full archives going back to show
number one, recorded in September two thousand and two. And
make sure you check out our sponsors. They keep us
in business. Now go write some code. See you next time.
Speaker 2: You got Jed Middle Vans
Speaker 3: And