If you were paying close attention during Google Cloud Next 2019 yesterday, you may have heard talk of Cloud Code. The new developer tool was only mentioned briefly, but today Google offered more details. Cloud Code extends two Integrated Development Environments (IDEs), IntelliJ and Visual Studio Code, to cloud-native Kubernetes applications.
Google’s message here is that moving to the cloud isn’t just about data. It can also be about code, and the developers who write it. IDEs are designed for editing, compiling, and debugging code for local applications. Google wants to adapt them to developing applications for the cloud.
“Customers are looking to get more agile with cloud, in addition to, of course, saving money,” GCP’s head of developer products Pali Bhat noted. “There’s been a surge of interest in building cloud-native applications. Most of these cloud-native applications are built on top of Kubernetes. Unfortunately though, developers who are building all these applications are using IDEs. And these traditional IDEs, like IntelliJ and Visual Studio Code, work best for local applications and local code environments. Unfortunately, what that means is that errors, when you’re building cloud-native applications, are caught too late in the cycle, wasting valuable time.”
Cloud Code extensions
The first release of Cloud Code comprises IntelliJ and Visual Studio Code plugins that help developers build, debug, and deploy applications that run on Kubernetes, including Google Kubernetes Engine (GKE). Both plugins support Java, Node.js, Go, Python, and .NET Core.
Cloud Code uses Google’s command-line container tools (Skaffold, Jib, and Kubectl) to give you continuous feedback on your project as you build it. Deployment profiles let you define different deployment targets, like local development, shared development, test, or production.
Cloud Code even helps you integrate Google APIs into your application. The IntelliJ plugin adds required library dependencies to your application, enables the API automatically for your project, and manages any required secrets. To skip the initial set-up and configuration, Cloud Code also includes an updated set of Kubernetes samples, pre-configured for debugging, build, and deployment.
“What this lets developers do is focus on code,” Bhat explained. “You don’t have to worry about YAML files. You don’t have to worry about configurations. We take care of all that, and let you focus on the core for your application.”
Furthermore, Cloud Code integrates with existing DevOps tools and services like Cloud Build and Stackdriver. If you make a pull request or commit, Cloud Build automatically builds, tests, and deploys your application. Cloud Code also provides templates, linting, and error highlighting for Kubernetes YAML files. Finally, it supports logging, so you can view application logs from any environment directly in your IDE.