Solving Remote Development Challenges With CodeCanvas: A CDE Orchestration Tool by JetBrains
We’re excited to announce the public release of CodeCanvas, JetBrains’ new platform for orchestrating cloud development environments (CDEs). To better understand CodeCanvas and why it is important for JetBrains’ remote development strategy, let’s dive a bit into history and context.
Remote development trend
Many companies still rely on local development, a method that has several downsides, including onboarding difficulties, security risks, hardware limitations, and its inefficient use of developer time. All of this directly translates into higher costs for the business.
To address these issues, businesses have suggested using remote machines. Initially, this was supported through virtual desktop infrastructure (VDI) solutions, where only a “video stream” of the IDE from the remote machine was delivered to the local system. However, a major problem with this setup was the input lag when typing or moving the mouse.
Later, a new approach evolved – IDEs began supporting a split model. Heavy backend processes would run on a remote machine, while a local client would run only a lightweight UI that connects to the backend. This setup improved responsiveness and is what we now know as remote development. It first appeared in VS Code and later in JetBrains IDEs. This solution seemed to resolve the main issues: Code no longer needed to reside on local machines, and remote machines could scale as needed.
But, as the number of these remote machines grew, managing them became more complex. Either users had to be granted access to the cloud services to create machines themselves, or the IT department had to manage the machines for them. Additionally, the cost of running these machines was significant, and ensuring they were used efficiently became essential.
This gave rise to a new category of tools: cloud development environment (CDE) orchestrators. These platforms manage the lifecycle of CDEs, scale resources, and ensure cost efficiency.
CodeCanvas is JetBrains’ entry into this space that, in addition to general orchestration capabilities, offers many other valuable features.
Looking to the future, remote development and CDEs perfectly align with the growing trend of AI-assisted development. As autonomous AI developers emerge, they will require scalable dev environments to execute tasks. CDE orchestrators, like CodeCanvas, will let these AI systems create and manage their own environments through APIs.
CodeCanvas public release
CodeCanvas was initially launched silently in May 2024 so that we could gather early feedback from select clients. Now, it’s finally ready for public release. We’re starting with version 2024.2, which is already available to install.
Why CodeCanvas
The remote development orchestration market is still young, and existing solutions often have limitations. By working closely with our customers who need remote development, we’ve identified these pain points and are addressing them with CodeCanvas.
Our goal is to make working in a CDE feel no different than working in a local IDE, if not better. With CodeCanvas, developers no longer need to worry about cloning repositories, selecting the right IDE version, installing dependencies, starting services, first-time compilation, or indexing. In just 10–15 seconds, a fully prepared environment is ready, allowing developers to dive straight into coding.
In addition to core orchestration features, CodeCanvas offers:
- On-premises installation: CodeCanvas is an on-premises solution deployed in Kubernetes clusters, currently supporting AWS, Google Cloud, and Azure. You can find more details about the architecture in the CodeCanvas documentation.
- Advanced JetBrains IDE support: CodeCanvas provides first-class support for JetBrains IDEs, handling indexing, plugins, version management, and more. It supports most IntelliJ-based IDEs, including IntelliJ IDEA, PyCharm, Rider, and others.
- VS Code support: For those who prefer a different editor.
- Flexible dev environment configurations: CodeCanvas allows you to configure dev environments with as much CPU, memory, and storage as needed. The only limit is your cloud provider’s resources.
- GPU support: Developers can create dev environments with GPU support, enabling them to run GPU workloads like ML training.
- Automated preparation of CDEs: Use dev environment templates and lifecycle scripts to create pre-configured CDEs.
- Ready-to-work environments: The warm-up feature helps developers start working in a CDE with already-built indexes, downloaded dependencies, and pre-built projects. Using a standby pool of pre-created CDEs, you can reduce the time to start a new environment almost to zero.
- Security: Multiple authentication options, connection to dev environments via SSH, personalized environment settings, and a robust permission system.
- Ease of administration: A web-based UI allows administrators to manage users and their access to cluster resources, balance costs, and more.
How to get started
To try CodeCanvas or schedule a demo, contact our sales team. You can also check out our documentation to better understand how CodeCanvas works.