
When building a laboratory with Google Cloud, you don’t need to give up the integrated development environment (IDE) you are familiar with—quite the opposite. Google offers extra open source tools to enhance your IDE and options for where your IDE runs.
Cloud Code
Cloud Code is a set of plugins for popular IDEs that makes it easier to develop applications for Google Cloud. It is a great building block for your laboratory and for getting that fast feedback during local development.
Cloud Code provides and manages Google Cloud SDK, Skaffold, Minikube, and kubectl. It also gives tools that help provide a smooth path from the laboratory to the factory and then help with debugging deployed applications.
Desktop IDE with Cloud Code
Cloud Code provides a plugin for many desktop IDEs:
Cloud Shell Editor
Cloud Code is also a Web IDE running entirely in a browser. The Cloud Shell Editor is based on Eclipse Theia with a user interface based on VSCode.
It is available anywhere you have a browser through the Google Cloud console. Although it is possible to use this as your primary IDE, I find it most handy for making quick changes.
Cloud Workstations
The newest option at the time of writing is Cloud Workstations, and for me, this is the best of both worlds: a thin client application that behaves like a desktop IDE, but the backend runs in Google Cloud on a virtual machine. This means you can have anything from a modest to a mighty machine backing your IDE on Google Cloud and still use it as if it were a desktop IDE.
However, the real benefit of both the Cloud Shell Editor and Cloud Workstations is that you are working on Google Cloud and using the Cloud’s ultrafast network. Operations that may be slow when working with a desktop IDE, like uploading a container to a container registry or accessing a Google Cloud service, are superfast, making for a great developer experience with a fast inner loop.
Tip
In commercial environments, code exfiltration is a concern. This is where developers with source code on their laptops can accidentally or maliciously share it with someone they shouldn’t. If this code is the company’s IP from which they make their money, this can be a big problem. Using Cloud Shell Editor or Cloud Workstations rather than a traditional IDE means source code never leaves Google Cloud, removing that risk and reducing the headache of controlling source code.
Comparison of Cloud Code–Enabled IDEs
Table 10-1 summarized the difference between the IDE options.
Table 10-1. A Comparison of Cloud Code–enabled IDEs IDE | Cost | Offline | Speed | Developer experience | Security |
Desktop IDE | Low | Yes | Low | High | Low |
Cloud Shell Editor | Low | No | High | Medium | High |
Cloud Workstations | Medium | No | High | High | High |