Development

Control Velocity Environments in Your JetBrains IDE

Jeff Vincent
Jeff Vincent
  
August 19, 2022

Now you can access Velocity functionality directly through your JetBrains IDE. Read this post to get all the details, and install the Velocity plugin from the JetBrains marketplace to get started.

Control Velocity Environments in Your JetBrains IDE

Velocity makes it possible to spin up any number of ephemeral, production-like development environments for containerized applications across both local and cloud-hosted compute resources simultaneously. This means that when you’re building a microservice-based application, Velocity allows you to develop and debug a single service locally, while the remainder of the application runs in a cloud-hosted Kubernetes cluster.

And now – with the release of our JetBrains IDE plugin – you can achieve this functionality directly through your JetBrains IDE. You just need to install the Velocity plugin from the JetBrains marketplace and have an account with Velocity to get started.

The Value of Velocity for Development

Setting up complex development environments is hard – even for experienced engineers. Keeping your development environment in sync with your production environment, so you can work on the “real thing” and make sure new features don’t conflict with code that’s recently been pushed to production, is extremely hard.

Velocity environments, once set up, make creating new dev environments and keeping them aligned with your production environments much more straightforward, because they are based on your production environment’s K8s resource definitions that have been augmented with some Velocity-specific items.

This means that your lead engineers won’t have to commit days on end to onboard new junior developers and set up their development environments. Rather, your team can create a blueprint for your dev environment that can be spun up time and again in your private K8s cluster with the click of a few buttons – thanks to our new IDE extension.  

And, with Velocity, dev environments are no longer “pets” – in the commonly used analogy – they become “cattle” that can be managed at scale, rather than having to be tended to directly in order to keep them healthy. If an environment fails for some reason, just throw it away and create a new one.

Features Available in the Velocity IDE Plugin

Just like with any Velocity interface, you can create environments, develop and debug specific services within your environment locally while the remainder of the application continues to run remotely, and see your changes reflected in the remote portion of the environment immediately.

Create a Velocity environment

To create a Velocity environment from your IDE, you just need to click the + sign highlighted below.

Screen: Create Velocity environment

When you do, you’ll be redirected to a Velocity dashboard view like the following. From there, you can create an environment that includes your targeted service along with any additional services that need to be running for a given service – a “development candidate” in Velocity speak – to run, rather than building an environment that includes all services within a given application by default, thus speeding up the creation of the environment, conserving your cloud resources, and reducing your overall development costs.

For example, if you need to work on the front-end of your application – and whatever functionality you’re working on requires a Redis instance and a MongoDB instance, but not services “X,” “Y,” and “Z,” your environment will only include the specific services your development candidate requires to work, which is possible because Velocity creates a dependency graph based on the Velocity blueprints of each application that runs in it.

Screen: Velocity blueprint

Access service details and logs

Even though your application is running in a remote K8s cluster, you have direct access to the various connection details and logs associated with each running service directly through the IDE. And the logs are even searchable via the "CTRL+F" (or "Command+F" on a Mac) shortcut.

Screen: Velocity environments
Screen: Velocity logs

Develop a service locally

Once your Velocity environment is up and running, you can start a locally-running connection manager that will allow you to “attach” to a given service, such that it will stop running in the remote environment and start running locally on your development machine while still maintaining its network connection to the remainder of the app, which will keep running in the remote K8s environment.

This means that you can work on any service you like without bogging down your local development machine with the massive load of a large number of services. You’ll also be able to easily collaborate with various stakeholders throughout the development process, because you’ll have sharable links to web interfaces associated with your app, so QA or product teams can interact with your app as soon as you’re ready without any extra steps. And as new developers join the team, get them started right away with the IDE plugin instead of wasting hours setting up environments on their local machines.

Screen: Start environment

Ready to Get Started?

Get the Velocity IDE plugin in the JetBrains Marketplace.