SlideShare a Scribd company logo
1 of 44
Download to read offline
Taipei
KAI CHU CHUNG
I/T Specialist, IBM
Cloud Workstation
Introduction PREVIEW
Agenda
1. Cloud Workstation Overview
2. Demo
3. Q & A
How to increase developer productivity with Cloud Workstations - YouTube - https://www.youtube.com/watch?v=C6Dpmujxp9Q
IDEs and Development Tools
Cloud Shell - 2016
● Online pre-configured dev environment
● Terminal and basic code editor
Cloud Code - 2019
● Plugins for IntelliJ and VSCode
● Automation and Assistance in the IDE
● Support for GKE, Cloud Run, Cloud APIs and
more
Cloud Shell Editor - 2020
● Updated IDE with source control, debugger
and emulators
● Enable quick exploration of cloud services
Cloud Workstations - 2022
● Managed dev environments
● Fully-customized
● Security hardened
Cloud Workstation Introduction
● On-demand
environments
accessible anywhere
● Fully customizable
tool-chain
(Extensions,
Libraries, IDEs)
● Consistent
environments across
teams
● Test/Run code in your
real environment
● Security policies
● Managed base images
Cloud Workstation Overview
workstation clusters
Cloud Workstations overview | Google Cloud - https://cloud.google.com/workstations/docs/overview
Cloud Workstation Architecture
Cloud Workstations overview | Google Cloud - https://cloud.google.com/workstations/docs/architecture
Get Started
Clusters
Create Configuration - New Cluster
Create Configuration - Basic information
When enabling this
feature, a fixed number
of workstations will be
kept in a pre-started
state. This will result
in significantly faster
workstation start
times. These
pre-started
workstations are billed
to the project as
running workstations.
Create cluster
Asia Pacific
Asis-east1 (Taiwan)
Asis-southeast1(Singapore)
Create Configuration - Machine configuration
Machine type determines
the technical
capabilities of the VMs
that the workstations
created under this
configuration will run
on.
Workstations will be
automatically stopped if
they are idle for this
long. Workstations are
considered idle if they
don't receive user
traffic (e.g. SSH or HTTP
traffic).
Create Configuration - Machine configuration Cont.
Shielded VM features
include trusted UEFI
firmware and come with
options for Secure Boot,
vTPM, and Integrity
Monitoring.
Create Configuration - Environment customization
Managed workstation
images with preinstalled
code editors
Create Configuration - Environment customization Cont.
Cluster creation can
take up to 20
minutes, but cluster
creation is only
needed once in most
cases.
Configurations
Specifies how long to wait before
automatically stopping a workstation since
it last received user traffic.
Workstations - Create workstation
Workstations - Start workstation
Click START to
enable workstation
Develop Code
Base editor overview
base editor is built on top of the Code-OSS open
source project, supports IDE extensions provided
with the Open VSX Registry
Base editor - Cloud Code integration
Cloud Code
Easier to create apps
in Google Cloud
$ gcloud beta workstations start-tcp-tunnel 
--project=gcp-10-mins 
--region=asia-east1 
--cluster=test-cluster 
--config=config-hugo 
--local-host-port=:22 
workstation-l9ldryce 22
$ ssh user@127.0.0.1 -p 22
SSH support
SSH support with Remote Development using SSH
ssh user@127.0.0.1 -p 22
Preconfigured IDEs
Preconfigured IDEs | Cloud Workstations | Google Cloud - https://cloud.google.com/workstations/docs/preconfigured-ides
Jetbrain Gateway Overview
Host the source and the
IDE remotely, run a
client locally to
● provide the user
experience
● All code analysis
happens remotely
● User interface is
local
● Local editor, remote
source
● No local IDE
necessary
Local
Jetbrain
Gateway
Jetbrain
Client
Remote
Getting Start
● Download JetBrain
Gateway
● Install the Cloud
Workstation Plugin
● Connect to Google
Cloud
● Select a Workstation
It’s not Remote Desktop
A development-focused experience
rather than a general purpose tool.
● Remote desktop solutions
require a full round trip for
every keypress
● Gateway is optimized for
software development, the
client makes development feel
native
● Licensing is easy: it's handled
on the client-side, so any user
with a current license can
immediately use JetBrains
software on Cloud Workstations
How to increase developer productivity with Cloud Workstations - YouTube - https://www.youtube.com/watch?v=C6Dpmujxp9Q
Setup and
Customize
Preconfigured base images Default
No IDE installed
JetBrains
Launch Code-oss in iPad Pro
JetBrain Goland via
JetBrain Gateway
Code-oss
Customize container images
Common Workstation Configuration Deeper customization via containers
$ docker build -t asia-east1-docker.pkg.dev/gcp-10-mins/devfest-2022/hugo-env:latest .
$ docker push asia-east1-docker.pkg.dev/gcp-10-mins/devfest-2022/hugo-env:latest
FROM us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest
# Download Hugo
RUN apt-get update && apt-get install -y ca-certificates openssl git curl && 
rm -rf /var/lib/apt/lists/ && 
case ${VERSION} in 
latest) 
export VERSION=$(curl -s https://api.github.com/repos/gohugoio/hugo/releases/latest | grep "tag_name" | awk '{pr
esac && 
echo ${VERSION} && 
wget -O ${VERSION}.tar.gz https://github.com/gohugoio/hugo/releases/download/v${VERSION}/${VARIANT}_${VERSION}_L
tar xf ${VERSION}.tar.gz && 
mv hugo /usr/bin/hugo
...
# Download Extension
RUN wget https://open-vsx.org/api/bungcip/better-toml/0.3.2/file/bungcip.better-toml-0.3.2.vsix && 
unzip bungcip.better-toml-0.3.2.vsix "extension/*" &&
mv extension /opt/code-oss/extensions/better-toml
Dockfile
Customize container images - Hugo env
gcloud alpha workstations start-tcp-tunnel --project=gcp-10-mins --cluster=test-cluster
--config=config-l9m86cup --region=asia-east1 workstation-l9m88m8f 1313 --local-host-port=:1313
Available machine types
*Fractional vCPU of 0.25, 0.5, or 1.0 with two vCPUs exposed to the guest operating system.
Demo
Resources
Cloud Workstations pricing
● Compute and Persistent Disk resources,
using the same rate you currently pay for
Compute Engine
● A workstation management fee of $0.05 /
vCPU hour (details)
● A control plane fee of $0.2 / hour
(details)
e2-standard-4 Cloud Workstation with 4 vCPU
and 16GB RAM, with a 100GB Persistent disk for
198 hours per month
● 198 Workstation hours per month at $0.32 per
hour equals $63 per month
● 100GB * $0.1 per GB = $10 per month (Persistent
disk)
● $10 + $63 = $73 per month
View Logs
protoPayload.serviceName="workstations.googleapis.com"
Known issues
Cloud Code for IntelliJ IDEA-based IDEs
The following features of the Cloud Code
for IntelliJ IDEA-based IDEs extension
are not available, due to limitations on
JetBrains Gateway:
● Debug on Kubernetes
● Debug a locally running Cloud Run
service
Quotas and limits
● Monitors your use or
consumption of Google
Cloud products and
services.
● Restricts your consumption
of those resources for
reasons including ensuring
fairness and reducing
spikes in usage.
● Maintains configurations
that automatically enforce
prescribed restrictions.
● Provides a means to make
or request changes to the
quota.
Limits per region per project
Limits for API requests
Quotas and limits
October 11, 2022
Cloud Workstations is now available in Preview. For more
information about using Cloud Workstations, see the
documentation.
Announcement
Q & A
Backup
Cloud Workstation Debug via GKE

More Related Content

Similar to DevFest 2022 - Cloud Workstation Introduction TaiChung

Phonegap android angualr material design
Phonegap android angualr material designPhonegap android angualr material design
Phonegap android angualr material designSrinadh Kanugala
 
Lean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and DrushLean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and DrushPantheon
 
ДМИТРО БУДИМ «Mobile Automation Infrastructure from scratch» Online QADay 202...
ДМИТРО БУДИМ «Mobile Automation Infrastructure from scratch» Online QADay 202...ДМИТРО БУДИМ «Mobile Automation Infrastructure from scratch» Online QADay 202...
ДМИТРО БУДИМ «Mobile Automation Infrastructure from scratch» Online QADay 202...GoQA
 
Serverless Computing with Google Cloud
Serverless Computing with Google CloudServerless Computing with Google Cloud
Serverless Computing with Google Cloudwesley chun
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014biicode
 
"Modern DevOps & Real Life Applications. 3.0.0-devops+20230318", Igor Fesenko
"Modern DevOps & Real Life Applications. 3.0.0-devops+20230318", Igor Fesenko "Modern DevOps & Real Life Applications. 3.0.0-devops+20230318", Igor Fesenko
"Modern DevOps & Real Life Applications. 3.0.0-devops+20230318", Igor Fesenko Fwdays
 
Azure serverless Full-Stack kickstart
Azure serverless Full-Stack kickstartAzure serverless Full-Stack kickstart
Azure serverless Full-Stack kickstartDavide Mauri
 
Docker Enterprise Workshop - Technical
Docker Enterprise Workshop - TechnicalDocker Enterprise Workshop - Technical
Docker Enterprise Workshop - TechnicalPatrick Chanezon
 
Docman - The swiss army knife for Drupal multisite docroot management and dep...
Docman - The swiss army knife for Drupal multisite docroot management and dep...Docman - The swiss army knife for Drupal multisite docroot management and dep...
Docman - The swiss army knife for Drupal multisite docroot management and dep...Aleksey Tkachenko
 
How to create your own hack environment
How to create your own hack environmentHow to create your own hack environment
How to create your own hack environmentSumedt Jitpukdebodin
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.skJuraj Hantak
 
Scaffolding for Serverless: lightning talk for AWS Arlington Meetup
Scaffolding for Serverless: lightning talk for AWS Arlington MeetupScaffolding for Serverless: lightning talk for AWS Arlington Meetup
Scaffolding for Serverless: lightning talk for AWS Arlington MeetupChris Shenton
 
Accessing Google Cloud APIs
Accessing Google Cloud APIsAccessing Google Cloud APIs
Accessing Google Cloud APIswesley chun
 
From airflow to google cloud composer
From airflow to google cloud composerFrom airflow to google cloud composer
From airflow to google cloud composerBruce Kuo
 
Lightweight Developer Provisioning with Gradle
Lightweight Developer Provisioning with GradleLightweight Developer Provisioning with Gradle
Lightweight Developer Provisioning with GradleQAware GmbH
 
Lightweight Developer Provisioning with Gradle and SEU-as-code
Lightweight Developer Provisioning with Gradle and SEU-as-codeLightweight Developer Provisioning with Gradle and SEU-as-code
Lightweight Developer Provisioning with Gradle and SEU-as-codeMario-Leander Reimer
 
HOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLDHOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLDAleksandr Maklakov
 

Similar to DevFest 2022 - Cloud Workstation Introduction TaiChung (20)

Kubernetes security
Kubernetes securityKubernetes security
Kubernetes security
 
Phonegap android angualr material design
Phonegap android angualr material designPhonegap android angualr material design
Phonegap android angualr material design
 
Lean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and DrushLean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and Drush
 
ДМИТРО БУДИМ «Mobile Automation Infrastructure from scratch» Online QADay 202...
ДМИТРО БУДИМ «Mobile Automation Infrastructure from scratch» Online QADay 202...ДМИТРО БУДИМ «Mobile Automation Infrastructure from scratch» Online QADay 202...
ДМИТРО БУДИМ «Mobile Automation Infrastructure from scratch» Online QADay 202...
 
Serverless Computing with Google Cloud
Serverless Computing with Google CloudServerless Computing with Google Cloud
Serverless Computing with Google Cloud
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
 
One-Man Ops
One-Man OpsOne-Man Ops
One-Man Ops
 
"Modern DevOps & Real Life Applications. 3.0.0-devops+20230318", Igor Fesenko
"Modern DevOps & Real Life Applications. 3.0.0-devops+20230318", Igor Fesenko "Modern DevOps & Real Life Applications. 3.0.0-devops+20230318", Igor Fesenko
"Modern DevOps & Real Life Applications. 3.0.0-devops+20230318", Igor Fesenko
 
Azure serverless Full-Stack kickstart
Azure serverless Full-Stack kickstartAzure serverless Full-Stack kickstart
Azure serverless Full-Stack kickstart
 
Docker Enterprise Workshop - Technical
Docker Enterprise Workshop - TechnicalDocker Enterprise Workshop - Technical
Docker Enterprise Workshop - Technical
 
Docman - The swiss army knife for Drupal multisite docroot management and dep...
Docman - The swiss army knife for Drupal multisite docroot management and dep...Docman - The swiss army knife for Drupal multisite docroot management and dep...
Docman - The swiss army knife for Drupal multisite docroot management and dep...
 
How to create your own hack environment
How to create your own hack environmentHow to create your own hack environment
How to create your own hack environment
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.sk
 
Scaffolding for Serverless: lightning talk for AWS Arlington Meetup
Scaffolding for Serverless: lightning talk for AWS Arlington MeetupScaffolding for Serverless: lightning talk for AWS Arlington Meetup
Scaffolding for Serverless: lightning talk for AWS Arlington Meetup
 
Accessing Google Cloud APIs
Accessing Google Cloud APIsAccessing Google Cloud APIs
Accessing Google Cloud APIs
 
From airflow to google cloud composer
From airflow to google cloud composerFrom airflow to google cloud composer
From airflow to google cloud composer
 
Lightweight Developer Provisioning with Gradle
Lightweight Developer Provisioning with GradleLightweight Developer Provisioning with Gradle
Lightweight Developer Provisioning with Gradle
 
Lightweight Developer Provisioning with Gradle and SEU-as-code
Lightweight Developer Provisioning with Gradle and SEU-as-codeLightweight Developer Provisioning with Gradle and SEU-as-code
Lightweight Developer Provisioning with Gradle and SEU-as-code
 
HOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLDHOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLD
 
How to manage Azure with open source
How to manage Azure with open sourceHow to manage Azure with open source
How to manage Azure with open source
 

More from KAI CHU CHUNG

Devfest 2023 - Service Weaver Introduction - Taipei.pdf
Devfest 2023 - Service Weaver Introduction - Taipei.pdfDevfest 2023 - Service Weaver Introduction - Taipei.pdf
Devfest 2023 - Service Weaver Introduction - Taipei.pdfKAI CHU CHUNG
 
DevFest 2022 - Skaffold 2 Deep Dive Taipei.pdf
DevFest 2022 - Skaffold 2 Deep Dive Taipei.pdfDevFest 2022 - Skaffold 2 Deep Dive Taipei.pdf
DevFest 2022 - Skaffold 2 Deep Dive Taipei.pdfKAI CHU CHUNG
 
Devfest 2021' - Artifact Registry Introduction (Taipei)
Devfest 2021' - Artifact Registry Introduction (Taipei)Devfest 2021' - Artifact Registry Introduction (Taipei)
Devfest 2021' - Artifact Registry Introduction (Taipei)KAI CHU CHUNG
 
Coscup x ruby conf tw 2021 google cloud buildpacks 剖析與實踐
Coscup x ruby conf tw 2021  google cloud buildpacks 剖析與實踐Coscup x ruby conf tw 2021  google cloud buildpacks 剖析與實踐
Coscup x ruby conf tw 2021 google cloud buildpacks 剖析與實踐KAI CHU CHUNG
 
Velero search & practice 20210609
Velero search & practice 20210609Velero search & practice 20210609
Velero search & practice 20210609KAI CHU CHUNG
 
Gdg cloud taipei ddt meetup #53 buildpack
Gdg cloud taipei ddt meetup #53 buildpackGdg cloud taipei ddt meetup #53 buildpack
Gdg cloud taipei ddt meetup #53 buildpackKAI CHU CHUNG
 
GDG Cloud Taipei: Meetup #52 - Istio Security: API Authorization
GDG Cloud Taipei: Meetup #52 - Istio Security: API AuthorizationGDG Cloud Taipei: Meetup #52 - Istio Security: API Authorization
GDG Cloud Taipei: Meetup #52 - Istio Security: API AuthorizationKAI CHU CHUNG
 
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰KAI CHU CHUNG
 
Dev fest 2020 taiwan how to debug microservices on kubernetes as a pros (ht...
Dev fest 2020 taiwan   how to debug microservices on kubernetes as a pros (ht...Dev fest 2020 taiwan   how to debug microservices on kubernetes as a pros (ht...
Dev fest 2020 taiwan how to debug microservices on kubernetes as a pros (ht...KAI CHU CHUNG
 
Google App Engine: Basic
Google App Engine: BasicGoogle App Engine: Basic
Google App Engine: BasicKAI CHU CHUNG
 
COSCUP 2020 Google 技術 x 公共參與 x 開源 口罩地圖技術開源
COSCUP 2020 Google 技術 x 公共參與 x 開源 口罩地圖技術開源COSCUP 2020 Google 技術 x 公共參與 x 開源 口罩地圖技術開源
COSCUP 2020 Google 技術 x 公共參與 x 開源 口罩地圖技術開源KAI CHU CHUNG
 
GDG Cloud Taipei meetup #50 - Build go kit microservices at kubernetes with ...
GDG Cloud Taipei meetup #50 - Build go kit microservices at kubernetes  with ...GDG Cloud Taipei meetup #50 - Build go kit microservices at kubernetes  with ...
GDG Cloud Taipei meetup #50 - Build go kit microservices at kubernetes with ...KAI CHU CHUNG
 
GDG Devfest 2019 - Build go kit microservices at kubernetes with ease
GDG Devfest 2019 - Build go kit microservices at kubernetes with easeGDG Devfest 2019 - Build go kit microservices at kubernetes with ease
GDG Devfest 2019 - Build go kit microservices at kubernetes with easeKAI CHU CHUNG
 
Global GDG Leaders Summit, Google I/O 2018 經驗分享
Global GDG Leaders Summit, Google I/O 2018 經驗分享Global GDG Leaders Summit, Google I/O 2018 經驗分享
Global GDG Leaders Summit, Google I/O 2018 經驗分享KAI CHU CHUNG
 
Google apps script introduction
Google apps script introductionGoogle apps script introduction
Google apps script introductionKAI CHU CHUNG
 
Screenshot as a service
Screenshot as a serviceScreenshot as a service
Screenshot as a serviceKAI CHU CHUNG
 
Nas 也可以揀土豆
Nas 也可以揀土豆Nas 也可以揀土豆
Nas 也可以揀土豆KAI CHU CHUNG
 
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開KAI CHU CHUNG
 
Django oscar introduction
Django oscar introductionDjango oscar introduction
Django oscar introductionKAI CHU CHUNG
 
Continuous Integration & Continuous Delivery with GCP
Continuous Integration & Continuous Delivery with GCPContinuous Integration & Continuous Delivery with GCP
Continuous Integration & Continuous Delivery with GCPKAI CHU CHUNG
 

More from KAI CHU CHUNG (20)

Devfest 2023 - Service Weaver Introduction - Taipei.pdf
Devfest 2023 - Service Weaver Introduction - Taipei.pdfDevfest 2023 - Service Weaver Introduction - Taipei.pdf
Devfest 2023 - Service Weaver Introduction - Taipei.pdf
 
DevFest 2022 - Skaffold 2 Deep Dive Taipei.pdf
DevFest 2022 - Skaffold 2 Deep Dive Taipei.pdfDevFest 2022 - Skaffold 2 Deep Dive Taipei.pdf
DevFest 2022 - Skaffold 2 Deep Dive Taipei.pdf
 
Devfest 2021' - Artifact Registry Introduction (Taipei)
Devfest 2021' - Artifact Registry Introduction (Taipei)Devfest 2021' - Artifact Registry Introduction (Taipei)
Devfest 2021' - Artifact Registry Introduction (Taipei)
 
Coscup x ruby conf tw 2021 google cloud buildpacks 剖析與實踐
Coscup x ruby conf tw 2021  google cloud buildpacks 剖析與實踐Coscup x ruby conf tw 2021  google cloud buildpacks 剖析與實踐
Coscup x ruby conf tw 2021 google cloud buildpacks 剖析與實踐
 
Velero search & practice 20210609
Velero search & practice 20210609Velero search & practice 20210609
Velero search & practice 20210609
 
Gdg cloud taipei ddt meetup #53 buildpack
Gdg cloud taipei ddt meetup #53 buildpackGdg cloud taipei ddt meetup #53 buildpack
Gdg cloud taipei ddt meetup #53 buildpack
 
GDG Cloud Taipei: Meetup #52 - Istio Security: API Authorization
GDG Cloud Taipei: Meetup #52 - Istio Security: API AuthorizationGDG Cloud Taipei: Meetup #52 - Istio Security: API Authorization
GDG Cloud Taipei: Meetup #52 - Istio Security: API Authorization
 
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
 
Dev fest 2020 taiwan how to debug microservices on kubernetes as a pros (ht...
Dev fest 2020 taiwan   how to debug microservices on kubernetes as a pros (ht...Dev fest 2020 taiwan   how to debug microservices on kubernetes as a pros (ht...
Dev fest 2020 taiwan how to debug microservices on kubernetes as a pros (ht...
 
Google App Engine: Basic
Google App Engine: BasicGoogle App Engine: Basic
Google App Engine: Basic
 
COSCUP 2020 Google 技術 x 公共參與 x 開源 口罩地圖技術開源
COSCUP 2020 Google 技術 x 公共參與 x 開源 口罩地圖技術開源COSCUP 2020 Google 技術 x 公共參與 x 開源 口罩地圖技術開源
COSCUP 2020 Google 技術 x 公共參與 x 開源 口罩地圖技術開源
 
GDG Cloud Taipei meetup #50 - Build go kit microservices at kubernetes with ...
GDG Cloud Taipei meetup #50 - Build go kit microservices at kubernetes  with ...GDG Cloud Taipei meetup #50 - Build go kit microservices at kubernetes  with ...
GDG Cloud Taipei meetup #50 - Build go kit microservices at kubernetes with ...
 
GDG Devfest 2019 - Build go kit microservices at kubernetes with ease
GDG Devfest 2019 - Build go kit microservices at kubernetes with easeGDG Devfest 2019 - Build go kit microservices at kubernetes with ease
GDG Devfest 2019 - Build go kit microservices at kubernetes with ease
 
Global GDG Leaders Summit, Google I/O 2018 經驗分享
Global GDG Leaders Summit, Google I/O 2018 經驗分享Global GDG Leaders Summit, Google I/O 2018 經驗分享
Global GDG Leaders Summit, Google I/O 2018 經驗分享
 
Google apps script introduction
Google apps script introductionGoogle apps script introduction
Google apps script introduction
 
Screenshot as a service
Screenshot as a serviceScreenshot as a service
Screenshot as a service
 
Nas 也可以揀土豆
Nas 也可以揀土豆Nas 也可以揀土豆
Nas 也可以揀土豆
 
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
 
Django oscar introduction
Django oscar introductionDjango oscar introduction
Django oscar introduction
 
Continuous Integration & Continuous Delivery with GCP
Continuous Integration & Continuous Delivery with GCPContinuous Integration & Continuous Delivery with GCP
Continuous Integration & Continuous Delivery with GCP
 

Recently uploaded

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 

Recently uploaded (20)

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 

DevFest 2022 - Cloud Workstation Introduction TaiChung

  • 1. Taipei KAI CHU CHUNG I/T Specialist, IBM Cloud Workstation Introduction PREVIEW
  • 2. Agenda 1. Cloud Workstation Overview 2. Demo 3. Q & A
  • 3. How to increase developer productivity with Cloud Workstations - YouTube - https://www.youtube.com/watch?v=C6Dpmujxp9Q IDEs and Development Tools Cloud Shell - 2016 ● Online pre-configured dev environment ● Terminal and basic code editor Cloud Code - 2019 ● Plugins for IntelliJ and VSCode ● Automation and Assistance in the IDE ● Support for GKE, Cloud Run, Cloud APIs and more Cloud Shell Editor - 2020 ● Updated IDE with source control, debugger and emulators ● Enable quick exploration of cloud services Cloud Workstations - 2022 ● Managed dev environments ● Fully-customized ● Security hardened
  • 4. Cloud Workstation Introduction ● On-demand environments accessible anywhere ● Fully customizable tool-chain (Extensions, Libraries, IDEs) ● Consistent environments across teams ● Test/Run code in your real environment ● Security policies ● Managed base images
  • 5. Cloud Workstation Overview workstation clusters Cloud Workstations overview | Google Cloud - https://cloud.google.com/workstations/docs/overview
  • 6. Cloud Workstation Architecture Cloud Workstations overview | Google Cloud - https://cloud.google.com/workstations/docs/architecture
  • 10. Create Configuration - Basic information When enabling this feature, a fixed number of workstations will be kept in a pre-started state. This will result in significantly faster workstation start times. These pre-started workstations are billed to the project as running workstations.
  • 11. Create cluster Asia Pacific Asis-east1 (Taiwan) Asis-southeast1(Singapore)
  • 12. Create Configuration - Machine configuration Machine type determines the technical capabilities of the VMs that the workstations created under this configuration will run on. Workstations will be automatically stopped if they are idle for this long. Workstations are considered idle if they don't receive user traffic (e.g. SSH or HTTP traffic).
  • 13. Create Configuration - Machine configuration Cont. Shielded VM features include trusted UEFI firmware and come with options for Secure Boot, vTPM, and Integrity Monitoring.
  • 14. Create Configuration - Environment customization Managed workstation images with preinstalled code editors
  • 15. Create Configuration - Environment customization Cont. Cluster creation can take up to 20 minutes, but cluster creation is only needed once in most cases.
  • 16. Configurations Specifies how long to wait before automatically stopping a workstation since it last received user traffic.
  • 17. Workstations - Create workstation
  • 18. Workstations - Start workstation Click START to enable workstation
  • 20. Base editor overview base editor is built on top of the Code-OSS open source project, supports IDE extensions provided with the Open VSX Registry
  • 21. Base editor - Cloud Code integration Cloud Code Easier to create apps in Google Cloud
  • 22. $ gcloud beta workstations start-tcp-tunnel --project=gcp-10-mins --region=asia-east1 --cluster=test-cluster --config=config-hugo --local-host-port=:22 workstation-l9ldryce 22 $ ssh user@127.0.0.1 -p 22 SSH support
  • 23. SSH support with Remote Development using SSH ssh user@127.0.0.1 -p 22
  • 24. Preconfigured IDEs Preconfigured IDEs | Cloud Workstations | Google Cloud - https://cloud.google.com/workstations/docs/preconfigured-ides
  • 25. Jetbrain Gateway Overview Host the source and the IDE remotely, run a client locally to ● provide the user experience ● All code analysis happens remotely ● User interface is local ● Local editor, remote source ● No local IDE necessary Local Jetbrain Gateway Jetbrain Client Remote
  • 26. Getting Start ● Download JetBrain Gateway ● Install the Cloud Workstation Plugin ● Connect to Google Cloud ● Select a Workstation
  • 27. It’s not Remote Desktop A development-focused experience rather than a general purpose tool. ● Remote desktop solutions require a full round trip for every keypress ● Gateway is optimized for software development, the client makes development feel native ● Licensing is easy: it's handled on the client-side, so any user with a current license can immediately use JetBrains software on Cloud Workstations How to increase developer productivity with Cloud Workstations - YouTube - https://www.youtube.com/watch?v=C6Dpmujxp9Q
  • 29. Preconfigured base images Default No IDE installed JetBrains
  • 30. Launch Code-oss in iPad Pro JetBrain Goland via JetBrain Gateway Code-oss
  • 31. Customize container images Common Workstation Configuration Deeper customization via containers $ docker build -t asia-east1-docker.pkg.dev/gcp-10-mins/devfest-2022/hugo-env:latest . $ docker push asia-east1-docker.pkg.dev/gcp-10-mins/devfest-2022/hugo-env:latest
  • 32. FROM us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest # Download Hugo RUN apt-get update && apt-get install -y ca-certificates openssl git curl && rm -rf /var/lib/apt/lists/ && case ${VERSION} in latest) export VERSION=$(curl -s https://api.github.com/repos/gohugoio/hugo/releases/latest | grep "tag_name" | awk '{pr esac && echo ${VERSION} && wget -O ${VERSION}.tar.gz https://github.com/gohugoio/hugo/releases/download/v${VERSION}/${VARIANT}_${VERSION}_L tar xf ${VERSION}.tar.gz && mv hugo /usr/bin/hugo ... # Download Extension RUN wget https://open-vsx.org/api/bungcip/better-toml/0.3.2/file/bungcip.better-toml-0.3.2.vsix && unzip bungcip.better-toml-0.3.2.vsix "extension/*" && mv extension /opt/code-oss/extensions/better-toml Dockfile
  • 33. Customize container images - Hugo env gcloud alpha workstations start-tcp-tunnel --project=gcp-10-mins --cluster=test-cluster --config=config-l9m86cup --region=asia-east1 workstation-l9m88m8f 1313 --local-host-port=:1313
  • 34. Available machine types *Fractional vCPU of 0.25, 0.5, or 1.0 with two vCPUs exposed to the guest operating system.
  • 35. Demo
  • 37. Cloud Workstations pricing ● Compute and Persistent Disk resources, using the same rate you currently pay for Compute Engine ● A workstation management fee of $0.05 / vCPU hour (details) ● A control plane fee of $0.2 / hour (details) e2-standard-4 Cloud Workstation with 4 vCPU and 16GB RAM, with a 100GB Persistent disk for 198 hours per month ● 198 Workstation hours per month at $0.32 per hour equals $63 per month ● 100GB * $0.1 per GB = $10 per month (Persistent disk) ● $10 + $63 = $73 per month
  • 39. Known issues Cloud Code for IntelliJ IDEA-based IDEs The following features of the Cloud Code for IntelliJ IDEA-based IDEs extension are not available, due to limitations on JetBrains Gateway: ● Debug on Kubernetes ● Debug a locally running Cloud Run service
  • 40. Quotas and limits ● Monitors your use or consumption of Google Cloud products and services. ● Restricts your consumption of those resources for reasons including ensuring fairness and reducing spikes in usage. ● Maintains configurations that automatically enforce prescribed restrictions. ● Provides a means to make or request changes to the quota. Limits per region per project Limits for API requests
  • 41. Quotas and limits October 11, 2022 Cloud Workstations is now available in Preview. For more information about using Cloud Workstations, see the documentation. Announcement
  • 42. Q & A