Developer tools are becoming more cloud powered. Spot is a VS Code extension that allows you to quickly create environments in the cloud with direct integration with Azure Container Instances (ACI), all through VS Code. With Spot, we introduce a new paradigm for instant cloud-connected developer environments. It provides an integrated terminal, file explorer and editor with terminal access via the browser.

Instant cloud environments in your favorite cross-platform IDE, VS Code.

spot_showcase

Highlights:

  • VS Code extension
  • In-browser access
  • Bring your own container
  • Persistent File storage
  • Secure access over HTTPS

The VS Code extension works across macOS, Windows and Linux providing the same consistent experience on your favorite OS. This is extended further by having terminal access directly in the browser. This allows you to continue to use your Spot when VS Code isn't available or you're not on your normal machine.

The versatility of Spot is realized with the support for container images on Docker Hub [1]. We plan to add support for other container registries in the future [2].

Using Azure Storage, you can persistent files in a Spot and access them through any of your other Spots. This enables you to terminate a Spot when you're done with it, create a new one when needed and get your files back.

An experimental feature available during the preview is secure access to Spots with HTTPS. We have integrated Spot and ACI with Let's Encrypt for seemless secure Spots. Specify one configuration value and your Spot will be created with a free, on-demand, SSL certificate that is trusted in all modern browsers [3].

Here are some examples of what is possible with Spot:

  • Ephemeral developer environments
    • When you want to quickly try something out
  • Quickstart experiences
    • Create a tensorflow Spot to get started with machine learning right away
  • Pull Requests
    • Create a spot to quickly try out the latest changes
  • Connect to machines more powerful than yours
    • Connect to a multi-GPU-enabled DSVM on Azure

We are confident that more use-cases will be created by the community and we look forward to seeing what you come up with.

Spot stands on the shoulders of giants. To allow you to do the same, the source code for Spot is available on GitHub. Submit feature requests, suggestions and pull requests to that repository. Feedback is also welcome on Twitter with the hashtag #vscodespot.

spot_screenshot2

spot_screenshot3

Try out Spot

Spot is straightforward to get started with. All you need is an Azure subscription and VS Code. Don't have an Azure subscription? Create your free Azure account today!

  1. Download
    Spot - VS Code Marketplace
  2. Log in to Azure
    Azure: Log In
  3. Choose a single subscription
    Azure: Select Subscriptions
  4. Create a spot
    Spot: Create
  5. Choose a name and container image
    note: name should be unique, e.g. myname-spot-1
    example images: python:3.6, openjdk:slim, golang:stretch

Spot utilizes Azure Container Instances. See Container Instances pricing for their pricing information. When done with a Spot, save any files in persistent storage and terminate the Spot with Spot: Terminate.


To learn more about Spot, look out for future blog posts on topics such as:

  • Spot on an Azure GPU-enabled DSVM
  • Machine learning on ACI using tensorflow/tensorflow
  • SSL on ACI with Let's Encrypt

  1. Alpine-based images are not currently supported - https://github.com/derekbekoe/vscode-spot/issues/34 ↩︎

  2. Support creation of Spots for ACR images - https://github.com/derekbekoe/vscode-spot/issues/35 ↩︎

  3. SSL support for Spots - https://github.com/derekbekoe/vscode-spot#configuration ↩︎