BRIAN DORSEY: Hey, Martin.
I've got something to show you today.
Take a look.
MARTIN OMANDER: This looks like an IDE
with a Cloud Run Hello World app.
Brian, I think we've seen this on several expeditions
many times before.
BRIAN DORSEY: Oh, probably.
But have you seen it in an IDE, running in a browser tab backed
by the cloud?
MARTIN OMANDER: [SHARP INHALE]
[MUSIC PLAYING]
Whoa, Brian.
How did you do that?
BRIAN DORSEY: Well, it's a web-based IDE hosted
by Cloud Workstations, which is an on-demand development
environment with a dedicated VM and container
for each developer.
It's based on Cloud Shell, the console
at the bottom of our web thing, if you've seen that before.
MARTIN OMANDER: Ah, that's cool.
Now, how do I create one of these myself?
BRIAN DORSEY: Well, let's do it right now.
OK.
So if we go over here, this one is
configured for general Google Cloud development
using code OSS, the open source base for Visual Studio code.
So it'll work really well for serverless work.
And that development environment I mentioned?
These are defined using container images.
So each workstation pulls the image, runs that on the VM
for the developer, and we proxy connections,
SSH, TCP connections, and we proxy them both over ACBS
with authentication.
And now, we're back to that Hello World app.
The home directory for you, as a developer,
is saved between sessions, so you
can customize things and start and stop
the workstation as needed.
MARTIN OMANDER: Very nice.
So it looks like you created the workstation here
from a template.
Now, who makes those templates?
BRIAN DORSEY: Yeah.
So that's going to be an administrator or maybe
somebody on your team, tech lead, things like that.
And here it is.
This is where we configure a template
for those workstations.
Primarily, that's what container image to use
and what kind of VM to run it on along with security settings.
There's also a cluster, which I've already configured here.
And you need one of those per project.
And you can share it across all these configurations,
the templates, and use it for multiple workstations.
It takes a little longer to start,
so I won't show it right now.
MARTIN OMANDER: All right.
And you said development.
What kind of development would you use these workstations for?
BRIAN DORSEY: So they are on-demand environments,
accessible from anywhere that you
have web access from any machine with a browser.
And you can customize what's on them.
So you can use it for almost anything.
These base images are docker images.
That gives you a consistent environment
across teams or within a team.
And I think really helps with both
that works on my machine problem but didn't work somewhere else
and for faster onboarding.
And because it's a container image, you can customize it.
We have templates with support for multiple IDEs, such as VS
Code, the code OSS version, IntelliJ
and their various IDEs, like PyCharm, Rider, and more.
And like I said, it's container-rich,
so you can customize it, add new extensions, libraries,
IDE plugins, things like that.
MARTIN OMANDER: Right.
Right.
So that all sounds useful.
But I think it sounds really useful about this thing
where the permissions, you have the permissions in the cloud
rather than on my local machine, because when
I test on my local laptop right here,
some things don't translate well to the cloud,
like IAM permissions.
BRIAN DORSEY: Oh, yeah.
I think that's what I'm most excited about personally.
I've coded over SSH in a terminal for years
because I don't think you can really ever create
the exact same environment.
So this helps with things like you mentioned,
the permissions being different or networking
behaving differently or things like that.
And I think it will save a lot of time
in troubleshooting you might have had otherwise.
And now that IDEs can run in a split mode, where
you have remote code and local GUI,
I think it's the best of both worlds.
And Workstation makes it really easy
to configure that for usage on a whole team.
MARTIN OMANDER: And OK, so team you said.
What kind of teams or developers are these workstations
meant for?
BRIAN DORSEY: Personally, I think
it's most useful for at least medium-sized teams.
And maybe large organizations will be most excited about it.
It really gives you that standardized dev environment
if you've got security things you
need to be consistent across.
You've got certain things you want to set up for everybody.
It's really useful there.
Any time you've got to onboard new developers quickly
or switch projects a lot, it's very useful.
MARTIN OMANDER: Yeah.
At my last developer job at a startup,
it took me the better part of a week
to get my machine set up with all the tools and permissions.
So I want to try this out.
Could you guide me, Brian?
BRIAN DORSEY: Absolutely.
I'm a docs person, so I would recommend checking out the docs
first because there's a few concepts that
are worth getting settled.
It's pretty small set of stuff.
And then give it a try.
MARTIN OMANDER: Excellent.
Thanks for showing us this, Brian.
BRIAN DORSEY: Totally.
And thank you for having me.
Check out the docs.
Get a try on your applications.
And the whole point of this is that it's customizable.
So give it a go, please.
MARTIN OMANDER: Very good.
I will include that link to the docs in the video description.
And thank you, everyone, for watching.
If you have questions for Brian about these workstations,
please add them in the comments.
Also, let me know if there are other serverless topics you'd
like to see in future episodes.
We read every single comment.
Until next time.
[MUSIC PLAYING]