Logo

dev-resources.site

for different kinds of informations.

Creating a GCP Workstation

Published at
6/25/2023
Categories
workstations
googlecloud
developmentenvasacode
gcpworkstations
Author
aravinddussani99
Author
16 person written this
aravinddussani99
open
Creating a GCP Workstation

Background Info:

For traditional application development, we have multiple IDE's available in the market like VS Code, IntelliJ, JetBrains etc. Developers install these IDEs in local machines and use them to write code, debug and run to check the previews/outputs.

DrawBacks:

  1. Not suitable when developer need high compute power
  2. Issues with In-consistency b/w the developer environments
  3. Takes much time to set-up the environment

Context:
As the technology grows, we can create cloud-based / remote development environments. In addition to the IaaC, PaaC, FaaC & etc services, we have one more new service called as "Development Environment As a Code" (DEaaC). This service is named as "Workstations" in GCP. In which one can get their development environment working setup instantly which will be in cloud not local. We can pre-configure the required IDEs/extensions/services/access in a docker image and can use that to create the workstations to increase the productivity of the developer.

Today, will configure workstation in GCP using different resources of terraform.

Steps:

  1. Pre-requisites
  2. Create a Workstation Cluster
  3. Create a Workstation configuration
  4. Create a Workstation
  5. Access the workstation

Pre-requisites:
Assuming you've followed the post here for the pre-requisites configuration.

Create a Workstation Cluster:

Use the google_workstations_workstation_cluster to create the workstation cluster. the cluster is depended on the VPC, subnets, make sure that you've created them.

workstationcluster

Create a Workstation configuration:

Use the `` to create the workstation configuration. This configuration is the main part of the workstations, as we can define what and all we required here only. We can use the default/custom docker images with the pre-configurable options and machine types with RAM, CPU processors and service accounts access.

workstationconfig

Create a Workstation:

Finally, after all we create the workstation based on the previous cluster and config creations.

workstation

Access the workstation:

To access the workstation, user required at least the roles/workstations.user role. So to add the roles to workstations, will use the google_workstations_workstation_iam_binding resource as shown below.

workstationrole

Once the workstation is provisioned, you can see something like below.

workstationlist

Please click on "Start" and "Launch", there you can see multiple ways to access the workstation and will use this "Launch" or "Connect to Port 80" option to access the workstation IDE from browser.

workstationlaunch

Resources- References:
Google Documentation - https://cloud.google.com/workstations
workstation roles - https://cloud.google.com/workstations/docs/access-control
terraform resources - https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/workstations_workstation
Github: https://github.com/aravind-dussani99/google-workstation

Final words:

Feel free to comment your queries here or at LinkedIn . Thanks.

workstations Article's
30 articles in total
Favicon
A Pleasant Work Environment = Better Productivity
Favicon
Best Vertical Mouse for Carpal Tunnel
Favicon
Tik Tok Free!! Tiktok Follower Generator Updated 2024
Favicon
Unleashing Non-Technical Superpowers in the Software Development Lifecycle
Favicon
Starting Strong: First-Day Rituals to Set Yourself Up for Success
Favicon
Optimizing Your Work-from-Home Setup for Career Success
Favicon
Being a developer is fashionable!
Favicon
Earn Big from Home: Makeup Packaging Jobs Now Hiring Across the USA
Favicon
Earn Big from Home: Makeup Packaging Jobs Now Hiring Across the USA
Favicon
Join Our Team: Home-Based Makeup Packaging Position Available with Great Pay
Favicon
💻 My VScode Setup
Favicon
Why use Obsidian for Software Development ?
Favicon
My Super Powers as a Software Developer - 2024
Favicon
Should I get an M3 iMac, an M1 iMac, an M2 Mac Mini, or something else?
Favicon
Use Tetragon to Limit Network Usage for a set of Binary
Favicon
Creating a GCP Workstation
Favicon
What's the coolest desk setup you've ever seen?
Favicon
What’s on your Whiteboard?
Favicon
Mastering Time Management: Tips and Techniques to Boost Productivity
Favicon
What are some things you should do before starting a new role?
Favicon
5 Tips for Staying Productive While Working From Home
Favicon
Open your new office in the Cloud
Favicon
Why choose application streaming over VDI tools
Favicon
Developers, please nurture your coding experience
Favicon
Over Engineered Desk
Favicon
Productivity Tips For Developers And Programmers Working From Home
Favicon
Extensões ótimas para VS Code e pouco falado
Favicon
Where do you work today?
Favicon
Architecture Workbench: Building Digital Twins of Enterprise (Application) Architectures
Favicon
What does your dream work setup look like?

Featured ones: