DevOps & SRE

Announcing Cloud Code—accelerating cloud-native application development

Cloud Code

As more enterprises move to Google Cloud, developers and operators need to evolve how they build and manage applications. Moving to the cloud isn’t just about getting rid of data centers—it’s also about going faster (without sacrificing reliability and security).

Today, we’re excited to introduce Cloud Code, a new set of plug-ins for IntelliJ and VS Code that brings automation and assistance to every phase of the software development lifecycle, using the tools you already have.

The central tool of software development is the Integrated Development Environment (IDE). IDEs like IntelliJ and Visual Studio Code help developers stay productive while editing, compiling, and debugging code, but they work best with local applications. That can lead to challenges when developing applications for the cloud, as the local and cloud environments differ, which can cause errors to be caught late in the development cycle.

Cloud Code for VS Code
Cloud Code for VS Code has the debugger attached to a running Kubernetes cluster.

With this first release of Cloud Code we have focused on making it easier to develop applications that run on Kubernetes, including Google Kubernetes Engine (GKE). Cloud Code extends VS Code and IntelliJ to bring all the power and convenience of IDEs to developing cloud-native Kubernetes applications. With Google’s command-line container tools like Skaffold, Jib and Kubectl under the hood, Cloud Code gives you continuous feedback on your project as you build it, extending the local edit-compile-debug loop to any local or remote Kubernetes environment. Support for deployment profiles lets you define different deployment targets, like local development, shared development, test, or production, so you can easily test and debug on your workstation or in the cloud.

Cloud Code for Intellij
Cloud Code for IntelliJ continuously deploying an application to Kubernetes via a Run Configuration. Deployments support profiles, and can be run locally or via Cloud Build. Log file streaming is supported, as seen in the output window.

Cloud Code also makes it easy to integrate Google APIs into your application. For instance, within IntelliJ we offer an integrated library manager that adds the required dependencies to your application, enables the API automatically for your project and manages any required secrets.

Cloud Code for  Intellig's library
Cloud Code for IntelliJ’s library manager makes it easy to find libraries, related samples and documentation and then integrate them with your existing code base.

To get an application up and running in Kubernetes there are a lot of concepts you need to understand. Cloud Code also helps you when you’re getting started, with an updated set of Kubernetes samples that come pre-configured for debugging, build and deployment. These let you focus on developing your app instead of on initial set-up and configuration.

We built Cloud Code to easily integrate with existing DevOps tools and services including Cloud Build and Stackdriver. For example, once your code is ready to deploy, simply do a pull request or commit, which triggers Cloud Build to automatically build, test, and deploy your application.

Ops is made easier too with Cloud Code. A core tenet of DevOps is to use “infrastructure as code” in which all environment configurations are managed as source code in a repo. This makes environments reproducible and helps find errors sooner. Cloud Code and Cloud Build make editing, reviewing, testing, and applying changes to a Kubernetes config easy and convenient. Cloud Code provides templates, linting and error highlighting for Kubernetes yaml files. Of course Cloud Code also supports logging, so you can view application logs from any environment directly in your IDE.

Cloud Code for VS Code
Cloud Code for VS Code leverages the full power of the IDE when working with configuration files—colorization, error checking, suggestions, snippets and more. Here you see a referenced secret from the live app running in GKE which was created 21 hours ago, the developer is ‘peeking’ the definition of the secret and ‘hovering’ over it decodes the Base64 encoded string.

Anevia, a leading OTT and IPTV software provider, uses Cloud Code to monitor their Kubernetes clusters right within their IDE of choice.

"With Cloud Code and its integrated cluster explorer, I have a quick overview of what is running on my different Kubernetes clusters, what works well and what needs to be fixed. The logs and status of all the objects are accessible with a single click. No need to access my terminal anymore." - Phillippe Martin, Anevia, Software Engineer

With Cloud Code, we want to make it easy to create applications for the cloud from the comfort of your favorite development tools. Get started developing for the cloud with Cloud Code today.