- Coming up, we take a first look
at the new Microsoft Dev Box service
that leverages Windows 365 infrastructure
to stream secure, ready-to-code
developer workstations on demand.
If you're a developer, we'll show you the self-service
experience where quickly creating
your dev environments as and when you need them.
Next, if you manage developer teams,
we're going to show you how you can efficiently configure
and assign Dev Boxes that include
the right tools for the job.
And for IT, we'll share the familiar
PC management experience
with Microsoft Endpoint Manager and more.
And to walk us through, I'm joined today by
Head of Product for Microsoft's developer division.
Amanda Silver, welcome to Mechanics.
- Thanks for having me.
I'm so excited to share with you all
what's the latest and greatest for developers.
- It's so great to have you on
to really share a first look at
the new Microsoft Dev Box service.
This comes at a time when as a developer
it's a lot harder to get specialized hardware
due to things like supply chain issues,
or just like everyone else
maybe you're working in a more hybrid
or distributed fashion.
So are these the types of things
that we're looking to solve for,
with the new Dev Box service?
- That's a big part of it. Yes.
Over the past couple of years especially,
there's been a growing number
of both hybrid and remote teams.
But one problem that's true to both
geographically distributed teams
and co-located teams is that Dev Box setup
has always been extremely onerous process.
And it's even harder when teams are remote.
For example, an everyday user will set up their environment
only when they get new hardware or as they start a new job,
but as a developer, you're configuring
different environments sometimes weekly or monthly,
as you get to new projects
or as you welcome a new team member on board.
So we really want to make it easier
for you to get them set up,
and so that you can get to your code fast.
- And I know that's not said lightly,
because as a developer
it's not unusual for you to have multiple different
physical machines maybe under your desk,
or hosted virtual machines
that are set up for different projects.
And in terms of cost, if you're using physical hardware,
you're likely going to over spec your machines
to meet any future needs that you have.
So that's going to cost a lot more than it needs to.
- Yeah. And especially when you're
onboarding a new team member
or you're starting a new project,
it can be really challenging to figure out
everything that you need to get set up really properly.
Now the other part of the challenge is security.
It can also be a difficult task for IT
to give developers the flexibility they need
while keeping devices secure.
For example, as a developer you may need to access
and work with sensitive source code
or need elevated privileges on your local dev environments
to install custom tools and SDK's.
And to minimize risk,
IT has to keep developer workstations secure,
even though they may not always be online
or enrolled under management.
- And I know that hosted virtual desktop environments,
they're often used to address many of these challenges.
So how do these things change now
with the new Dev Box service?
- Yeah. So this is a fully managed service
that's managed under Windows 365.
So there's no additional infrastructure or management
that you need to take care of.
And we make it super easy to create
ready-to-code secure developer workstations on demand,
allowing you to move fluidly
between your primary, secondary, and tertiary machines.
Now each Dev Box is dedicated VM.
For immediate productivity,
Dev Boxes can be pre-loaded with the tools, settings,
and source binaries and caches that you need.
They run in Azure,
so not only can they access the resources and the services
that are needed in the cloud, but they can also connect
on-premises resources, like file shares and databases.
And you can easily switch between Dev Boxes
for different tasks and workloads.
They can be accessed from any device,
and we have native clients for Windows and Mac OS,
as well as mobile platforms like iOS and Android.
Now of course, most modern browsers
can be used to access your Dev Box too.
And one thing to point out here
is that Dev Boxes really mark a positive shift
in the way that you work.
Dev Boxes are designed to be ephemeral.
You can retire them when you're done with them.
And importantly, the service provides a seamless workflow
with developer managers, who can assign the right tools
and resources for you, within your Dev Box environment.
And for IT, who can easily manage your Dev Box environments,
keeping them secure and up to date.
- Okay. So it's a secure and purpose-built solution
for dev teams.
I'd love to walk through the experiences
to get everything set up.
So can we start with the developer experience?
- Yeah, absolutely.
We've made the experience really self-service.
So in this example, I'm a new member of the team,
and I've been added to a project.
Now here I have an email invite,
and all I need to do to get started,
is to click on this hyperlink
to our team's developer portal.
So from there, I can get started.
Since I'll probably have more than one Dev Box
at some point, it's important to give it a name.
Here in the Dev Box pool,
I can already see the config that I want,
and it's pre-loaded with its own set of tools,
libraries, and source code.
And it also has the VM specs needed to match the workload.
So I'll just stick with that, and I'll hit add,
and that's it.
The creation process is kicked off,
and now that normally takes a few minutes.
- Okay. So now that everything's up and running,
how would you connect then to your Dev Box?
- Yeah. As mentioned,
you can really connect to it from any device.
So I'll just open my Dev Box using remote desktop.
Once I'm in, you'll see that it's loaded
with all the dev tools that I need to get started.
You can see that it's been pre-configured by my team,
so I don't need to install anything,
or worry about connecting to online or on-prem services.
I'll just open Visual Studio,
and I can quickly get to what I need to work on.
My themes, and my preferences, and my tool settings,
are all here in VS, and they're already synced.
And this image even pulled down the sources,
the build binaries, and the caches.
So everything's ready to go,
and I can just get into the zone and start coding.
- Nice. And I can see this really saving a ton of time,
and also a ton of headaches
in terms of getting everything set up,
especially compared to like a vanilla virtual machine,
or maybe even waiting for hardware.
- Yeah, it really does.
It's night and day
compared to what you would've had to do before.
And it lets you stay in the flow.
And of course, you're creating lots of Dev Boxes;
it's much more efficient to do it this way.
Now I'm going to create another Dev Box.
This time, one that's optimized for data engineering tasks.
I'll give it a name.
This time, I'll show you all of the Dev Box pool options,
each of them having their own OS image,
VM spec, and network configs.
Since I need one for data tasks,
I'll choose the definition for the data engineering Dev Box.
Now this one has the same VM spec
as the standard Dev Box from before,
but the image includes different tools,
like Azure Data Studio,
along with the relevant IDE and debugging tools
I need as a data engineer.
So now I'll just add that.
Now that's going to take a few minutes.
So let's just fast forward in time a little
to when my new Dev Box is online.
Now I can connect to it just like we saw before.
And you can see that I have Azure Data Studio
pinned to my task bar.
And when I open it, I have access to the servers
and the databases that I need.
And of course, at any point,
once I'm done with the Dev Box,
I can stop or even delete it right from here.
And if I need that environment again,
or another instance, it's just as easy to create
new Dev Boxes whenever I need them.
- Okay. So let's rewind though,
back to the point where the dev manager
sent you that first email.
So what does the dev manager have to configure here
to get everything up and running?
- Yeah. The dev manager plays a really crucial role here
in terms of creating the images
and assigning those resources.
So let me start with the project assigned to me
as a developer, so that I can show you
what you would have to do as a dev.
Now I'm in the dev center portal for Contoso,
and I'll head over to the projects,
and just create one right here.
Now to save time,
I've filled in all the basic fields in advance.
I've added a tag so that I can track this later.
And from here, I can create the project,
and it's ready to go.
- Okay. So now, with your project created,
what do I do to assign people to that project?
- Yeah, so everything is based on Azure AD and groups.
In my case, this is the group with access to the project
that I just created, and I'll head over to the members,
and you can see that I already have
six people assigned to this group.
Now if I wanted to add more,
I'd just follow the normal process.
- So that sounds and looks pretty familiar.
So we keep seeing references to Dev Box pools.
Can you explain what those are?
- Yeah. They might not be what you think.
They're not existing compute that you just tap into.
The pools start off as empty vessels.
So you can think of them as a set of configurations
that are tailored to your project needs.
And the compute is only provisioned
once you start to create the Dev Boxes from the pool.
So let me show you how you'd configure them.
Now my team is building a podcast app,
and you can see that I have a general purpose Dev Box pool.
And most of the team that uses it is from the west coast.
Now my data engineers mostly work from the east coast,
and they use a different set of tools in their pool.
Now finally, I have a locked down pool
designed for privileged access.
Now in this case,
I'll add a new pool for my data scientists.
The Dev Box definition you see with this dropdown,
consists of the selected OS image,
as well as the machine specs or sku.
The image can be an Azure Marketplace image,
or you can use one from a shared image gallery
that your org refreshes regularly
with the latest updates, sources, and binaries.
Next, the network configuration
determines which network resources
this pool can connect to, and in which region.
Now this is useful, because you can deploy Dev Boxes
into the region closest to your dev teams,
so that you can provide the highest
fidelity remote experience
and gigabit connection speed for transferring data.
Then to control costs,
you can also configure Dev Boxes in the pool
to auto start and stop on a schedule.
Now auto start is useful,
so that machines are warm and ready to go
at the start of the day, for example.
In my case, I'll just leave this setting off.
Equally, you can auto stop your Dev Boxes on a set schedule,
which I'll enable here, to minimize how many machines
are sitting idle outside of working hours.
Now auto start and stop,
both use disc hibernation when idle.
So they'll save the state from the last session,
and your devs pick up from where they left off.
Now finally, you can set limits
as to how many Dev Boxes each user can run from a pool.
So I'll just set this to two.
And once you've got everything configured and assigned,
your dev team
will automatically receive an email notification
to access the projects and Dev Box pools
when they're added to the project.
And something to stress here,
is that we've really tried to take
a developer-first approach.
So in this case, for auto stop,
it doesn't get in the way of your work.
We've implemented a notification
that shows on the Dev Box before the schedule kicks in.
So that as a developer,
you get to stay in control
and you can delay or skip a scheduled stop for the day.
- So the dev manager here then
looks like a pretty hands on role.
So for all of our endpoint manager admins that are watching,
how should they think about Dev Boxes
from a security and management perspective?
- Yeah, Dev Boxes are managed
just like any other cloud to PC using Windows 365,
or any other device using Microsoft Endpoint Manager.
And you can ensure
that all your standard apps and management tools
get installed like any other enrolled device.
All your organization's policy settings will get deployed,
and they can receive the latest Windows updates,
so they're always up to date.
Now when you build out your network connections,
you can automatically join Dev Boxes natively
to your Azure Active Directory
or to a hybrid Azure active directory domain.
You can set conditional access policies,
like multifactor auth,
and you can ensure that everyone
connects to the service using a compliant device
that meets your enterprise standards.
- So it's the same Windows
and policy management experience that you're used to,
which also means that you can configure
the right access controls by user or Dev Box type.
And if you're wondering,
something else to point out here for security,
is that just like with Windows 365,
all traffic, when connecting to your Dev Boxes,
is going to be encrypted,
and we're only connecting to them
over outbound port 443,
not an open 3389 RDP port.
- Yeah. I'm glad you mentioned that,
because it's something we get asked a lot.
This is a secure and ready-to-code experience
for teams of any size.
We plan to support GPU enabled VMs
and the Azure game development virtual machine,
pre-loaded with the capabilities and tools you need
as a game developer,
as well as more management controls
for things like automated deployments,
and intelligent hibernation.
- I know a lot of people are going to be anxious
to try all of this out.
So for everyone who's watching right now,
looking to get started with Dev Boxes,
what do you recommend?
- So the good news is that we have
a public preview coming really soon.
And right now you can check out aka.ms/DevBox-SignUp
to get your team on the list for Microsoft Dev Box.
- Thanks so much Amanda
for joining us today and giving us a first look
at Dev Boxes on what they can do.
And of course, keep checking back to Microsoft Mechanics
to stay up to date with the
latest tech in action across Microsoft.
Subscribe if you haven't already.
And as always, thank you so much for watching.